l0lsec/cvehunter
GitHub: l0lsec/cvehunter
CVEHunter 是一个基于多智能体 LLM 的自动化 CVE 漏洞利用流水线,能够自主完成从漏洞情报收集到 PoC 漏洞利用程序生成的全流程。
Stars: 0 | Forks: 0
# CVEHunter
自主多智能体 CVE 利用流水线,用于收集/研究 CVE 信息、构建漏洞实验室,并为 CVE 创建可用的 PoC 漏洞利用程序。
给定一个 CVE ID,CVEHunter 会自动:
1. 从 NVD、OSV.dev 和 GitHub **收集**漏洞数据和补丁差异
2. **研究**漏洞以构建利用原语图和利用方案
3. **构建**带有 flag 插入功能的隔离 Docker 环境以进行测试
4. 通过带有反馈循环的迭代代码生成来**利用**漏洞
5. **评估**漏洞利用的真实性,并生成可利用性评分
## 架构
```
CVE ID → Collector → Researcher → Builder → Exploiter → Judge → Report
│ │ ↑ │
│ │ └────┘ (feedback loop)
│ └─── escalates to Opus 4.8 on hard CVEs
└─── Claude Haiku 4.5 (cheap tier)
```
### LLM 分层策略
CVEHunter 默认在**所有层级上运行 Anthropic 模型**。其他
提供商(DeepSeek、Google、OpenAI)仍保留在路由器中,但属于可选的
opt-in 项——运行仅需 `ANTHROPIC_API_KEY`。
| 层级 | 模型 | 智能体 | 成本 (输入 / 输出每 1M) |
| ----- | ----------------- | ------------------------- | ---------------------- |
| Cheap | Claude Haiku 4.5 | Collector, Builder, Judge | $1 / $5 |
| Smart | Claude Sonnet 4.6 | Researcher, Exploiter | $3 / $15 |
| Heavy | Claude Opus 4.8 | 仅限升级使用 | $5 / $25 |
对于典型的 Web 应用漏洞,估计**每个 CVE 花费 $3-15**,具体取决于
CVE 所需的漏洞利用迭代和升级次数。
## 快速开始
```
# Clone 并安装
cd ~/tools/cvehunter
pip install -e ".[dev]"
# 配置 API keys
cp .env.example .env
# 使用你的 API keys 编辑 .env
# 检查配置(API keys、model tiers、cost limits)
cvehunter status
# 显示活跃的 LLMs、余额和每月支出
cvehunter llms
# 针对一个 CVE 运行 pipeline
cvehunter run CVE-2021-44228
# 使用 single-model researcher 替代 multi-model swarm
cvehunter run CVE-2021-44228 --simple-researcher
# 仅运行 Collector
cvehunter collect CVE-2021-44228
# 被标记为需要人工审查的运行会暂停;批准或拒绝它:
cvehunter approve CVE-2021-44228
cvehunter reject CVE-2021-44228 --notes "environment looks unrealistic"
# 从上一个 checkpoint 恢复暂停或失败的运行
cvehunter resume CVE-2021-44228
# 启动 API + web dashboard(dashboard 自动挂载于 /dashboard/)
uvicorn cvehunter.api.main:app --reload
# 然后打开 http://localhost:8000/dashboard/
```
### Web 仪表板
位于 `/dashboard/` 的仪表板与 CLI 具有完全对等的功能:
- **提交** CVE 进行全面分析(带有可选的“简单 researcher”开关)
- **仅收集** —— 仅运行 Collector 智能体
- **实时进度** —— 运行激活时显示各阶段的步骤、成本和最近的错误
- **HITL 审查** —— 批准/拒绝 Judge 标记需要人工审查的运行
- 对进行中或已完成的运行进行**取消 / 重试 / 恢复**
- **状态**页面镜像了 `cvehunter status`,而 **LLMs** 页面镜像了 `cvehunter llms`
## 项目结构
```
cvehunter/
src/cvehunter/
config.py # Settings, model tiers, cost limits
llm_router.py # Tiered model selection (DeepSeek → Sonnet → Opus)
schemas.py # Pydantic models for all agent I/O
pipeline.py # LangGraph workflow orchestration
cli.py # Command-line interface
agents/
collector.py # CVE data gathering
researcher.py # Vulnerability analysis + primitives graph
builder.py # Docker environment provisioning
exploiter.py # Exploit code generation + feedback loop
judge.py # Exploitation audit + scoring
tools/
nvd.py # NVD API client
osv.py # OSV.dev API client
github.py # GitHub API client
docker_ops.py # Docker SDK operations
sandbox.py # Sandboxed exploit execution
templates/
dockerfiles/ # Dockerfile templates per stack
compose/ # Docker Compose templates
api/
main.py # FastAPI application (mounts the dashboard)
routes.py # Authenticated REST API endpoints
run_service.py # Auth-free run lifecycle shared by API + dashboard
database.py # SQLite run persistence
dashboard/ # HTMX + Jinja2 web UI (full CLI parity)
docs/
PLAN.md # Full technical plan
tests/
benchmarks/ # Known CVEs for testing
```
## 环境要求
- Python 3.12+
- Docker(用于环境配置和漏洞利用沙箱化)
- API 密钥:
- **Anthropic** —— 必需(所有模型层级默认为 Anthropic)
- **NVD**、**GitHub** —— 推荐(避免严格的速率限制)
- **DeepSeek**、**Google**、**OpenAI** —— 可选;仅当您在 `config.py` 中将
某个层级重新映射到非 Anthropic 提供商时才需要
## 安全提示
此工具会在隔离环境中生成真实的漏洞利用程序,用于防御性安全研究。
所有漏洞利用执行都在没有互联网访问的沙箱化 Docker 容器内进行。
请勿对您不拥有或未获得明确测试许可的系统使用此工具。
标签:DLL 劫持, 多智能体, 大语言模型, 网络调试, 自动化, 请求拦截, 逆向工具, 靶场环境