VulnClaw
AI驱动的渗透测试Agent:自然语言输入自动完成信息收集→漏洞发现→漏洞利用→报告生成全流程
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI驱动的渗透测试Agent:自然语言输入自动完成信息收集→漏洞发现→漏洞利用→报告生成全流程
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否见过这样的场景:安全工程师面对一个陌生的 Web 系统,需要在短时间内完成信息收集、漏洞发现、漏洞利用、报告编写,而手上的工具分散、脚本参差不齐、结果还散落各处?VulnClaw 正是为解决这个问题而生——它将整个渗透测试流程封装在一个 CLI 工具里,用户只需用自然语言描述目标,AI Agent 自动完成从侦察到报告的全链路工作。
传统的渗透测试依赖安全工程师手动操作 Nmap、SQLMap、Burp Suite 等工具,需要深厚的经验积累才能判断何时切换工具、何时深入利用。随着 LLM(大语言模型)的能力边界不断扩展,用 AI 来驱动安全测试的思路应运而生。
VulnClaw 由安全研究者 UncleC 开发(项目始于 2025 年 4 月),定位是「AI 驱动的渗透测试 CLI 工具」,核心目标是让 AI Agent 代替安全工程师执行重复性最高的渗透操作。作者在项目中融入了大量自己在一线红队工作中积累的痛点:Agent 容易「原地打转」、弱模型会凭空编造 flag、工具之间缺乏协同……这些在 VulnClaw 的架构设计中都得到了针对性解决。
你可以把 VulnClaw 想象成一个有驾照但缺乏实战经验的实习生——你告诉他「去对 example.com 做渗透测试,找出 SQL 注入」,他自动调用 Nmap 扫端口、分析 HTTP 响应、尝试注入点、验证漏洞、生成 Python PoC。与传统脚本的区别在于:这个「实习生」会思考(用 LLM 推理下一步行动)、会记忆(用黑板图记录已发现的事实)、会反思(失败后升级 payload 策略)。
solve 引擎)这是 VulnClaw 最重要的架构创新。旧版自主渗透用「固定轮数循环」(跑满 N 轮才停),在弱模型上容易陷入「反复请求同一页面、嘴上说要测注入却不发包」的死循环。新版引擎将渗透建模为从 origin 到 goal 的状态空间搜索,用两个核心原语驱动:
concluded 或 abandoned 后不可重复一旦"首页是登录框"成为 Fact,Reason 阶段就不会再提"去看首页",而是直接提"测 SQL 注入"。终止条件是目标达成、探索前沿耗尽或触达安全预算,不再是数死轮数——结构上杜绝了 Agent 打转。
弱模型常凭空编造 flag,这是 AI 渗透工具的致命弱点。VulnClaw 在 solve() 里录制所有真实工具输出(HTTP 响应体、python_execute 输出)作为唯一可信证据:
[未验证]这套机制对弱模型尤其友好——逼着 Agent 用真实工具输出一步步逼近目标,拒绝任何无证据支撑的"完成"。
Skill 是 VulnClaw 的核心能力单元,灵感来自 EOP(Exploit Orchestration Protocol)理念。内置 7 个核心 Skill + 14 个专项 Skill,覆盖:
Skill 体系让 AI Agent 不再靠「猜测」执行攻击,而是基于规范化的知识库做精确操作。
VulnClaw 通过 MCP(Model Context Protocol)接入外部工具,内置 4 个 MCP 服务:
fetch:HTTP 请求工具,开箱即用memory:会话记忆,本地实现chrome-devtools:浏览器自动化,对接外部 MCP 服务burp:HTTP 抓包重放,对接 Burp Suite MCP这套 MCP 编排层让工具扩展变得极为简单——新增工具只需实现 MCP 协议接口,无需改动核心代码。
VulnClaw 兼容所有 OpenAI 协议 API,内置 13 个提供商预设:
| 提供商 | 命令 | 默认模型 |
|---|---|---|
| OpenAI | provider openai | gpt-4o |
| MiniMax | provider minimax | MiniMax-M3 |
| DeepSeek | provider deepseek | deepseek-v4-pro |
| 智谱 GLM | provider zhipu | glm-4.7 |
| Kimi | provider moonshot | kimi-k2.6 |
| 通义千问 | provider qwen | qwen3-max |
| SiliconFlow | provider siliconflow | DeepSeek-V4-Flash |
| 豆包 | provider doubao | Doubao-Seed-2.0-Pro |
| 百川/阶跃星辰/商汤/零一万物 | ... | ... |
用户只需一条命令即可切换,完全兼容国内主流模型。
reasoning_state.py):已知事实(带置信度)、推理障碍(WAF/过滤等)、候选攻击链,结构化沉淀并注入提示词reflexion.py):失败自动归类(环境限制/路径错误/参数错误/信息不足),按 L0-L4 渐进升级 payload 绕过策略(原始 → URL 编码 → 双写注释 → Unicode/hex → 多层混淆)方式一:原 CLI / REPL 交互(默认)
vulnclaw 无参数启动,进入自然语言对话界面,适合有经验的安全工程师直接交互。
方式二:TUI 工作台(显式启用)
vulnclaw tui 打开终端图形化界面,先展示目标、检查模式、安全边界,确认授权范围后再启动任务,适合需要精确控制测试范围的用户。
方式三:Web UI 模式
pip install 'vulnclaw[web]' && vulnclaw web 启动本地 Web 界面,浏览器操作全流程,默认 http://127.0.0.1:7788,适合偏好图形界面的用户。
Web UI 需要安装 [web] 可选依赖(FastAPI + Uvicorn),Docker 镜像已内置。
从代码结构来看,VulnClaw 采用了清晰的分层架构:
vulnclaw/cli/):Typer 构建的命令行界面,支持 run/recon/scan/exploit/report 等子命令vulnclaw/agent/):Python 实现的 LLM Agent,包含 solver、llm_client、prompts、context 等核心模块vulnclaw/mcp/):MCP 协议工具管理vulnclaw/plugins/):低耦合漏洞检测插件运行时frontend/):React 构建的单页应用,打包进 Docker 镜像vulnclaw/kb/):ChromaDB 支持的安全知识检索(可选)核心依赖包括:openai(LLM 调用)、httpx(HTTP 客户端)、rich(终端富文本)、textual(TUI 界面)、pydantic(数据验证)、jinja2(报告模板)。Python 版本要求 3.10+,Docker 镜像基于 python:3.12-slim-bookworm。
图1:VulnClaw 项目头像(🦞 龙虾形象)
1. python_execute 工具是实验性高风险功能
VulnClaw 内置 python_execute 工具,让 LLM 直接执行 Python 代码(用于 payload 构造和响应解析),但作者明确标注:「当前仍属高风险实验能力,不应视为强隔离沙箱」。如果 LLM 被恶意提示词注入,代码执行可能产生非预期副作用。
2. 仅支持授权场景,有明确的安全声明 项目在 README 显著位置标注了安全声明——仅适用于已授权的渗透测试、CTF 竞赛、安全教学、红队演练。工具内置了 Reserved IP Range 检查,屏蔽了本地保留地址段的扫描。
3. 强依赖 LLM 能力,弱模型效果有限 虽然有反幻觉闸门和结构化推理机制,但工具最终效果仍然高度依赖底层 LLM 的推理能力。在复杂的真实网络环境中,弱模型的「自作聪明」仍可能浪费时间。
VulnClaw 的 Star 增长轨迹值得关注——从 2025 年 4 月上线到 2026 年 7 月,Star 数从 0 增长到 1700+,对于一个垂直领域的安全工具来说,这个速度相当可观。
从技术演进角度看,VulnClaw 代表了「LLM Agent 在安全领域」的务实落地路线:不追求 AGI 级别的渗透能力(那还不现实),而是在工具调用 + 结构化推理 + 证据验证这个三层架构上,把 AI 能做好的事情做到极致,把做不好的事情用机制约束兜底。这种「让 AI 做擅长的事,让人做判断」的分层设计,是当前 AI 安全工具最理性的路线。
随着 MCP 生态的持续壮大和 LLM 推理能力的提升,类似 VulnClaw 这样的工具将越来越成为安全工程师的标配「瑞士军刀」。对于 AI 爱好者而言,这是一个观察 LLM Agent 从理论到工程化落地全过程的最佳案例。