VulnClaw 是什么?

VulnClaw 是公开 Alpha 阶段的 AI 渗透测试 CLI。它让模型调度本地 HTTP 工具、MCP 服务、插件和安全知识库,把真实工具输出保存为证据,再生成报告。项目只面向已书面授权的测试、CTF 与隔离实验环境。

⭐ 1,858 Stars 🍴 245 Forks Python MIT 作者: Unclecheng-li
来源:github.com/Netw0rkNoob/VulnClaw 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

官方仓库没有 VulnClaw 自有充值、订阅额度或付费托管漏斗,且 2026 年 9 月仍发布 v0.4.0,因此保留并改造,后续继续观察点击。

来源:github.com/Netw0rkNoob/VulnClaw/releases/tag/v0.4.0

核心功能

证据驱动求解

模型自主选择工具和停止条件,HTTP 响应、命令输出与流量原文写入 AgentState.evidence;结论需对应真实证据。

来源:github.com/Netw0rkNoob/VulnClaw
分级权限审批

默认 ask 模式在危险工具执行前等待 y/N,300 秒无响应自动拒绝;auto_review 只放行只读命令白名单,full_access 会取消确认。

来源:github.com/Netw0rkNoob/VulnClaw
MCP 与插件

fetch 和 memory 可直接使用;chrome-devtools 与 burp 需要外部服务。插件可分析已有数据,50 个安全 skill 以按需参考资料形式加载。

来源:github.com/Netw0rkNoob/VulnClaw
多种入口和报告

提供 REPL、TUI、Web UI、本地源码扫描、recon、scan、solve 与 report 命令,并可从会话证据确定性生成 Markdown 复盘报告。

来源:github.com/Netw0rkNoob/VulnClaw

技术架构

Typer CLI、REPL、TUI 和 127.0.0.1:7788 Web UI 进入 AgentCore。solver 维护 AgentState 和真实证据,reasoning_state/reflexion 记录事实与失败,MCP registry 管理 fetch、memory 及外部浏览器或 Burp 服务,plugins 运行只读检测,report 模块从会话与证据生成报告。LLM 请求发往用户配置的 OpenAI、Anthropic、MiniMax、DeepSeek 等服务或本地 Ollama。

来源:github.com/Netw0rkNoob/VulnClaw

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) OpenAI 兼容客户端与模型凭据OpenAI 兼容客户… httpx 可选 Node.js/npx 与 uvx MCP 运行时可选 Node.js/n… 可选 nmap 可选 chrome-devtools/Burp MCP可选 chrome-de… 证据驱动求解 分级权限审批 MCP 与插件 多种入口和报告 VulnClaw 项目本体 核心功能 关键依赖

技术栈

语言Python >=3.10框架Typer、Rich、prompt_toolkit、Textual、Pydantic
OpenAI 兼容客户端与模型凭据httpx可选 Node.js/npx 与 uvx MCP 运行时可选 nmap可选 chrome-devtools/Burp MCP
PyPI、本地源码或 Docker;Docker Web UI 默认绑定 127.0.0.1:7788,配置、会话、目标和报告持久化到 /data
来源:github.com/Netw0rkNoob/VulnClaw/blob/main/pyproject.toml

快速上手

只在自有离线靶场操作。创建 Python 3.10+ 虚拟环境并安装 vulnclaw==0.4.0,配置一个低额度模型账号,保留 safety.permission_mode=ask,关闭不需要的 python_execute 与外部 MCP。先运行 vulnclaw doctor,再对明确授权的本地靶场执行 recon;确认请求范围和 evidence 后再决定是否继续,不使用 full_access。
来源:github.com/Netw0rkNoob/VulnClaw

使用场景

适合在书面授权范围内做实验室资产枚举、CTF、源码安全扫描、工具证据整理和报告复盘。它不应承担生产访问控制,也不适合对未知公网目标、第三方资产或超出授权范围的地址自动运行。

来源:github.com/Netw0rkNoob/VulnClaw

优势与局限

优势

  • 原始工具输出落盘并可按证据编号回查
  • 默认危险工具审批超时后拒绝
  • CLI、TUI、Web UI 和 Docker 路径齐全
  • v0.4.0 增加中文 BM25 与 doctor 模型探测

局限

  • 官方明确标为公开 Alpha,不能视为生产安全控制
  • 模型仍可能误选工具、误判范围或漏报
  • fetch 在 CTF/靶场 HTTPS 默认不验 TLS,不能照搬到普通网络
  • shell_command、python_execute、Burp 与浏览器自动化具有高权限
  • 外部 LLM 会接收提示、证据摘要或目标信息,需单独核对数据条款
  • 只有明确书面授权的目标才可测试
来源:github.com/Netw0rkNoob/VulnClaw

最新版本

截至 2026-09-23,最新 release 是 v0.4.0,发布于 2026-09-16。该版加入中文 BM25 与可选重排、HTTPS VPS compose profile、TUI 证据与子代理视图、doctor --probe-llm,并修复无工具空转。

来源:github.com/Netw0rkNoob/VulnClaw/releases/tag/v0.4.0

实测与证据

status: docs-only  |  checked_at: 2026-09-23  |  environment: 核对重定向后的官方仓库、README、pyproject.toml、DOCKER.md、SECURITY.md 与 GitHub Releases  |  limitations: 未安装包,未配置模型 key,未启动 CLI、Web UI、Docker、nmap 或任何 MCP,也未向任何目标发送扫描或利用请求  |  observed_output: 官方仓库已从 Unclecheng-li 重定向至 Netw0rkNoob;最新 release 为 v0.4.0,发布于 2026-09-16;pyproject 版本同为 0.4.0,Python 下限为 3.10

来源:github.com/Netw0rkNoob/VulnClaw/releases/tag/v0.4.0

同类项目对比

PentestGPT 也用大模型辅助授权渗透测试,官方仓库强调交互式任务分解、工具输入输出和 reasoning 模块;VulnClaw 额外提供 MCP、插件、证据索引、TUI/Web UI 与命令审批。想保留人工逐步操作时可先看 PentestGPT;需要统一证据和本地工具编排时再评估 VulnClaw。两者都不能替代授权和人工复核。

来源:github.com/GreyDGL/PentestGPT

总结评价

页面把书面授权、ask 审批、外部模型数据、Docker 地址和 docs-only 边界放在功能介绍之前。

来源:github.com/Netw0rkNoob/VulnClaw

常见问题

VulnClaw 可以扫描任意公网网站吗?

不可以。官方只允许已授权安全测试、CTF 和可控实验环境。开始前应取得目标所有者的书面授权,固定域名、IP、时间窗和禁止动作,范围外地址一律停止。

VulnClaw 的 ask、auto_review 和 full_access 有什么区别?

ask 是默认模式,每个危险动作都要确认;auto_review 只让只读白名单免确认;full_access 会直接执行全部动作。首次使用和共享环境应保留 ask,并让 300 秒超时自动拒绝。

VulnClaw doctor 通过后为什么仍无法调用工具?

doctor 只检查 Python、Node、npx、nmap、模型和 MCP 的可见状态。还要核对模型 Base URL、key、网络、外部 MCP 进程和容器地址;Docker 内的 localhost 指向容器自身。

VulnClaw 的证据闸门能保证没有误报吗?

不能。它要求关键结论能引用真实工具输出,可减少凭空生成的结论,但工具结果、目标状态和模型解释仍可能错误。报告中的每个发现都要人工复现并确认影响。

VulnClaw 和 PentestGPT 怎样选?

PentestGPT 更偏人工参与的任务分解和工具交互;VulnClaw 增加 MCP、插件、证据存储、TUI/Web UI 和审批模式。无论选哪个,都只在明确授权的隔离环境使用。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件