How almadadali/scoutx works
ScoutX is an async reconnaissance framework for security researchers. A user starts a scan through the CLI or Python API; the scan engine coordinates plugin execution, persists scan state, and can notify configured channels. Results support reporting and scan comparison, while a separate attack-chain engine turns reconnaissance data into scored exploitation playbooks. The README also documents methodology-driven scanning, AI analysis, stealth, cloud and API discovery, and tool management. Some of these modules were not sampled, so their connections are shown only where documented or omitted when uncertain.
Main entry points: engine.py Scan Engine · manager.py Plugin Manager · app.py CLI · api.py Python API
Components 23
User Entry
- CLI
scoutx/cli/app.py - Python API
scoutx/api.py
Scan Orchestration
- Configuration
scoutx/core/config.py - Scope Control
scoutx/core/scope.py - Scan Engine
scoutx/core/engine.py - Event Bus
scoutx/core/events.py - Methodology
scoutx/methodology/runner.py
Reconnaissance
- Plugin Manager
scoutx/plugins/manager.py - Plugin Interface
scoutx/plugins/base.py - Recon Plugins
scoutx/plugins/builtin - Stealth Controls
scoutx/stealth - Tool Registry
scoutx/tools/registry.py
Analysis
- Attack Chains
scoutx/chains/engine.py - Vulnerability Checklist
scoutx/chains/checklist.py - Chain Patterns
scoutx/chains/patterns.py - AI Providers
scoutx/ai/client.py
Results and Integrations
- Scan Repository
scoutx/database/repository.py - Report Aggregator
scoutx/reporting/aggregator.py - HTML Report
scoutx/reporting/html.py - Scan Diff
scoutx/reporting/diff.py - Notifications
scoutx/notifications/engine.py - Alert Channels
scoutx/notifications/webhook.py
Other components
- Researcher
Connections 23
- Researcher → CLI: runs commands
README.md - Researcher → Python API: calls API
README.md - CLI → Scan Engine: starts scan
- Python API → Scope Control: creates scope
scoutx/api.py - Python API → Plugin Manager: discovers plugins
scoutx/api.py - Python API → Scan Engine: runs scan
scoutx/api.py - Scan Engine → Scan Repository: persists scan
scoutx/core/engine.py - Scan Engine → Event Bus: emits events
scoutx/core/engine.py - Scan Engine → Notifications: dispatches alerts
scoutx/core/engine.py - Plugin Manager → Plugin Interface: registers plugins
scoutx/plugins/manager.py - Scan Engine → Plugin Manager: runs plugins
- Plugin Manager → Recon Plugins: loads built-ins
scoutx/plugins/manager.py - Scan Engine → Methodology: follows phases
- Scan Engine → Stealth Controls: uses controls
- Plugin Manager → Tool Registry: uses tools
- Attack Chains → Vulnerability Checklist: maps findings
scoutx/chains/engine.py - Attack Chains → Chain Patterns: correlates patterns
scoutx/chains/engine.py - Attack Chains → Scan Engine: uses scan data
scoutx/chains/engine.py - Scan Engine → AI Providers: AI analysis
- CLI → Report Aggregator: generates reports
- Report Aggregator → HTML Report: renders HTML
scoutx/reporting/html.py - CLI → Scan Diff: compares scans
- Notifications → Alert Channels: sends alerts
scoutx/notifications/engine.py