Kousiksamanta1/Bug-Hunter-Pro
GitHub: Kousiksamanta1/Bug-Hunter-Pro
一款基于 Flask 的授权优先漏洞评估仪表板,整合 Web/网络/API 扫描、侦察、定期监控与报告生成,服务于安全研究与漏洞赏金工作流。
Stars: 0 | Forks: 0
# Bug Hunter Pro




Bug Hunter Pro 是一款授权优先的漏洞评估仪表板,适用于 Web、网络和 API 测试。它在一个本地 Flask 应用中整合了并行扫描器、侦察辅助工具、实时扫描进度、发现结果分类、定期监控、告警以及 PDF/HTML 报告生成功能。
## 截图


## 功能
- Web 检查涵盖 headers、TLS、点击劫持、反射型 XSS、SQL 错误信号、CORS、敏感文件、管理路径以及 `robots.txt`。
- 网络检查涵盖常见端口、Nmap 服务发现、NVD CVE 富化、弱 SSH/TLS 算法、DNS 记录、AXFR 暴露、WAF 特征以及受限的默认凭据探测。
- API 检查涵盖已发现的 endpoint、缺失的身份验证、速率限制行为、可预测的 ID、JWT 问题和敏感数据模式。
- 侦察模块涵盖子域名、JavaScript endpoint 审查、技术指纹识别、Wayback URL 以及手动 dork 生成。
- 验证辅助工具涵盖盲打 XSS、SQL 注入、SSRF、SSTI、OAuth、XXE、密码重置、会话、IDOR、权限提升和 OOB 回调。
- 基于 SQLite 的扫描历史记录、误报追踪、扫描对比、CSV 导出和报告预览。
- 带有电子邮件和 Slack 告警的定期监控。
- PDF 和独立 HTML 报告。
## 技术栈
| 领域 | 工具 |
|---|---|
| 应用 | Python, Flask, Flask-CORS |
| HTTP 与解析 | Requests, Beautiful Soup |
| 网络 | Nmap, Paramiko, dnspython, Python SSL |
| 存储 | SQLite |
| 调度 | `schedule`, daemon 线程 |
| 报告 | ReportLab, 独立 HTML/CSS/JavaScript |
| 仪表板 | 原生 JavaScript, Chart.js, 自定义 CSS |
## 环境要求
- Python 3.9 或更高版本
- 已安装 Nmap 并可在 `PATH` 中使用
- 仅具备对您被授权评估的目标的网络访问权限
安装 Nmap:
```
# macOS
brew install nmap
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install -y nmap
# 使用 Chocolatey 的 Windows
choco install nmap
```
## 安装说明
```
git clone https://github.com/Kousiksamanta1/Bug-Hunter-Pro.git
cd Bug-Hunter-Pro
python -m venv .venv
```
激活环境:
```
# macOS/Linux
source .venv/bin/activate
# Windows PowerShell
.venv\Scripts\Activate.ps1
```
安装依赖项:
```
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
```
## 配置
从示例模板创建本地 `.env` 文件:
```
# macOS/Linux
cp .env.example .env
# Windows PowerShell
Copy-Item .env.example .env
```
常用设置:
| 变量 | 用途 |
|---|---|
| `NVD_API_KEY` | 可选的 NVD 密钥,用于提高 CVE 查找限制 |
| `VIRUSTOTAL_API_KEY` | 保留用于可选的信誉富化 |
| `ALERT_EMAIL` | 用于接收告警通知的电子邮件收件人 |
| `SMTP_HOST`, `SMTP_PORT` | SMTP 服务器设置 |
| `SMTP_USER`, `SMTP_PASS` | SMTP 凭据 |
| `SLACK_WEBHOOK_URL` | Slack 入站 Webhook URL |
| `NUCLEI_PATH` | `nuclei` 可执行文件的路径 |
| `FLASK_HOST`, `FLASK_PORT` | 仪表板绑定地址和端口。默认为 localhost。 |
| `DASHBOARD_API_TOKEN` | 非 localhost 客户端访问 API 所需的 Bearer 或 `X-BugHunter-Token` 值 |
| `DB_PATH` | SQLite 数据库路径 |
| `REPORT_OUTPUT_DIR` | PDF/HTML 报告输出目录 |
| `OOB_HTTP_PORT`, `OOB_DNS_PORT` | 回调接收器的 HTTP 和 DNS 端口 |
| `OOB_MAX_BODY_BYTES` | 每个 OOB 事件存储的最大回调请求体 |
请勿将 `.env`、生成的报告和 SQLite 数据库纳入版本控制。
## 使用说明
启动仪表板:
```
python main.py
```
启动手动扫描并打开仪表板:
```
python main.py --target example.com --mode manual
```
运行完整的自动扫描并导出报告:
```
python main.py --target example.com --mode auto --output all
```
仅运行 API 检查:
```
python main.py --target https://api.example.com --mode auto --scan api --output html
```
运行定期监控:
```
python main.py --target example.com --mode monitor --schedule 24h
```
仪表板默认在端口 `5000` 启动,并在需要时回退到下一个可用端口。
## CLI 选项
| 选项 | 值 | 默认值 |
|---|---|---|
| `--target` | URL、IP 或域名 | 空 |
| `--mode` | `manual`, `auto`, `monitor` | `manual` |
| `--output` | `dashboard`, `pdf`, `html`, `all` | `dashboard` |
| `--scan` | `web`, `network`, `api`, `all` | `all` |
| `--schedule` | `30m`, `24h`, `7d` 等 | `24h` |
| `--port` | 仪表板 TCP 端口 | `5000` |
| `--recon` | 在扫描前运行侦察模块 | 禁用 |
| `--oob` | 启动本地回调接收器 | 禁用 |
| `--nuclei` | 在扫描后运行 Nuclei | 禁用 |
| `--scope` | 保存的 scope 程序名称 | 空 |
## 仪表板部分
| 部分 | 用途 |
|---|---|
| 仪表板 | 扫描总数、严重程度计数、图表和最近评估 |
| 新建扫描 | 授权扫描设置和实时进度 |
| 发现结果 | 漏洞记录、过滤器、证据、修复措施和 CSV 导出 |
| 报告 | PDF/HTML 下载和内联预览 |
| 历史记录 | 时间线和扫描间对比 |
| 监控 | 定期目标和告警历史 |
| 侦察 | 被动发现和目标情报 |
| 漏洞利用实验室 | 带 scope 检查的授权验证辅助工具 |
| 情报 | Scope 管理、Nuclei 运行器和重复研究 |
| 设置 | API 密钥、告警、扫描默认值和漏洞赏金安全防护 |
## 漏洞赏金安全
Bug Hunter Pro 包含针对有 scope 限制的漏洞赏金工作的可选安全防护:
- 在扫描前要求保存的 scope。
- 将生产环境赏金扫描限制为 Web/API 检查。
- 在安全模式下禁用网络扫描、广泛的子域名枚举、Nuclei 和定期监控。
- 应用研究人员身份识别和请求速率限制。
- 在安全配置文件有要求时,阻止离开起始主机的请求。
在扫描前,请务必核实最新的程序政策。Scope 随时可能发生变更。
## 报告
CLI 导出和仪表板下载默认写入 `reports/` 目录。报告可能包含敏感的目标数据,分享前应进行审查。
## 验证
运行基本检查:
```
python -m compileall -q .
python - <<'PY'
from main import create_app
app = create_app()
client = app.test_client()
assert client.get("/").status_code == 200
assert client.get("/api/stats").status_code == 200
print("Smoke test passed")
PY
```
## 局限性
- 必须单独安装 Nmap。
- 某些检查会发送重复请求或测试 payload。
- 如果在协调的测试计划之外使用,默认凭据探测可能会触发告警或账户锁定。
- 启发式发现的结果可能是误报。
- 本项目不能替代手动安全测试或正式的渗透测试。
## 贡献
在提交 pull request 之前,请阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。请使用 [SECURITY.md](SECURITY.md) 报告安全问题,而不是使用公开的 issues。
## 许可证
Bug Hunter Pro 基于 [MIT License](LICENSE) 发布。
标签:CTI, Flask, Python, 字符串匹配, 实时处理, 密码管理, 插件系统, 数据可视化, 无后门, 逆向工具