Skip to main content

🎯 bounthunt — Bug Bounty Recon & Orchestration

Python License: MIT CI Stars Issues PRs

Scope-aware recon orchestration for bug bounty programs.


🚀 Demo

$ bounthunt monitor scope.yaml

🔄 Starting monitoring loop...
[INFO] Checking scope.yaml...
[INFO] Scan completed. 12 new hosts discovered.
[INFO] 2 new endpoints found on example.com
[INFO] 1 new vulnerability found via nuclei
[SUCCESS] Sending notification to Telegram...

$ bounthunt report --format html

📊 Generating diff report...
✅ Report saved to reports/diff_2026_07_12.html

❓ Why bounthunt?

Question Manual approach With bounthunt
What changed since last week? diff two terminal buffers bounthunt monitor
Did I scan out of scope? "Hope you checked" Scope guard blocks it
Where is my scan data? Scattered text files SQLite with full history
Can I share findings? Paste terminal output Professional HTML/MD reports

✨ Features

  • Scope Guard — YAML allow/deny list prevents accidental out-of-scope scanning
  • Diff Monitoring — Tracks new hosts, ports, findings, endpoints across scan runs
  • SQLite Persistence — Every scan stored with timestamps, queryable and auditable
  • Professional Reports — HTML/Markdown via Jinja2 with diff sections
  • Smart Notifications — Telegram and Discord webhook alerts on changes
  • Dockerized Workflow — Multi-stage Docker build, docker compose up -d for 24/7 scans

🛠️ Tech Stack

  • Language: Python 3.11+
  • CLI: Typer
  • Terminal output: Rich
  • HTTP client: HTTPX
  • DB & Storage: SQLite
  • Templates: Jinja2
  • Config: PyYAML
  • Orchestration: subfinder · dnsx · httpx · naabu · nuclei · katana
  • Reports: HTML/Markdown via Jinja2 with diff sections
  • Notifications: Telegram / Discord webhooks
  • Deployment: Docker

🏗️ Architecture

graph TD
    S[Scope YAML] --> G{Scope Guard}
    G -->|allow| SF[subfinder]
    SF --> DX[dnsx]
    DX --> HX[httpx]
    HX --> NB[naabu]
    NB --> NC[nuclei]
    NC --> KT[katana]
    KT --> SC[secrets]
    SC --> DB[(SQLite)]
    DB --> DIFF[Diff Engine]
    DIFF --> RPT[Report]
    DIFF --> NOT[Notifications]
    NOT --> TG[Telegram]
    NOT --> DC[Discord]
    G -->|deny| X[❌ Blocked]

⚡ Quick Start

Prerequisites

  • Python 3.11+
  • Docker (recommended) or Go tools installed locally

Using Docker (Recommended)

docker compose build
docker compose run --rm bounthunt scan /data/scope.yaml --all
docker compose up -d

Using Source

git clone https://github.com/bess1lie/bounthunt.git
cd bounthunt
pip install .
bounthunt init scope.yaml
bounthunt scan scope.yaml --all

🗺️ Roadmap

Feature Status
Core Recon Pipeline
Scope Guard & Diff Engine
SQLite Persistence
Docker Deployment
Real-time Web Dashboard 🚧 In Progress
Custom Notification Templates 🔮 Planned

🤝 Contributing

Contributions welcome! See CONTRIBUTING.md.

📄 License

MIT — see LICENSE.


🔍 apihunter · 🚀 gqlhunter · 🌍 bess1lie.github.io

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bounthunt-1.1.0.tar.gz (139.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bounthunt-1.1.0-py3-none-any.whl (35.3 kB view details)

Uploaded Python 3

File details

Details for the file bounthunt-1.1.0.tar.gz.

File metadata

  • Download URL: bounthunt-1.1.0.tar.gz
  • Upload date:
  • Size: 139.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for bounthunt-1.1.0.tar.gz
Algorithm Hash digest
SHA256 c19ba8aef89d32545f9c02e296d8507b572717d703690a28c93a7461b1b63bef
MD5 b6d0ba926670a019acfea4e807c9ec9e
BLAKE2b-256 a5d26d0d19e8c5441b538213a03c348a510179688240353be92d10eb87d21081

See more details on using hashes here.

File details

Details for the file bounthunt-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: bounthunt-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 35.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for bounthunt-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bc50223b767b346ed3fbd5494779e3f55bbdf72335c09e0d25c0b5aa1c8e422a
MD5 f0c454b5d4c723ce55ea4475bb1d9628
BLAKE2b-256 d4374466ffbc16797fa8f6678ab000dc78b80e98f91538399e6b46827af84841

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page