An automated bug-bounty workflow engine implemented in Python, designed for Linux-based environments. This tool automates five critical phases of security research and vulnerability discovery.
The engine is divided into 5 distinct phases:
- Tools:
subfinder,httpx,waybackurls,gau,amass(deep scan). - Features: Concurrent domain discovery, liveness probing, deduplication, and automatic pipe to subsequent phases.
- Output:
output/live_hosts.txtand domain-specific JSON/TXT files.
- Features: Automated cross-user matrix testing using multiple sessions from
config/sessions.yaml. - Detection: Signal-based detection (Status Code, Body Hash, Content-Length) for IDOR and Auth bypass.
- Output:
output/findings.json(Unified Schema).
- Features: Integration with
interact.shand optional local listener (--local). - Payloads: Automatic injection into Headers, URL Params, and JSON bodies.
- Monitoring: Real-time polling for OOB interactions.
- GraphQL: Introspection auditing and field guessing (clairvoyance-style).
- REST: OpenAPI/Swagger parsing and active endpoint discovery/fuzzing.
- Vulnerabilities: Unauth access, method overrides, mass assignment.
- Techniques: Single-packet race conditions, H2.CL and H2.TE desync probes.
- Performance: Async execution using
httpxwith HTTP/2 support.
- Python 3.8+
- Go (latest version recommended)
- Linux-based environment
- Clone the repository.
- Run the setup script to install Go tools and Python dependencies:
chmod +x setup.sh ./setup.sh
- Configure your sessions in
config/sessions.yaml.
python3 main.py --all -d example.compython3 main.py --phase 1 -d example.com
python3 main.py --phase 2 --config config/sessions.yaml
python3 main.py --phase 5 -u https://api.example.com--deep: Enable deep discovery in Phase 1 (invokesamass).--dry-run: Print actions without sending requests.--poll-interval <seconds>: Set OOB polling interval (default: 10).
bug-bounty-agent/
├── setup.sh
├── requirements.txt
├── config/
│ └── sessions.yaml
├── core/
│ ├── phase1_discovery.py
│ ├── phase2_authz.py
│ ├── phase3_oob.py
│ ├── phase4_schema.py
│ └── phase5_http2.py
├── utils/
│ ├── logger.py
│ ├── output.py
│ └── wordlists/
└── main.py