首页 / 开源热榜 / vulnclaw / 使用教程

VulnClaw 教程:先锁定授权范围,再让模型调用工具

更新于 2026-09-23 · NGJOO AI 实验室 · 约 11 分钟

VulnClaw 用大模型调度 HTTP、MCP、插件和本地命令,把工具输出保存到 AgentState.evidence,再生成报告。官方将它标为公开 Alpha,只允许书面授权测试、CTF 和可控实验环境。仓库已从 Unclecheng-li 重定向到 Netw0rkNoob/VulnClaw

v0.4.0 发布于 2026-09-16,要求 Python 3.10+。本教程只给出隔离靶场的环境检查和只读 recon 路径,不提供针对第三方目标的利用步骤。

1. 先写授权清单

把允许测试的域名、IP、端口、时间窗、账号、请求速率和禁止动作写入任务记录。目标跳转到新域名、CDN 地址或第三方服务时立即停止。模型不会自动理解合同范围,提示文本也不能替代授权。

2. 在虚拟环境固定版本

python -m venv .venv
source .venv/bin/activate
pip install 'vulnclaw==0.4.0'
vulnclaw doctor

doctor 会显示 Python、Node、npx、nmap、模型配置和 MCP 状态。只用内置 fetch 与 memory 时,可暂不配置 chrome-devtools 和 Burp。模型账号应单独建立低额度凭据,避免把企业通用 key 写入实验环境。

3. 保留 ask 审批

默认 safety.permission_mode=ask,每次危险执行都等待 y/N,300 秒无人回应就拒绝。auto_review 只让只读白名单免确认;full_access 会跳过确认。首次运行不要切到 full_access,也不要扩大 trusted_commands

在配置里关闭不需要的 python_execute,限制轮数和单目标插件请求预算。然后只对自有本地靶场执行只读信息收集:

vulnclaw recon http://your-authorized-lab.local

执行前再次核对命令中的主机。每次工具请求返回后,看目标地址、状态码、请求数和 evidence 原文,确认没有越界。

4. 常见失败怎么排

验证边界:本轮只核对官方 README、pyproject.toml、DOCKER.md、SECURITY.md 与 Releases。未安装包,未配置模型 key,未启动 CLI、Web UI、Docker、nmap 或 MCP,也未向任何目标发送扫描或利用请求。

5. 与 PentestGPT 对比

PentestGPT更偏人工参与的任务分解和工具输入输出;VulnClaw 加入 MCP、插件、证据索引、TUI/Web UI 与命令审批。需要逐步人工控制时先看 PentestGPT,需要集中保存工具证据时再评估 VulnClaw。两者都不能替代授权和人工复现。

这里仅补原教程没有展开的事实和边界。安装命令与操作步骤仍以前文为准。

先判断这个项目是否适合你

适合谁用

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

采用建议

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

原教程未展开的系统信息

核心功能

  • MCP 与插件

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

  • 多种入口和报告

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

架构与数据流

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。

技术栈和运行条件

语言

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

常见问题

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 和审批模式。无论选哪个,都只在明确授权的隔离环境使用。