VulnClaw
AI 驱动、自然语言驱动的渗透测试 CLI 工具,自动完成信息收集、漏洞发现、利用与报告。
- Star 数
- ★ 3.7k
- 最近更新
- 13 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 48/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 授权渗透测试:安全测试人员对已授权的目标进行系统化安全评估,使用自然语言描述目标,自动完成信息收集和漏洞验证。
- 不适合
- 需要生产级稳定性的安全团队:项目仍处公开 Alpha 阶段
- 只使用英文文档与界面的用户:文档以中文为主
- 源码审查
- 48/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
VulnClaw 是一个基于 LLM Agent + MCP 工具链 + Skill 参考资料的 AI 渗透测试 CLI(Python 3.10+,MIT 许可证)。它通过自然语言输入,自动执行从信息收集到漏洞利用的完整流程,并生成结构化 Markdown 报告和 Python PoC 脚本。默认采用模型主导的 solve 引擎,模型自主决定下一步行动,通过 AgentState 证据记忆和反幻觉闸门确保结论有据可查。支持 14 个 LLM Provider(OpenAI、Anthropic、MiniMax、DeepSeek、智谱、Moonshot、千问、SiliconFlow、豆包、百川、阶跃星辰、商汤、零一万物、本地 Ollama),以及可选的 MCP 服务(fetch、memory、chrome-devtools、burp)。提供 CLI、REPL、TUI、Web UI 和 Docker 部署方式,内置 50 个专项 Skill 覆盖 CTF、Web、内网、逆向等场景,并包含编解码/加解密工具、批量 HTTP 探测、运行时差分探测等。仅限已授权的安全测试,遵循 MIT 许可证。
VulnClaw 接收自然语言指令,例如“对 http://target.example.com 进行渗透测试”,然后自动执行多轮自主循环。它通过内置的 fetch 工具(基于 httpx)发送 HTTP/HTTPS 请求,支持自定义 method、headers、params、cookies、body 等;通过 http_probe_batch 批量比较多组 URL/参数/header 变体;通过 nmap_scan 进行端口扫描;通过 crypto_decode 进行编解码/加解密操作;通过 python_execute 执行 Python 代码;通过 shell_command 执行本地命令(如 php -r、curl、rg);通过 source_extract 从 HTML 中提取源代码;通过 runtime_diff_probe 进行过滤器与解析器的差分探测;通过 brute_force_login 进行登录爆破;通过 load_skill_reference 按需加载 Skill 文档。所有工具结果写入 AgentState.evidence,模型可通过 evidence_search/evidence_view 回查。最后,solve 引擎自动生成包含解题思路、关键证据、复现请求包、curl、响应片段和证据索引的 Markdown 报告,并生成 PoC 脚本。
- 授权渗透测试:安全测试人员对已授权的目标进行系统化安全评估,使用自然语言描述目标,自动完成信息收集和漏洞验证。
- CTF 竞赛:参赛者使用 VulnClaw 自动探测 Web 题目,利用内置的 ctf-web、ctf-crypto、ctf-misc 知识库辅助解题,并通过反幻觉闸门防止编造 flag。
- 安全教学:导师使用 VulnClaw 在实验室环境中演示渗透测试流程,学生通过观察模型的决策和工具调用学习攻击链。
- 红队演练:红队成员通过持续渗透模式(persistent)对目标进行长时间深度测试,每周期自动生成报告,支持增量发现。
- 快速漏洞验证:安全研究员利用单命令模式(如 vulnclaw scan --ports 80,443)快速扫描指定端口,或使用 exploit 命令针对已知 CVE 进行利用验证。
如何安装或部署这个 Agent?
安装:
pip install vulnclaw或从源码安装:
git clone https://github.com/Netw0rkNoob/VulnClaw.git
cd VulnClaw
pip install -e .可选 Docker 部署:
cp .env.example .env # 填入 VULNCLAW_LLM_API_KEY 等
docker compose up --build
# 打开 http://127.0.0.1:7788需要 Python 3.10+。使用 LLM 时需要配置 API Key。
如何使用这个 Agent?
基本使用步骤:
- 选择提供商:
vulnclaw config provider minimax(或 openai/anthropic/deepseek 等) - 设置 API Key:
vulnclaw config set llm.api_key sk-your-key-here - 启动交互界面:
vulnclaw(进入 REPL) - 输入自然语言指令,如“对 192.168.1.100 进行渗透测试”
常用命令:
- vulnclaw solve target.com --goal "找到 flag":目标驱动求解
- vulnclaw run 192.168.1.100:一键全流程渗透
- vulnclaw recon target.com:仅信息收集
- vulnclaw scan target.com --ports 80,443:漏洞扫描
- vulnclaw exploit target.com --cve CVE-2024-1234 --cmd id:漏洞利用
- vulnclaw report session.json:生成报告
- vulnclaw web:启动 Web UI(默认 127.0.0.1:7788)
- vulnclaw tui:启动 TUI 工作台
环境检查:vulnclaw doctor。可选配置 MCP 服务(如 chrome-devtools 和 burp)以增强功能。
这个 Agent 有哪些优点和局限?
- 模型主导的 solve 引擎:模型自主决策,灵活适应未知目标,而非固定剧本流程。
- 证据级反幻觉闸门:所有结论必须基于真实工具输出,防止模型编造 flag 或结论。
- 支持 14 个 LLM Provider,包括本地 Ollama,降低供应商锁定风险。
- 丰富的内置工具链:包括 fetch、http_probe_batch、crypto_decode、python_execute、shell_command 等,无需额外安装即可使用。
- 全面的 Skill 知识库:覆盖 CTF、Web、内网、逆向等多个领域,且按需加载,不强制注入上下文。
- 公开 Alpha 阶段:项目仍处于早期,可能存在稳定性问题,不适合作为生产环境的安全工具。
- 依赖外部 LLM API:需要配置 API Key,且调用成本可能较高,特别是长会话场景。
- 高风险实验能力:python_execute 和 shell_command 可能执行任意代码,需要用户自行确保沙箱隔离。
- MCP 服务(chrome-devtools、burp)需要额外部署,配置相对复杂。
- 文档以中文为主,英文支持有限,可能对非中文用户造成障碍。
这个 Agent 与同类方案有什么区别?
VulnClaw 与 MetaSploit 等传统渗透测试框架不同,其核心是 LLM Agent 自主决策,而非预定义模块组合。与 Codex 或 Claude Code 等通用编码 Agent 相比,VulnClaw 专为安全测试设计,内置了证据闸门、WAF 绕过等安全特定功能。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| VulnClaw 当前 | 48 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 3.7k | 13 天前 | Python | — |
| HexStrike AI MCP | 22 · 缺口较多 | MCP 服务器免费 | ★ 13k | 2 个月前 | Python | Claude.ai |
| Strix AI 渗透测试 | 62 · 存在缺口 | 命令行工具免费版 + 付费版 | ★ 70k | 今天 | Python | ChatGPT · Codex · Claude Code · OpenAI API · Claude API |
| PentesterFlow | 73 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 1.4k | 1 个月前 | TypeScript | OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 声明了授权使用、安全声明和沙盒提示词,但未提供实际权限控制细节;存在用户确认机制(如 TUI 范围确认),但未明确所有操作需确认;数据流透明度较好,有 AgentState 证据记录和流量存储;敏感数据处理(API key 存储)未详细说明;依赖安全未提及漏洞扫描或锁定;外部影响(如网络扫描)有授权声明但无技术限制;回滚有目标状态快照和回滚功能;来源归属有作者信息但未验证。扣分原因:权限最小化、用户确认、敏感数据处理、依赖安全、外部影响、回滚、来源归属均缺乏具体实现证据。
证据显示:README 和测试文件内部一致,模块划分清晰;依赖声明在 pyproject.toml 中,但未验证可用性;失败消息有提及(如 stall guard),但未提供具体错误处理示例。扣分原因:依赖可用性未验证,失败消息细节不足。
证据显示:明确面向授权渗透测试、CTF、教学等场景;能力边界有安全声明和授权要求;触发精度有自然语言关键词触发和明确命令;环境适配有 Docker、多平台 CI 和多种 LLM 提供商。扣分原因:能力边界未细化到具体工具限制,触发精度依赖自然语言可能不精确。
证据显示:README 结构清晰,有安装、使用、架构、配置等章节;安装说明详细(pip、源码、Docker);命名稳定(vulnclaw 命令);有示例和 FAQ(REPL 示例);已知限制提及(如 python_execute 非沙箱);许可证为 MIT;版本号在 pyproject.toml 中,但无 CHANGELOG 内容;维护责任有贡献指南但无明确维护者。扣分原因:命名稳定性未验证历史,已知限制不全面,版本变更日志缺失,维护责任不明确。
证据显示:输出可用性有报告和 PoC 生成;边际价值高,提供全流程自动化;成本效益未提供实际性能数据。扣分原因:成本效益缺乏数据支持。
证据显示:README 中的功能声明有部分测试覆盖(如测试文件),但未提供具体证据链接;跨来源验证不足,仅依赖单一仓库;事实与推断分离不明确。扣分原因:声明可追溯性不足,跨来源验证缺失,事实与推断未明确区分。
- 该工具是渗透测试工具,必须仅用于授权目标,否则可能违法。
- python_execute 和 shell_command 工具不是强隔离沙箱,存在代码执行风险。
- 依赖未锁定版本,可能存在供应链风险。
- API 密钥存储方式未明确,需谨慎处理。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
VulnClaw v0.4.1 Windows TUI 粘贴/闪退修复 + REPL LLM 错误显示。 修复与改进 - 修复 Windows TUI 无法粘贴 — Windows 无 bracketed paste(crossterm 0.28 仅在 Unix 解析该序列),Ctrl+V 此前落入空分支被静默丢弃;现在 Ctrl+V / Shift+Insert / 鼠标右键三个触发器均直接读取系统剪贴板粘贴到输入框(#296) - 剪贴板访问改为 Win32 API 直调 — TUI 的复制/粘贴不再通过 powershell.exe 子进程(每次需 1-3 秒 .NET 冷启动),改为 FFI 直调 OpenClipboard/GetClipboardData/SetClipboardData,微秒级完成且零新增依赖;同时消除复制路径的临时文件落盘(#296) - 修复剪贴板子进程隐藏 TUI 窗口的问题 — 从 TUI 内 spawn powershell.exe 时 -WindowStyle Hidden 会隐藏 TUI 自身的共享控制台窗口(表现为按粘贴键整个窗口"消失");全部剪贴板子进程改用 CREATE_NO_WINDOW 创建标志(#296) …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * feat(kb): 中文感知 BM25 检索 + 可选 cross-encoder 重排序 by @SummerCaptain in https://github.com/Netw0rkNoob/VulnClaw/pull/252 * fix(i18n): add missing cli.host_no_set English translation by @Shxiao101 in https://github.com/Netw0rkNoob/VulnClaw/pull/257 * docs: remove README references to nonexistent docs/keyless-auth.md by @Shxiao101 in https://github.com/Netw0rkNoob/VulnClaw/pull/259 * fix(cli): paste and scroll classic /config panel by @JMAN730 in https://github.com/Netw0rkNoob/VulnClaw/pull/264 …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * fix(ci): point release preflight at tests/meta/test_release.py by @Unclecheng-li in https://github.com/Netw0rkNoob/VulnClaw/pull/199 * Dev by @Unclecheng-li in https://github.com/Netw0rkNoob/VulnClaw/pull/201 * Unclecheng li patch 2 by @Unclecheng-li in https://github.com/Netw0rkNoob/VulnClaw/pull/202 * Unclecheng li patch 1 by @Unclecheng-li in https://github.com/Netw0rkNoob/VulnClaw/pull/204 * Dev by @Unclecheng-li in https://github.com/Netw0rkNoob/VulnClaw/pull/205 …在 GitHub 查看 ↗
常见问题
使用 VulnClaw 需要哪些前置条件?
VulnClaw 是否会自动利用漏洞?
VulnClaw 的报告格式支持哪些?
如何处理 LLM 调用失败或超时?
session.max_rounds 等配置项调整。