reconx is a comprehensive, CLI-driven penetration testing framework that automates the full reconnaissance-to-exploitation pipeline with intelligent false-positive filtering.
- 6-Phase Pipeline: Complete workflow from subdomain discovery to targeted exploitation
- Intelligent FP Filter: Confidence-based scoring engine reduces noise by 60-80%
- Async Architecture: High-performance concurrent execution with rate limiting
- Config-Driven: Target and scope defined in config β no CLI flags needed
- Resume Support: Re-run skips completed phases (unless
--force) - Manual Review TUI: Interactive terminal UI for uncertain findings
- Multi-Format Reports: JSON, HTML, and Markdown output
Phase 1: Discovery β subfinder, amass, assetfinder, crt.sh, chaos
β
Phase 2: Probing β httpx, masscan, nmap, wafw00f
β
Phase 3: Crawling β katana, gospider, waybackurls, linkfinder
β
Phase 4: Enumeration β ffuf, feroxbuster, paramspider, arjun, gf
β
Phase 5: Scanning β nuclei, secretfinder, trufflehog, nikto
β
FP Filter β Scoring engine routes findings
β
Phase 6: Exploitation β sqlmap, dalfox, jwt-tool
# Clone the repository
git clone https://github.com/maskface02/reconx.git
cd reconx
# Install Python dependencies
pip3 install -r requirements.txt --break-system-packages
# Install external security tools
sudo bash setup_tools.sh# Create configuration template
python3 main.py init
# Edit config.yaml with your target and API keys
vim config.yaml
# Run full pipeline β reads target from config.yaml
python3 main.py run# Full pipeline (reads target from config.yaml)
python3 main.py run
# Specific phase only
python3 main.py run --phase 1
# Resume from a specific phase
python3 main.py run --from-phase 3
# Force re-run (skip cached phases)
python3 main.py run --force
# Use alternate config
python3 main.py run --config apple-config.yamlpython3 main.py reviewpython3 main.py report --format html --output report.html# Show status for config's target
python3 main.py status
python3 main.py clearconfig.yaml (all settings read from file β no CLI target override):
target: example.comscope: [] # Accept all (or specify ["*.example.com"])exclude: []rate_limit: 50threads: 20# Tool paths (leave empty to use PATH)tools: {}# Optional API keyschaos_api_key: ""github_token: ""interactsh_server: ""Note: The framework uses a 300-second default timeout for tool execution. Slow tools like amass get dedicated runners with extended timeouts (180s). This is managed internally β no config needed.
workspaces/
βββ example.com/
βββ phase1_output.json # Discovered subdomains
βββ phase2_output.json # HTTP probes with tech stack
βββ phase3_output.json # Crawled URLs
βββ phase4_output.json # Discovered parameters
βββ phase5_output.json # Raw findings
βββ confirmed_findings.json # High-confidence findings
βββ review_queue.json # Medium-confidence (manual review)
βββ dropped_findings.json # Low-confidence (filtered)
βββ exploit_results.json # Exploitation results
βββ raw/ # Tool raw outputs
βββ logs/ # Execution logs
βββ exploits/ # Exploitation artifacts
Intelligent scoring system:
- Positive signals: Response diff (+30), nuclei matcher (+25), CVE match (+20)
- Negative signals: WAF detected (-15), timing-only (-20), generic template (-10)
- Routing: β₯50=auto-confirm, 20-49=manual review, <20=drop
25+ security tools integrated:
- Discovery: subfinder, amass (passive + active), assetfinder, dnsx, crt.sh, chaos API
- Probing: httpx, masscan, nmap, wafw00f
- Crawling: katana, gospider, hakrawler, waybackurls, gau, linkfinder
- Enumeration: ffuf, feroxbuster, paramspider, arjun, x8, gf
- Scanning: nuclei, secretfinder, trufflehog, nikto
- Exploitation: sqlmap, ghauri, dalfox, xsstrike, jwt-tool
- Configuration Guide - Setup and configuration
- Tools Reference - All tools, commands, and flags
- FP Filter Logic - False positive filtering explained
- Setup Guide - Tool installation
- Architecture - System design and data flow
For authorized security testing only. Always obtain proper authorization before testing any system you do not own.
Made with β€οΈ for the security community
Automate the boring, focus on the critical