How camilocod3/activerecon works
ActiveRecon is an authorized-reconnaissance CLI. Its primary workflow parses and scope-checks a target, runs a configured Nmap scan, analyzes discovered web services and DNS, derives follow-up signals, and writes Markdown/JSON reports. Separate CLI branches manage target inventories and passive subdomain discovery without scanning. The runner and inventory/discovery command excerpts establish the main orchestration; some README-documented capabilities are represented at their documented module paths where implementation excerpts were not provided.
Main entry points: runner.py Recon runner · cli.py CLI router · discover_command.py Discovery command · targets_command.py Inventory command
Components 27
CLI entry
- Module entry
activerecon/main.py - CLI router
activerecon/cli.py - Scope command
activerecon/commands/scope_command.py - Inventory command
activerecon/commands/targets_command.py - Discovery command
activerecon/commands/discover_command.py
Recon workflow
- Recon runner
activerecon/runner.py - Target parser
activerecon/targets/parser.py - Scope policy
activerecon/policies/scope_policy.py - Workflow rules
activerecon/workflows.py - Port scanning
activerecon/modules/nmap_scan.py - HTTP analysis
activerecon/modules/http_enum.py - TLS analysis
activerecon/modules/tls_analysis.py - Endpoint discovery
activerecon/modules/endpoint_discovery.py - DNS analysis
activerecon/modules/dns_analysis.py - Signal analysis
activerecon/modules/risk_analysis.py - Scan configuration
activerecon/modules/config_loader.py
Target management
- Inventory operations
activerecon/targets/target_inventory.py - Target importer
activerecon/targets/target_loader.py - Inventory diff
activerecon/targets/target_diff.py
Passive discovery
- Subfinder provider
activerecon/discovery/subfinder_provider.py
Results and reports
- Markdown report
activerecon/modules/report_generator.py - JSON report
activerecon/modules/json_report.py - Output paths
activerecon/output_paths.py
Other components
- Operator
- Assessed host
- Nmap executable
- subfinder
Connections 36
- Operator → Module entry: runs command
- Module entry → CLI router: starts CLI
- CLI router → Recon runner: starts recon
- CLI router → Scope command: dispatches
- CLI router → Inventory command: dispatches
- CLI router → Discovery command: dispatches
- Recon runner → Scan configuration: loads settings
- Recon runner → Target parser: parses target
- Recon runner → Scope policy: checks scope
- Recon runner → Output paths: plans reports
- Recon runner → Workflow rules: selects web work
- Recon runner → Port scanning: runs scan
- Port scanning → Nmap executable: invokes
- Port scanning → Assessed host: scans
- Recon runner → HTTP analysis: analyzes ports
- HTTP analysis → Assessed host: requests services
- Recon runner → TLS analysis: analyzes HTTP results
- TLS analysis → Assessed host: checks certificates
- Recon runner → Endpoint discovery: discovers endpoints
- Endpoint discovery → Assessed host: probes web paths
- Recon runner → DNS analysis: looks up records
- DNS analysis → Assessed host: queries DNS
- Recon runner → Signal analysis: derives signals
- Recon runner → Markdown report: writes results
- Recon runner → JSON report: writes results
- Inventory command → Target importer: loads targets
- Inventory command → Inventory operations: builds or exports
- Inventory command → Inventory diff: compares inventories
- Target importer → Target parser: normalizes via
- Inventory operations → Target parser: normalizes targets
- Discovery command → Scan configuration: loads settings
- Discovery command → Subfinder provider: requests discovery
- Subfinder provider → subfinder: invokes
- Discovery command → Scope policy: checks discovered hosts
- Discovery command → Inventory operations: saves inventory
- Scope command → Scope policy: evaluates target