Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

entra-orchestrator

🚧 Under Active Development

Core correlation works. HTML reporting and live scan orchestration are in progress.

Cross-tool correlation for the Entra ID security suite. Reads findings from three independent scanners and surfaces risks that no single tool can see on its own.

Why

Each scanner in the suite sees one dimension of tenant risk:

Run separately, each produces its own report. None of them answers the question that actually matters: is a dangerous app controlled by a compromisable identity?

The orchestrator answers it by joining findings across tools.

How

All three scanners write findings in a shared schema (entra-security-report) to a common store. The orchestrator reads that store and runs two correlations:

Ownership join — for every over-privileged application, resolve its owners and check whether any owner is a user the attack-path scanner flags as having a privilege escalation path. Where they match, the dangerous app is owned by a compromisable identity: a real attack chain that neither tool reports alone.

Over-privileged and unowned — over-privileged applications with no owner at all. No accountable party, harder to govern, and a standing escalation target. The workload scanner flags the privilege and the missing owner separately; the orchestrator surfaces the dangerous combination.

Example output

The report renders each correlation as a visual chain — the dangerous app, its risky owner, and the owner's escalation path shown as steps — so the relationship is obvious at a glance.

Orchestrator correlation report

Setup

The orchestrator depends on the shared entra_security_report library, a local sibling repo rather than a PyPI package.

git clone https://github.com/Dfrank77/entra-security-report.git
git clone https://github.com/Dfrank77/entra-orchestrator.git
cd entra-orchestrator
python3 -m venv venv && source venv/bin/activate
pip install -e ../entra-security-report

On Python 3.14, if the editable install is skipped (a known setuptools .pth issue), point the venv at the source directly instead:

export PYTHONPATH="/absolute/path/to/entra-security-report/src:$PYTHONPATH"

Usage

  1. Point every tool at one shared findings store:

    export ENTRA_FINDINGS_DIR="$HOME/.entra-findings"
    
  2. Run each of the three scanners (with that variable set) so their findings land in the shared store.

  3. Run the correlation and open the report:

    python correlate.py
    open orchestrator_report.html
    

Roadmap

  • Live orchestration: run all three scanners and correlate from a single command.
  • Remediation guidance per finding.
  • Additional correlation types (expiring-credential + over-privileged, PIM-eligible ownership).

About

Cross-tool correlation engine for the Entra ID security suite — joins findings across three scanners to surface risks no single tool detects.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages