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 劫持, 多智能体, 大语言模型, 网络调试, 自动化, 请求拦截, 逆向工具, 靶场环境