How seraphimhub/aegisrecon works
AegisRecon is a safe-by-default reconnaissance and crawling framework. Its primary workflow starts at the CLI: settings configure a scan or crawl, the engine validates scope and orchestrates discovery, and results are serialized to reports. Separate CLI commands provide screenshots, path discovery, API mapping, and JavaScript analysis. The README also documents plugin support and multiple report formats. The tree and sampled source establish the main scan and crawl calls; some subsystem wiring is documented but not shown in source excerpts.
Main entry points: main.py Command interface · engine.py Recon engine · crawler.py Async crawler · results.py Scan results
Components 24
CLI and orchestration
- Command interface
aegis/cli/main.py - Settings
aegis/config/settings.py - Recon engine
aegis/core/engine.py
Asset reconnaissance
- Subdomain enumeration
aegis/recon/subdomains.py - DNS resolution
aegis/recon/dns.py - HTTP probing
aegis/recon/http_probe.py
Web crawling
- Scope controls
aegis/crawler/scope.py - Async crawler
aegis/crawler/crawler.py - Queue and scheduling
aegis/core/queue.py - Robots and sitemap
aegis/crawler/robots.py - Page parsing
aegis/crawler/parser.py - Page extraction
aegis/crawler/extractor.py
Analysis and browser
- Recon analyzers
aegis/analyzers - JavaScript analysis
aegis/analyzers/javascript.py - Browser rendering
aegis/browser/rendering.py - Screenshot capture
aegis/browser/screenshot.py
Results and extensions
- Scan results
aegis/models/results.py - Report exporters
aegis/exporters - Scan repository
aegis/storage/repository.py - SQL database
aegis/storage/database.py - Plugin registry
aegis/plugins/loader.py
Other components
- Assessment user
- Public recon sources
- Report files
Connections 25
- Assessment user → Command interface: runs commands
- Command interface → Settings: loads configuration
- Command interface → Recon engine: starts scan or crawl
- Recon engine → Scope controls: validates target
- Recon engine → Subdomain enumeration: enumerates assets
- Subdomain enumeration → Public recon sources: queries sources
- Recon engine → DNS resolution: resolves assets
- Recon engine → HTTP probing: probes assets
- Recon engine → Async crawler: starts crawl
- Async crawler → Queue and scheduling: uses queue strategy
- Async crawler → Robots and sitemap: checks crawl rules
- Async crawler → Page parsing: parses responses
- Page parsing → Page extraction: extracts page data
- Command interface → HTTP probing: probes discovery paths
- Command interface → Recon analyzers: maps API routes
- Command interface → JavaScript analysis: analyzes script
- Command interface → Screenshot capture: captures screenshots
- Screenshot capture → Browser rendering: renders pages
- Recon engine → Scan results: populates results
- Command interface → Scan results: validates report input
- Command interface → Report exporters: selects report formats
- Report exporters → Report files: writes reports
- Scan results → Scan repository: provides scan data
- Scan repository → SQL database: persists records
- Plugin registry → Scan results: can extend results