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。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目