VulnClaw:基于AI Agent与MCP工具链的自动化渗透测试平台
速览
VulnClaw整合大语言模型与MCP(Model Context Protocol)工具链,将复杂的渗透测试流程标准化。用户只需输入自然语言指令,系统即可自动执行信息收集、漏洞发现、漏洞利用及最终报告生成,大幅降低安全测试门槛并提升效率。
AI 深度解读
这是什么
VulnClaw 是一个基于 Python 开发的 AI 驱动渗透测试 CLI 工具(GitHub 项目:Unclecheng-li/VulnClaw)。它不仅仅是一个简单的扫描器,而是一个具备自主决策能力的 AI 渗透测试 Agent。
该项目利用大型语言模型(LLM)作为核心大脑,结合 MCP(Model Context Protocol)工具链和精心编排的渗透 Skill,实现了从自然语言输入到自动化渗透测试全流程的闭环。其核心逻辑是将渗透测试建模为从“初始状态”向“目标状态”的状态空间搜索问题,通过“推理-探索-验证”的循环,自动完成信息收集、漏洞发现、漏洞利用及报告生成。
支持 OpenAI、MiniMax、DeepSeek、智谱、Moonshot 等 13 种主流 LLM 提供商,并提供 CLI、TUI(终端用户界面)和 Web UI 三种交互模式。
解决的问题
传统自动化渗透测试工具或早期 AI 安全助手存在以下痛点,VulnClaw 旨在解决这些问题:
- 固定工作流的僵化:旧版自主渗透工具通常采用固定轮数的循环(如跑满 N 轮),在弱模型上极易陷入“原地打转”的死循环(例如反复请求同一页面,或声称要测注入却不发包)。
- 大模型幻觉导致的虚假胜利:弱模型常凭空编造 Flag 或漏洞结论,缺乏真实工具输出的证据支撑,导致测试结果不可信。
- 工具链割裂:信息收集、漏洞扫描、利用往往需要切换多个独立工具,缺乏统一的编排和状态记忆,难以形成连贯的攻击链。
- 交互门槛高:传统 CLI 工具对新手不友好,而复杂的 GUI 工具又缺乏灵活性。
VulnClaw 通过目标驱动求解引擎和证据级反幻觉机制,确保 Agent 在有限预算内高效收敛,并严格基于真实工具输出来验证结论,杜绝“口嗨式”渗透。
核心功能
1. 目标驱动的状态空间搜索引擎
这是 VulnClaw 重构的核心。它将渗透测试建模为从 origin(目标)向 goal(如拿到 Flag、Shell 或确认高危漏洞)的有向搜索。
- 双原语驱动:
- REASON(推理):读取全局状态(Fact + Intent),判断是否达成目标,或提出新的探索方向。
- EXPLORE(探索):领取一个 Intent,调用实际工具执行,并将确认的结论写回为 Fact。
- 自动收敛:终止条件不再是固定轮数,而是“目标达成”、“探索前沿耗尽”或“触达安全预算”。一旦某个事实(如“首页是登录框”)被确认为 Fact,Reason 引擎不会再重复探索该路径,从而杜绝打转。
2. 证据级反幻觉闸门
针对 LLM 可能编造结论的问题,VulnClaw 引入了严格的证据验证机制:
- 结论闸门:Agent 声称的 Flag 或漏洞结论,必须在真实工具输出(HTTP 响应、
python_execute输出)中逐字符出现才被采信。否则标记为[未验证]并丢弃。 - 完成闸门:当 Reason 宣布“目标达成”时,若目标要求 Flag 但真实输出中从未出现,则拒绝完成,强制继续探索。
- 即时收敛:一旦拿到经证据验证的 Flag,立即结束任务,避免无效的空跑验证轮。
3. 多模态交互与持久化渗透
- CLI / REPL:经典的自然语言交互界面,适合脚本化和快速测试。
- TUI (Terminal UI):提供终端图形化工作台,展示授权目标、运行概览、安全边界和历史状态,支持在启动前确认测试范围(如仅允许
recon,禁止exploit)。 - Web UI:基于浏览器的图形界面,默认运行在
127.0.0.1:7788,适合偏好可视化操作的用户。 - 持续性渗透 (
persistent):支持周期循环模式(默认每周期 100 轮,最多 10 个周期)。每个周期结束后自动生成独立报告,跨周期保持状态记忆,适合长时间深度渗透测试。
4. 丰富的工具链与 Skill 编排
- MCP 工具链:内置
fetch、/memory等 MCP 服务,支持对接chrome-devtools和/burp实现浏览器自动化和 HTTP 抓包重放。 - 13 个 LLM Provider:一键切换 OpenAI、MiniMax、DeepSeek、智谱、Moonshot、千问、SiliconFlow、豆包、百川、阶跃星辰、商汤、零一万物等。
- 21 个渗透 Skill:包含 7 个核心 Skill 和 14 个专项 Skill(如 CTF Web/Crypto/Misc、OSINT Recon、安全知识库),附带 180 个参考文档。
- 内置工具集:提供 29 种编解码/加解密操作(Base64, Hex, AES, JWT, Morse 等)以及 Python 代码执行环境,用于 Payload 构造和响应解析。
5. 结构化推理与自适应反思
- 推理状态层:结构化沉淀已知事实(带置信度)、推理障碍(如 WAF 过滤)和候选攻击链。
- 反思引擎:失败自动归类(环境限制、路径错误、参数错误等),并按 L0-L4 渐进升级 Payload 绕过策略(从原始编码到多层混淆/换攻击面)。
亮点 / 与同类相比
| 特性 | VulnClaw | 传统扫描器 (如 Nmap/Burp 自动模式) | 早期 AI 安全助手 | | :--- | :--- | :--- | :--- | | 决策逻辑 | 目标驱动搜索:以达成目标为终止条件,动态调整策略 | 固定规则/轮数:容易陷入死循环或遗漏深层漏洞 | 固定工作流:易受模型能力限制,缺乏状态记忆 | | 幻觉控制 | 证据级闸门:严格比对真实工具输出,杜绝凭空编造 | N/A (基于规则,无幻觉问题,但灵活性差) | 弱/无:常出现“假胜利”,结论不可信 | | 工具集成 | MCP + 插件体系:无缝集成浏览器、Burp、自定义 Python 脚本 | 工具孤立,需手动拼接 | 通常仅调用有限 API,缺乏底层工具控制 | | 适应性 | 自适应反思:失败后自动升级绕过策略,跨周期保留记忆 | 静态,需人工干预调整 | 缺乏长期记忆和策略迭代能力 | | 交互体验 | CLI / TUI / Web 三端支持,支持自然语言指令 | 命令行为主,配置复杂 | 多为简单聊天界面,缺乏上下文管理 |
核心差异点:VulnClaw 最大的创新在于将渗透测试从“线性脚本执行”重构为“状态空间搜索”,并通过证据反幻觉机制解决了 LLM 在安全领域最致命的可信度问题。
适合谁用 / 上手
适合人群
- 红队 / 渗透测试工程师:需要自动化辅助进行深度渗透、CTF 竞赛或授权红队演练。
- 安全研究员:利用其插件体系和 Skill 编排进行漏洞挖掘和研究。
- 安全教学 / CTF 选手:通过自然语言交互快速理解渗透流程,利用其报告生成和 PoC 脚本生成功能辅助学习。
- DevSecOps 实践者:集成到 CI/CD 流程中,进行持续性的安全评估。
上手指南
- 环境准备:
- Python 3.10+
- Node.js (用于 MCP 服务)
