Netw0rkNoob/VulnClaw
基于 AI Agent + MCP 工具链 + 渗透 Skill 编排, 配合大语言模型, 自然语言输入 → 自动完成「信息收集 → 漏洞发现 → 漏洞利用 → 报告生成」全流程。
VulnClaw – AI 驱动的渗透测试 CLI
是什么 – VulnClaw 是一个基于 Python 的命令行工具(可选 Web/TUI),允许用户用自然语言描述渗透测试目标。一个由 LLM 驱动的代理将主导整个测试流程:侦察、漏洞发现、利用以及报告生成。该代理会自行决定调用哪些工具、何时请求澄清,以及何时发现足够可靠以生成报告。
核心功能
- 模型主导的求解引擎 – LLM 运行自我导向的循环,选择工具并决定任务何时完成。不会强制执行固定的阶段脚本。
- 证据记忆 – 所有真实工具的输出都存储在
AgentState.evidence中。代理可以搜索或查看原始证据,而“反幻觉门”仅接受出现在该证据中的结论。 - MCP 工具链 – 内置服务(
fetch,memory)以及可选的 Chrome-DevTools 和 Burp Suite MCP 服务器,用于浏览器自动化和 HTTP 重放。 - 丰富的内置工具 – HTTP 获取、批量探测、nmap 扫描、Shell 命令执行、Python 代码执行、29 个加密/编码辅助工具、源码提取、运行时差异探测等。
- 插件系统 – 低耦合的漏洞检测插件(如 Web 头部分析),将结果输入报告管道。
- 技能参考库 – 50 多个知识库“技能”(CTF、Web、Android、加密、OSINT 等),模型可按需加载作为参考材料。
- 多提供商 LLM 支持 – 支持 OpenAI、Anthropic、MiniMax、DeepSeek、Zhipu、Moonshot、Qwen、SiliconFlow、Doubao、StepFun、SenseTime、OpenRouter、Ollama 以及自定义端点。
- 输出 – 为每个确认的漏洞生成结构化 Markdown 报告和可运行的 Python PoC 脚本。
- 接口 – 支持普通 CLI/REPL、使用 Rust 构建的终端 UI(TUI),以及可选的 Web UI(React 前端)。
快速开始
# 从 PyPI 安装(推荐)
pip install vulnclaw
# 或从源码安装
git clone https://github.com/Netw0rkNoob/VulnClaw.git
cd VulnClaw
pip install -e .
# 配置 LLM 提供商(示例:OpenAI)
vulnclaw config provider openai
vulnclaw config set llm.api_key sk-YOUR_KEY
# 一条命令完成完整测试
vulnclaw run http://target.example.com
该命令启动模型驱动的循环,自动执行侦察、扫描、利用,并最终生成 reports/<target>_YYYYMMDD.md 和 pocs/<CVE>.py。
典型工作流
| 模式 | 启动方式 | 使用场景 |
|---|---|---|
| CLI / REPL | vulnclaw(或 vulnclaw repl) |
交互式、逐步测试,快速实验 |
| 一次性 | vulnclaw run <target> |
使用默认求解引擎的全自动测试 |
| 目标阶段 | vulnclaw recon <target> / vulnclaw scan <target> / vulnclaw exploit <target> |
仅运行特定阶段 |
| 持久化 | vulnclaw persistent <target> |
长时间运行、循环测试(默认每轮 100 次,共 10 轮) |
| Web UI | vulnclaw web(默认 http://127.0.0.1:7788) |
基于浏览器的控制与可视化 |
| TUI | vulnclaw tui |
带可拖拽面板的终端图形化仪表板 |
架构概览
- 代理核心(
agent/core.py) – 协调求解循环,维护AgentState并强制执行证据门控。 - 求解器(
agent/solver.py) – 实现模型驱动的推理循环,处理工具调用、重试和阻塞保护。 - MCP 层(
mcp/registry.py,router.py) – 注册本地工具(fetch,memory)和外部服务(Chrome-DevTools, Burp),并路由 LLM 工具调用请求。 - 插件(
plugins/) – 模块化漏洞检测器,独立运行并返回结构化发现结果。 - 技能(
skills/) – 模型可按需通过load_skill_reference加载的参考文档(PDF/MD)。 - 报告生成器(
report/generator.py) – 在不进行额外 LLM 调用的情况下,从收集的证据中组装 Markdown 摘要和 PoC 代码。
安全提示 – 该工具明确标记为“仅限授权使用”。仅适用于您拥有测试权限的系统(如 CTF 挑战、红队演练、安全培训)。仓库包含 doctor 命令,可在运行前验证所需二进制文件(nmap、node 等)是否存在。
完整英文版 README 请参见仓库中的 README_EN.md。
相关
- 项目
- 项目
- 项目
- 项目
- 项目