{"id":51563583,"url":"https://github.com/Unclecheng-li/VulnClaw","last_synced_at":"2026-07-16T23:01:15.452Z","repository":{"id":352225177,"uuid":"1214349536","full_name":"Unclecheng-li/VulnClaw","owner":"Unclecheng-li","description":"基于 AI Agent + MCP 工具链 + 渗透 Skill 编排， 配合大语言模型， 自然语言输入 → 自动完成「信息收集 → 漏洞发现 → 漏洞利用 → 报告生成」全流程。","archived":false,"fork":false,"pushed_at":"2026-07-06T04:26:41.000Z","size":3646,"stargazers_count":1887,"open_issues_count":9,"forks_count":249,"subscribers_count":16,"default_branch":"main","last_synced_at":"2026-07-06T05:11:00.482Z","etag":null,"topics":["ai","ai-agent","ai-tools","ctf","cybersecurity","openclaw","penetration-testing","penetration-testing-tools","security-tools","skill"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Unclecheng-li.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-18T13:02:17.000Z","updated_at":"2026-07-06T04:38:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Unclecheng-li/VulnClaw","commit_stats":null,"previous_names":["unclecheng-li/vulnclaw"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Unclecheng-li/VulnClaw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unclecheng-li%2FVulnClaw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unclecheng-li%2FVulnClaw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unclecheng-li%2FVulnClaw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unclecheng-li%2FVulnClaw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Unclecheng-li","download_url":"https://codeload.github.com/Unclecheng-li/VulnClaw/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unclecheng-li%2FVulnClaw/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35560452,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-16T02:00:06.687Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agent","ai-tools","ctf","cybersecurity","openclaw","penetration-testing","penetration-testing-tools","security-tools","skill"],"created_at":"2026-07-10T13:00:25.026Z","updated_at":"2026-07-16T23:01:15.439Z","avatar_url":"https://github.com/Unclecheng-li.png","language":"Python","funding_links":[],"categories":["4. Agentic AI \u0026 Multi-Agent Systems","Repos"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# VulnClaw 🦞\n\n\u003e *AI 驱动的渗透测试 CLI 工具 — 说人话，打漏洞。*\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Python 3.10+](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/)\n[![OpenAI Compatible](https://img.shields.io/badge/API-OpenAI_Compatible-green)](https://platform.openai.com/)\n[![MCP](https://img.shields.io/badge/Toolchain-MCP-orange)](https://modelcontextprotocol.io/)\n[![PyPI](https://img.shields.io/badge/PyPI-v0.3.3-blueviolet)](https://pypi.org/project/vulnclaw/)\n[![Security](https://img.shields.io/badge/Scope-Authorized_Only-red)](#-安全声明)\n[![AtomGitStars](https://atomgit.com/Unclecheng-li/VulnClaw/star/badge.svg)](https://atomgit.com/Unclecheng-li/VulnClaw)\n\u003cbr\u003e\n\n🌐 **English version**: [`README_EN.md`](README_EN.md)\n\n**本项目是可独立运行的 AI 渗透测试 Agent。**\n\u003cbr\u003e\n项目官网：https://unclecheng-li.github.io/vulnclaw.com/\n\u003cbr\u003e\n\n基于 LLM Agent + MCP 工具链 + 渗透 Skill 编排，\n配合 OpenAI / Anthropic / MiniMax / DeepSeek 等兼容模型，\n自然语言输入 → 自动完成「信息收集 → 漏洞发现 → 漏洞利用 → 报告生成」全流程。\n\n[快速开始](#快速开始) · [架构设计](#️-架构) · [Skill 体系](#-内置-skill)\n\n\u003c/div\u003e\n\n---\n\n## 它能做什么\n\n输入自然语言，AI 自动执行渗透测试全流程：\n\n```\n用户输入：帮我对 http://target.example.com 进行渗透测试\n\nVulnClaw 自动执行：\n  Round 1:  信息收集 → 指纹识别、端口扫描、目录枚举\n  Round 2:  漏洞发现 → 检测注入点、已知 CVE、配置缺陷\n  Round 3:  漏洞利用 → PoC 验证、权限获取\n  Round 4:  报告生成 → 结构化报告 + Python PoC 脚本\n```\n\n\u003cimg width=\"1148\" height=\"642\" alt=\"image\" src=\"https://github.com/user-attachments/assets/576e1cf6-25da-4969-864b-40e77d020dbf\" /\u003e\n\n\u003cimg width=\"2529\" height=\"1136\" alt=\"image\" src=\"https://github.com/user-attachments/assets/9612c633-31f3-4062-8f56-ea5b4989fd50\" /\u003e\n\n适用于已授权的渗透测试、CTF 竞赛、安全教学、红队演练等场景。\n\n---\n\n## 特性\n\n- **目标驱动求解引擎（默认）** — 抛弃固定轮数工作流，以「目标达成 / 探索前沿耗尽 / 安全预算」为终止条件，自动收敛\n- **黑板图状态空间搜索** — 把渗透建模为从 origin 向 goal 的搜索：Fact（已确认事实）+ Intent（探索方向），结构上杜绝\"原地打转\"\n- **证据级反幻觉闸门** — 声称的 flag/结论必须在真实工具输出里逐字符出现才被采信，杜绝凭空编造 flag 的假胜利\n- **自然语言驱动** — 用人话描述渗透意图，自动识别阶段和工具\n- **13 个 LLM Provider** — OpenAI / Anthropic / MiniMax / DeepSeek / 智谱 / Moonshot / 千问 / SiliconFlow / 豆包 / 百川 / 阶跃星辰 / 商汤 / 零一万物，一键切换\n- **MCP 工具链** — 4 个 MCP 服务：`fetch` / `memory` 本地实现开箱即用，`chrome-devtools` / `burp` 对接外部 MCP 服务实现浏览器自动化和 HTTP 抓包重放\n- **原生流量证据存储** — VulnClaw 自有的抓包存储：按运行内作用域过滤后以追加式 JSONL 索引 + 每请求原始报文落盘于 `evidence/traffic/`。内置 `traffic_list` / `traffic_view` / `traffic_repeat` / `traffic_sitemap` 工具直接读写该存储（`traffic_repeat` 支持带覆盖重放），已验证漏洞的报告直接内联证明它的原始请求/响应。mitmproxy 代理与 Playwright 浏览器捕获后端为可选依赖（`pip install vulnclaw[traffic]`），并按可用性检测启用；其在沙箱运行循环中的自动接入随沙箱/运行目录 PRD 落地。Burp/chrome-devtools 作为可选交互式叠加层归一化进同一存储\n- **AI Agent 核心** — OpenAI 兼容协议 + Tool Calling + 自主渗透循环\n- **结构化推理 + 自适应反思** — 已知事实/约束/攻击链结构化沉淀；失败自动归类并按 L0-L4 渐进升级 payload 绕过策略\n- **漏洞检测插件体系** — 低耦合插件运行时 + 内置只读 Web 插件，结果自动汇入报告链路（`vulnclaw plugins`）\n- **21 个渗透 Skill** — 7 核心 + 14 专项 Skill（含 CTF Web/Crypto/Misc、osint-recon、secknowledge-skill），含 180 个参考文档\n- **编解码/加解密工具** — 29 种操作（Base64/Hex/URL/AES/JWT/Morse 等），LLM 可精确调用，不再靠猜测\n- **Python 代码执行** — 内置 `python_execute` 工具，适合 payload 构造和响应解析；当前仍属高风险实验能力，不应视为强隔离沙箱\n- **持续性渗透测试** — 周期循环（默认 100 轮/周期 × 10 周期 = 1000 轮），每周期自动生成报告，直到手动终止\n- **推理过程显示控制** — `think on/off` 一键切换 LLM 思考过程的显示/隐藏，默认关闭，干净输出只看结论\n- **沙盒模式提示词** — 解锁 AI 安全测试能力，CTF / 授权渗透场景专用\n- **自动报告 \u0026 PoC** — 生成结构化 Markdown 报告和可运行的 Python PoC 脚本\n- **Web UI 模式** — `vulnclaw web` 启动本地 Web 界面，浏览器操作渗透测试全流程，默认 `127.0.0.1:7788`\n- **安全知识库** — 已内置知识库模块与基础种子数据，CLI 可维护；检索增强正在逐步接入主流程\n\n---\n\n## 架构升级：从「固定轮数工作流」到「目标驱动求解」\n\n旧版自主渗透是**固定轮数循环**（跑满 N 轮才停），在弱模型上容易陷入\"反复请求同一页面、嘴上说要测注入却不发包\"的死循环。新版把渗透重构为**状态空间搜索**，这是本次重构的核心。\n\n### 黑板图 + OODA 求解循环（默认引擎 `solve`）\n\n把渗透看作从 **origin**（目标）向 **goal**（拿到 flag / shell / 确认高危漏洞）的有向搜索，用两个原语驱动：\n\n| 原语 | 含义 |\n|------|------|\n| **Fact** | 已被真实工具输出证实的客观事实（探索的落脚点） |\n| **Intent** | 声明的探索方向（尚未执行的一步），从 Fact 出发，结论后产出新 Fact |\n\n循环结构（`vulnclaw/agent/solver.py`）：\n\n```\nREASON（读全图）→ 目标达成? / 提出新探索方向 / 不提出\n        │\nEXPLORE（领一个 Intent）→ 用工具实际执行 → 把确认的结论写回为一个 Fact\n        │\n终止：目标达成 / 探索前沿耗尽（Reason 不再提方向）/ 触达安全预算\n```\n\n**为什么结构上杜绝打转**：一旦\"首页是登录框\"成为一个 Fact，Reason 就不会再提\"去看首页\"，而是提\"测 SQL 注入\"；每个 Intent 领取一次、结论一次即标记 `concluded`/`abandoned`，**不可能重复**。终止由目标驱动，不再是数死轮数。\n\n### 证据级反幻觉闸门\n\n弱模型常凭空编造 flag。新引擎在 `solve()` 里录制**所有真实工具输出**（HTTP 响应体、`python_execute` 输出）作为唯一可信证据：\n\n- **结论闸门**：Explore 结论里声称的 flag，若未在真实工具输出里逐字符出现 → 判定幻觉、丢弃、标记 `[未验证]`。\n- **完成闸门**：Reason 宣布\"目标达成\"时，若目标要 flag 但真实输出里从无 flag → 拒绝完成、继续探索。\n- **即时收敛**：一旦拿到经证据验证的 flag，立即完成，不再空跑验证轮。\n\n\u003e 这套机制对弱模型尤其友好：旧的固定轮数循环容易在重复请求里空转，而「目标驱动 + 证据反幻觉」会逼着 Agent 用真实工具输出一步步逼近目标，并拒绝任何无证据支撑的「完成」。\n\n### 结构化推理 + 自适应反思\n\n- **推理状态层**（`reasoning_state.py`）：已知事实（带置信度）、推理障碍（WAF/过滤等）、候选攻击链，结构化沉淀并注入提示词。\n- **反思引擎**（`reflexion.py`）：失败自动归类（环境限制/路径错误/参数错误/信息不足），按 **L0-L4 渐进升级** payload 绕过策略（原始 → URL 编码 → 双写注释 → Unicode/hex → 多层混淆/换攻击面），persistent 模式跨周期保留失败记忆。\n\n### 漏洞检测插件体系\n\n低耦合插件运行时（`vulnclaw/plugins/`）+ 内置只读 Web 插件（安全响应头 / JWT / JS 端点分析），插件结果可去重合并进 `SessionState.findings` 进入报告链路。\n\n\u003e 切回旧的固定轮数引擎：`vulnclaw config set session.engine rounds`\n\n---\n\n## 快速开始\n\n### 安装\n\n```bash\n# 从 PyPI 安装（推荐）\npip install vulnclaw\n\n# 从源码安装\ngit clone https://github.com/Unclecheng-li/VulnClaw.git\ncd VulnClaw\npip install -e .\n```\n\n### Docker 运行（可选）\n\n镜像已内置 Web UI 以及默认 MCP 服务所需的运行时（`npx` / `uvx`），所有状态（配置、会话、目标、报告）持久化到 `/data` 数据卷。\n\n```bash\ncp .env.example .env          # 填入 VULNCLAW_LLM_API_KEY 等\ndocker compose up --build      # 构建镜像并启动 Web UI\n# 打开 http://127.0.0.1:7788\n```\n\n也可用纯 docker 运行某条 CLI 命令：\n\n```bash\ndocker run --rm -it \\\n  -e VULNCLAW_LLM_API_KEY=sk-your-key-here \\\n  -v vulnclaw-data:/data \\\n  vulnclaw:latest scan \u003ctarget\u003e\n```\n\n\u003e ⚠️ 容器内的 `localhost` 指向容器自身。扫描宿主机服务请使用 `host.docker.internal`，扫描其它容器请共享网络并用容器名访问。详见 [DOCKER.md](DOCKER.md)。\n\n### 四步启动\n\n```bash\n# 1. 选择提供商（自动填充 Base URL 和模型名）\nvulnclaw config provider minimax   (或 openai/anthropic/deepseek/zhipu/moonshot/qwen/siliconflow)\n\n# 1.2（可选）自定义 Base URL 或模型名\nvulnclaw config set llm.base_url https://your-own-api.example.com/v1 \nvulnclaw config set llm.model your-model-name\n\n# 2. 设置 API Key\nvulnclaw config set llm.api_key sk-your-key-here\n#    — 或改用 ChatGPT 订阅登录（无需 API Key）：\n#      vulnclaw login   （浏览器登录；详见 docs/keyless-auth.md，注意 ToS 风险）\n\n# 3. 默认：打开原 CLI / REPL\nvulnclaw\n\n# 4. 可选：打开 TUI 工作台\nvulnclaw tui\n```\n\n### 环境检查\n\n```bash\nvulnclaw doctor\n```\n\n输出示例：\n\n```\n🦞 VulnClaw 环境检查\n\n  Python: 3.14.4\n  Node.js: v24.14.1\n  npx: 已安装\n  nmap: 已安装\n\nLLM 配置:\n  Provider: openai\n  Auth Mode: static\n  Credentials: configured\n  Base URL: https://api.openai.com/v1\n  Model: gpt-4o\n\nMCP 服务:\n  fetch: 已启用 [P0]\n  memory: 已启用 [P0]\n  ...\n\n✅ 环境就绪，运行 vulnclaw 开始\n```\n\n---\n\n## CLI 命令速查\n\n`vulnclaw --help` 查看所有命令：\n\n```bash\n$ vulnclaw --help\n\n🦞 VulnClaw — AI-powered penetration testing CLI\n\n Usage: vulnclaw [OPTIONS] COMMAND [ARGS]...\n\n Options:\n   --version  Show version and exit.\n   --help     Show this message and exit.\n\n Commands:\n   run           🚀 一键全流程渗透测试\n   persistent    🔄 持续性渗透测试（100轮/周期）\n   recon         🔍 仅信息收集阶段\n   scan          🔎 执行漏洞扫描阶段\n   exploit       💥 执行漏洞利用阶段\n   report        📝 从会话记录生成报告\n   repl          💬 启动经典 REPL 交互界面\n   config        ⚙️  管理配置（set/get/list/provider）\n   init          🔧 初始化配置\n   doctor        🏥  检查运行环境\n   tui           🖥️  打开终端图形化工作台\n   web           🌐 启动本地 Web UI\n```\n\n### 命令详解\n\n| 命令 | 说明 | 示例 |\n|------|------|------|\n| `vulnclaw` | 默认打开原 CLI / REPL 交互界面 | `vulnclaw` |\n| `vulnclaw tui` | 显式打开终端图形化工作台 | `vulnclaw tui` / `vulnclaw tui --target target.com` |\n| `vulnclaw repl` | 启动经典 REPL 交互界面 | `vulnclaw repl` |\n| `vulnclaw solve \u003ctarget\u003e` | 目标驱动求解（无固定轮数，拿到目标即停） | `vulnclaw solve target.com --goal \"拿到flag\"` |\n| `vulnclaw run \u003ctarget\u003e` | 一键全流程渗透（默认走 solve 引擎） | `vulnclaw run 192.168.1.1` |\n| `vulnclaw persistent \u003ctarget\u003e` | 持续性渗透（100轮/周期） | `vulnclaw persistent 192.168.1.1` |\n| `vulnclaw recon \u003ctarget\u003e` | 仅信息收集（不利用漏洞） | `vulnclaw recon target.com` |\n| `vulnclaw scan \u003ctarget\u003e` | 漏洞扫描阶段 | `vulnclaw scan target.com --ports 80,443` |\n| `vulnclaw exploit \u003ctarget\u003e` | 漏洞利用阶段 | `vulnclaw exploit target.com --cve CVE-2024-1234` |\n| `vulnclaw report \u003csession\u003e` | 从会话 JSON 生成报告 | `vulnclaw report session_xxx.json` |\n| `vulnclaw config set \u003ckey\u003e \u003cvalue\u003e` | 设置配置项 | `vulnclaw config set llm.api_key sk-xxx` |\n| `vulnclaw config get \u003ckey\u003e` | 查看配置项 | `vulnclaw config get llm.model` |\n| `vulnclaw config list` | 列出所有配置 | `vulnclaw config list` |\n| `vulnclaw config provider \u003cname\u003e` | 切换 LLM 提供商 | `vulnclaw config provider minimax` |\n| `vulnclaw init` | 初始化配置文件 | `vulnclaw init` |\n| `vulnclaw doctor` | 检查运行环境 | `vulnclaw doctor` |\n| `vulnclaw plugins list` | 列出漏洞检测插件 | `vulnclaw plugins list --stage discovery` |\n| `vulnclaw plugins info \u003cid\u003e` | 查看插件元信息 | `vulnclaw plugins info builtin.web.headers` |\n| `vulnclaw plugins run \u003cid\u003e` | 运行插件（仅分析传入数据） | `vulnclaw plugins run builtin.web.headers --input headers.json --session s.json` |\n| `vulnclaw web` | 启动本地 Web UI | `vulnclaw web` / `vulnclaw web --port 8080` |\n\n### TUI 工作台\n\n`vulnclaw tui` 是可选的终端图形化工作台入口。它会在终端中展示授权目标、检查模式、运行概览、安全边界、命令预览、历史状态、报告和内联环境诊断，让用户先确认范围再启动任务。\n\n```bash\nvulnclaw tui\nvulnclaw tui --target https://target.example --mode quick --only-port 443\nvulnclaw tui --dry-run --target https://target.example --mode deep --only-path /admin\n```\n\n默认 `vulnclaw` 仍然进入原 CLI / REPL 交互；只有显式输入 `vulnclaw tui` 才会进入 TUI。\n运行概览会读取已选目标的历史快照、风险数量、持久化约束和约束拦截次数，帮助用户在继续测试前确认上下文没有衰减。\n在 TUI 的“设置测试范围”中可以直接编辑允许动作和禁止动作，例如只允许 `recon,scan`，或禁止 `exploit,post_exploitation`。\n\n### 配置管理\n\n```bash\n# 查看所有提供商并切换\nvulnclaw config provider --list    # 查看所有可用提供商\nvulnclaw config provider minimax   # 切换到 MiniMax\n\n# 手动设置（custom 模式）\nvulnclaw config set llm.base_url https://your-api.com/v1\nvulnclaw config set llm.model your-model-name\nvulnclaw config set llm.api_key sk-your-key\n```\n\n---\n\n## 使用方式\n\n### 方式一：原 CLI / REPL 交互模式（默认）\n\n```bash\n$ vulnclaw\n```\n\n无参数启动会进入原本的 🦞 交互界面，用自然语言对话：\n\n```\n🦞 vulnclaw\u003e 对 192.168.1.100 进行渗透测试，这是我授权的靶场\n\n[*] 进入自主渗透模式，按 Ctrl+C 可随时中断\n── Round 1 ──\n  [+] 目标: 192.168.1.100\n  [+] 开放端口: 22, 80, 443, 8080\n```\n\n### 方式二：TUI 工作台（显式启用）\n\n```bash\n$ vulnclaw tui\n```\n\nTUI 会先展示目标、检查模式、运行概览和安全边界，让你确认授权范围后再启动任务：\n\n```text\nVulnClaw TUI 工作台\n\n授权目标        https://example.com\n检查模式        快速摸底 / recon\n运行概览        历史快照、风险数量、持久化约束、约束拦截\n安全边界        仅测试端口 443，禁止 exploit/persistent/post_exploitation\n\n1 设置授权目标\n2 选择检查模式\n3 设置测试范围\n4 开始授权安全检查\n8 模型/API 配置\n```\n\n常用启动方式：\n\n```bash\nvulnclaw tui\nvulnclaw tui --target https://target.example --mode quick --only-port 443\nvulnclaw tui --dry-run --target https://target.example --mode deep --only-path /admin\n```\n\n菜单 3 “设置测试范围”可编辑主机、端口、路径、排除项、允许动作和禁止动作；这些边界会进入启动前确认和实际任务命令。\n菜单 7 “环境诊断入口”会在 TUI 内显示 Python、Node/npx/uvx/nmap、LLM 配置和 MCP 服务/工具摘要；需要完整详情时再运行 `vulnclaw doctor`。\n菜单 8 “模型/API 配置”可直接切换 Provider、Base URL、Model 和 API Key，保存后工作台会立刻使用新配置。\n\n### 方式三：经典 REPL 子命令\n\n```bash\n$ vulnclaw repl\n```\n\n进入经典 🦞 交互界面，用自然语言对话：\n\n```\n🦞 vulnclaw\u003e 对 192.168.1.100 进行渗透测试，这是我授权的靶场\n\n[*] 进入自主渗透模式，按 Ctrl+C 可随时中断\n── Round 1 ──\n  [+] 目标: 192.168.1.100\n  [+] 开放端口: 22, 80, 443, 8080\n  [+] Web 指纹: Apache/2.4.62\n── Round 2 ──\n  [+] 发现 /manager/html (Tomcat Manager)\n  [+] 命中 CVE-202X-XXXX: Apache Tomcat 认证绕过\n── Round 3 ──\n  [+] 漏洞验证成功\n\n🦞 192.168.1.100 | 报告\u003e 生成渗透报告\n[+] 报告已保存: ./reports/192.168.1.100_20260418.md\n[+] PoC 脚本已保存: ./pocs/CVE-202X-XXXX.py\n```\n\n#### 经典 REPL 内置命令\n\n| 命令                  | 说明                                       |\n| --------------------- | ------------------------------------------ |\n| `target \u003chost\u003e`       | 设置渗透测试目标                           |\n| `status`              | 查看当前状态（目标、阶段、工具、推理显示） |\n| `tools`               | 列出当前可用 MCP 工具                      |\n| `think`               | 切换推理过程显示/隐藏                      |\n| `think on` / `off`    | 精确控制推理过程显示                       |\n| `persistent`          | 启动持续性渗透测试（100轮/周期，自动报告） |\n| `persistent \u003chost\u003e`   | 对指定目标启动持续性渗透                   |\n| `clear`               | 清空当前会话                               |\n| `help`                | 显示帮助信息                               |\n| `exit` / `quit` / `q` | 退出 VulnClaw                              |\n\n#### 自主渗透模式\n\nVulnClaw 检测到以下关键词 + 目标时，自动进入多轮自主渗透循环：\n\n| 触发方式 | 示例 |\n| -------- | ---- |\n| 渗透指令 | `对 http://target.com 进行渗透测试` |\n| CTF / 找 flag | `帮我对 http://ctf.site 找出flag` |\n| 爆破 / 绕过 | `对 http://target.com 弱口令爆破` |\n| **显式触发** | `目标：http://target.com，进入自主渗透模式` |\n\n\u003e 💡 在 REPL 中输入 `Ctrl+C` 可随时中断自主循环。切换目标时自动重置会话上下文。\n\n### 方式二：单命令模式\n\n```bash\n# 一键全流程渗透测试\nvulnclaw run 192.168.1.100\n\n# 持续性渗透测试（每周期100轮，最多10周期，自动生成报告）\nvulnclaw persistent 192.168.1.100\n\n# 自定义周期参数\nvulnclaw persistent 192.168.1.100 --rounds 200 --cycles 5\n\n# 仅信息收集\nvulnclaw recon 192.168.1.100\n\n# 漏洞扫描（可指定端口）\nvulnclaw scan 192.168.1.100 --ports 80,443,8080\n\n# 漏洞利用（可指定 CVE）\nvulnclaw exploit 192.168.1.100 --cve CVE-2024-1234 --cmd id\n\n# 生成报告\nvulnclaw report session.json\n```\n\n### 方式三：持续性渗透模式\n\n适用于需要长时间深度渗透的场景。VulnClaw 以**周期循环**方式运行：\n\n```\n┌──────────────────────────────────────────────┐\n│  Cycle 1 (100轮) → 自动报告 → 继续          │\n│  Cycle 2 (100轮) → 自动报告 → 继续          │\n│  Cycle 3 (100轮) → 自动报告 → 继续          │\n│  ...                                         │\n│  直到 Ctrl+C 或达到最大周期数（默认10）      │\n└──────────────────────────────────────────────┘\n```\n\n**特点**：\n- **跨周期状态保持** — 每个周期保留之前的所有发现、漏洞和步骤记录\n- **周期报告** — 每个周期结束自动生成独立的 Markdown 报告（含新增漏洞和累计汇总）\n- **灵活中断** — Ctrl+C 随时中断，中断时仍生成本周期报告\n- **增量发现** — 报告区分\"本周期新增\"和\"累计总计\"，清晰追踪进展\n- **可配置** — 每周期轮数、最大周期数、是否自动报告均可配置\n\n```bash\n# CLI 方式\nvulnclaw persistent 192.168.1.100              # 默认 100轮/周期 × 10周期\nvulnclaw persistent 192.168.1.100 -r 200 -c 5  # 200轮/周期 × 5周期\nvulnclaw persistent 192.168.1.100 --no-report   # 不自动生成报告\n\n# TUI 方式\nvulnclaw tui --target 192.168.1.100 --mode continuous\n\n# REPL 方式\n🦞 vulnclaw\u003e target 192.168.1.100\n🦞 vulnclaw\u003e persistent\n# 或直接\n🦞 vulnclaw\u003e persistent 192.168.1.100\n```\n\n### 方式四：Web UI 模式\n\n通过浏览器操作渗透测试全流程，适合偏好图形界面的用户。\n\n```bash\n# 安装 Web 依赖\npip install 'vulnclaw[web]'\n\n# 启动 Web UI（默认 127.0.0.1:7788）\nvulnclaw web\n\n# 自定义端口\nvulnclaw web --port 8080\n\n# 仅检查启动信息（不实际启动服务）\nvulnclaw web --dry-run\n```\n\n启动后浏览器访问 `http://127.0.0.1:7788` 即可使用。\n\n\u003e ⚠️ 默认仅绑定本地回环地址。如需远程访问须显式指定 `--host 0.0.0.0 --allow-remote`，请确保网络环境安全。\n\n---\n\n## LLM 提供商配置\n\nVulnClaw 支持 OpenAI 兼容协议的 API，内置 13 个提供商预设并支持自定义端点：\n\n```bash\nvulnclaw config provider --list    # 查看所有提供商\nvulnclaw config provider minimax   # 一键切换\n```\n\n| 提供商      | 命令                   | 默认模型              |\n| ----------- | ---------------------- | --------------------- |\n| OpenAI      | `provider openai`      | gpt-4o                |\n| Anthropic Claude | `provider anthropic` | claude-sonnet-5   |\n| MiniMax     | `provider minimax`     | MiniMax-M3            |\n| DeepSeek    | `provider deepseek`    | deepseek-v4-pro       |\n| 智谱 GLM    | `provider zhipu`       | glm-4.7               |\n| Kimi        | `provider moonshot`    | kimi-k2.6             |\n| 通义千问    | `provider qwen`        | qwen3-max             |\n| SiliconFlow | `provider siliconflow` | DeepSeek-V4-Flash     |\n| 豆包        | `provider doubao`      | Doubao-Seed-2.0-Pro   |\n| 百川        | `provider baichuan`    | Baichuan4-Turbo       |\n| 阶跃星辰    | `provider stepfun`     | step-3.5-flash        |\n| 商汤        | `provider sensetime`   | SenseNova-6.7-Flash-Lite |\n| 零一万物    | `provider yi`          | yi-lightning          |\n| 自定义      | `provider custom`      | 手动填写              |\n\n---\n\n## 架构\n\n```\n┌─────────────────────────────────────────────┐\n│                VulnClaw CLI                  │\n│  ┌─────────┐  ┌─────────┐  ┌────────────┐  │\n│  │  自然语言 │  │  任务编排 │  │ 报告 \u0026 PoC │  │\n│  │  交互层  │  │  引擎    │  │   生成器   │  │\n│  └────┬────┘  └────┬────┘  └─────┬──────┘  │\n│       └─────────────┼─────────────┘        │\n│               ┌─────▼──────┐                │\n│               │ LLM Agent  │                │\n│               │ (越狱+Skill)│               │\n│               └─────┬──────┘                │\n│               ┌─────▼──────┐                │\n│               │ MCP 编排层  │                │\n│               │ (4 服务)   │                │\n│               └─────┬──────┘                │\n│               ┌─────▼──────┐                │\n│               │ 安全知识库  │                │\n│               └────────────┘                │\n└─────────────────────────────────────────────┘\n```\n\n### 核心模块\n\n| 模块           | 文件                                             | 说明                                          |\n| -------------- | ------------------------------------------------ | --------------------------------------------- |\n| **CLI/TUI 入口** | `cli/main.py` + `cli/tui.py`                   | Typer 命令 + 默认原 CLI/REPL + 显式 TUI       |\n| **Agent 核心** | `agent/core.py`                                  | AgentCore 协调入口（核心重构后主要保留少量协调职责） |\n| **求解引擎（默认）** | `agent/solver.py` + `agent/blackboard.py`  | 目标驱动 OODA 循环 + Fact/Intent 黑板图 + 证据级反幻觉闸门 |\n| **推理 / 反思**   | `agent/reasoning_state.py` + `reflexion.py`   | 结构化事实/约束/攻击链 + 失败归类与 L0-L4 升级 |\n| **插件体系**   | `plugins/`（registry/runtime/web）                | 低耦合漏洞检测插件运行时 + 内置只读 Web 插件   |\n| **动态提示词** | `agent/prompts.py`                               | 基础身份 + 核心契约 + Skill + MCP 工具列表    |\n| **Prompt 组装** | `agent/system_prompt.py` + `prompt_context.py`  | system prompt / round context / attack summary 组装 |\n| **输入分析**   | `agent/input_analysis.py`                        | 目标识别、阶段识别、用户漏洞提示提取          |\n| **反死循环 / CTF** | `agent/anti_loop.py` + `ctf_mode.py`        | 完成信号、攻击路径、失败目标、flag 状态机      |\n| **会话状态**   | `agent/context.py`                               | 阶段追踪 + 漏洞发现 + 步骤记录                |\n| **Skill / KB 上下文** | `agent/skill_context.py` + `kb_context.py` | Skill 选择与知识库 prompt 注入                |\n| **目标状态继承** | `target_state/store.py`                        | 同目标成果沉淀、恢复、快照、回滚、target 报告 |\n| **MCP 编排**   | `mcp/registry.py` + `lifecycle.py` + `router.py` | 服务注册 + 生命周期 + 自然语言→工具路由       |\n| **Skill 调度** | `skills/loader.py` + `dispatcher.py`             | 目录格式 Skill + CTF/SRC/AI/Web 等意图动态调度 |\n| **编解码工具** | `skills/crypto_tools.py`                         | 29 种编解码/加解密操作，注册为内置 Agent 工具  |\n| **配置管理**   | `config/schema.py` + `settings.py`               | Pydantic 模型 + YAML 持久化 + 13 Provider 预设 |\n| **报告生成**   | `report/generator.py` + `poc_builder.py`         | Markdown 报告 + Python PoC 模板               |\n| **安全知识库** | `kb/store.py` + `retriever.py`                   | JSON 存储 + CVE/技术/工具检索                 |\n\n---\n\n## MCP 工具链\n\n| MCP 服务 | 工具数 | 模式 | 用途 | 状态 |\n|---|---|---|---|---|\n| fetch | 1 | 本地 (httpx) | HTTP 请求、API 测试 | 开箱即用 |\n| memory | 2 | 本地 (JSON) | 上下文记忆、状态持久化 | 开箱即用 |\n| chrome-devtools | 31+ | stdio MCP | 浏览器自动化、截图、JS 执行 | 需部署 |\n| burp | 多个 | stdio MCP | HTTP 抓包、重放、漏洞扫描 | 需部署 |\n\n\u003e 另有 5 个内置 Agent 工具（`python_execute` + `nmap_scan` + `crypto_decode` + `brute_force_login` + `load_skill_reference`），无需 MCP 即可调用。\n\n### Chrome DevTools MCP 部署\n\n[仓库: ChromeDevTools/chrome-devtools-mcp](https://github.com/ChromeDevTools/chrome-devtools-mcp) — 31+ 工具，覆盖点击/表单/截图/JS执行/网络监控/性能分析\n\n**前置条件**: Node.js LTS (v20+) + Chrome 浏览器\n\n```bash\n# Step 1: 启动 Chrome 远程调试\n# Windows\n\"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\" --remote-debugging-port=9222 --user-data-dir=C:\\tmp\\chrome-debug\n# Linux/Mac\ngoogle-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug\n\n# Step 2: 启用 VulnClaw 配置（自动通过 npx 拉取，无需手动安装）\nvulnclaw config set mcp.servers.chrome-devtools.enabled true\n```\n\nVulnClaw 配置已内置 `npx -y chrome-devtools-mcp@latest`，启用后自动连接。如需指定 Chrome 调试地址，编辑 `~/.vulnclaw/config.yaml`：\n\n```yaml\nmcp:\n  servers:\n    chrome-devtools:\n      enabled: true\n      transport:\n        type: stdio\n        command: npx\n        args: [\"-y\", \"chrome-devtools-mcp@latest\", \"--browser-url=http://127.0.0.1:9222\"]\n```\n\n### Burp Suite MCP 部署\n\n[仓库: PortSwigger/mcp-server](https://github.com/PortSwigger/mcp-server) — 官方 MCP 扩展，支持 SSE + Stdio 协议\n\n**前置条件**: Java 11+ + Burp Suite Professional\n\n```bash\n# Step 1: 克隆并构建\ngit clone https://github.com/PortSwigger/mcp-server.git burp-mcp\ncd burp-mcp\n./gradlew embedProxyJar    # Windows: gradlew.bat embedProxyJar\n# 产物: build/libs/burp-mcp-all.jar\n\n# Step 2: 加载到 Burp Suite\n# Burp → Extensions → Add → Type: Java → 选择 burp-mcp-all.jar\n\n# Step 3: 在 Burp 的 MCP 标签页勾选 \"Enabled\"（默认监听 127.0.0.1:9876）\n\n# Step 4: 启用 VulnClaw 配置\nvulnclaw config set mcp.servers.burp.enabled true\n```\n\n建议将 JAR 复制到固定位置并更新配置：\n\n```yaml\nmcp:\n  servers:\n    burp:\n      enabled: true\n      transport:\n        type: stdio\n        command: java\n        args: [\"-jar\", \"~/.vulnclaw/tools/burp-mcp-all.jar\", \"--sse-url\", \"http://127.0.0.1:9876\"]\n```\n\n\u003e 详细部署说明参见 [docs/mcp-deployment.md](docs/mcp-deployment.md)\n\n---\n\n## 内置 Skill\n\n### 核心 Skill (7)\n\n| Skill             | 说明               |\n| ----------------- | ------------------ |\n| pentest-flow      | 渗透测试全流程编排 |\n| recon             | 信息收集流程       |\n| vuln-discovery    | 漏洞发现流程       |\n| exploitation      | 漏洞利用流程       |\n| post-exploitation | 后渗透流程         |\n| reporting         | 报告生成流程       |\n| waf-bypass        | WAF 绕过技巧库     |\n\n### 专项 Skill (14)\n\n| Skill                     | 参考文档数 | 说明                                         |\n| ------------------------- | ---------- | -------------------------------------------- |\n| web-pentest               | 4          | Web 应用渗透                                 |\n| android-pentest           | 9          | 安卓应用渗透                                 |\n| client-reverse            | 20         | 客户端逆向分析                               |\n| web-security-advanced     | 34         | Web 安全进阶（注入、绕过、利用链）           |\n| ai-mcp-security           | 7          | AI/MCP 安全测试                              |\n| intranet-pentest-advanced | 15         | 内网渗透进阶                                 |\n| pentest-tools             | 18         | 渗透工具速查                                 |\n| rapid-checklist           | 3          | 快速检查清单                                 |\n| crypto-toolkit            | 3          | 编解码/加解密（29 种操作，注册为内置工具）   |\n| **ctf-web**               | 9          | CTF Web 攻击知识库（PHP绕过/RCE/SSTI/反序列化） |\n| **ctf-crypto**            | 6          | CTF 密码学攻击知识库（RSA/AES/ECC/PRNG/格攻击） |\n| **ctf-misc**              | 6          | CTF 杂项知识库（PyJail/BashJail/编码链/VM逆向） |\n| **osint-recon**           | 7          | OSINT 开源情报收集（四维模型：服务器/网站/域名/人员） |\n| **secknowledge-skill**    | 39         | Web+AI 安全测试知识库，面向 CTF/SRC/众测场景（WooYun/先知/GAARM/OWASP 方法论） |\n\nSkill 会根据用户输入自动调度，无需手动选择。专项 Skill 含 `references/` 目录下的详细方法论文档，LLM 可通过 `load_skill_reference` 工具按需加载。\n\n`secknowledge-skill` 集成自 [`Pa55w0rd/secknowledge-skill`](https://github.com/Pa55w0rd/secknowledge-skill)，上游 `references/` 的 38 个文档已完整纳入，并额外增加 `vulnclaw-ctf-src-routing.md` 作为 VulnClaw 的 CTF/SRC 场景导航。它会在 `SRC`、`漏洞挖掘`、`众测`、`GAARM`、`OWASP LLM/ASI/WSTG`、`Web+AI` 等强信号输入下触发，用于按需加载 SQLi、XSS、RCE、SSRF、AI/MCP、Agent、风险矩阵和测试方法论等资料。\n\n### 内置编解码/加解密工具 (crypto_decode)\n\n`crypto_decode` 注册为 Agent 内置工具，LLM 在任何上下文中均可调用，不再靠猜测解码结果：\n\n| 类别     | 操作                                                                                     |\n| -------- | ---------------------------------------------------------------------------------------- |\n| 编解码   | base64, base32, base58, hex, url, html, unicode, rot13, caesar, morse（各有 encode/decode） |\n| 哈希     | md5, sha1, sha256, sha512                                                                |\n| 加解密   | aes_encrypt, aes_decrypt（CBC 模式，PKCS7 填充）                                          |\n| JWT      | jwt_decode, jwt_encode                                                                   |\n| 自动识别 | auto_decode — 尝试所有常见编码，返回匹配结果                                              |\n\n---\n\n## 配置管理\n\n### 命令行配置\n\n```bash\nvulnclaw config list                          # 查看所有配置\nvulnclaw config get llm.model                 # 查看单项\nvulnclaw config set llm.api_key sk-xx         # 设置 API Key\nvulnclaw config set session.max_rounds 30     # 设置自主渗透最大轮数（默认 15）\nvulnclaw config set session.stale_rounds_threshold 8  # 设置死循环检测阈值（默认 5）\nvulnclaw config set session.show_thinking false # 隐藏推理过程（也可在 REPL 中用 think off）\n```\n\n### 可配置项\n\n| 配置项                   | 默认值 | 说明                                     |\n| ------------------------ | ------ | ---------------------------------------- |\n| `llm.provider`           | openai | LLM 提供商（13 个内置 + custom）         |\n| `llm.api_key`            | 空     | API Key（auth_mode=static）              |\n| `llm.auth_mode`          | static | `static`（api_key）或 `oauth`（`vulnclaw login`） |\n| `llm.chatgpt_auto_proxy` | false  | 自动启动内置 ChatGPT 后端桥接代理         |\n| `llm.base_url`           | 按 provider | API 基础 URL，可自定义              |\n| `llm.model`              | 按 provider | 模型名称，可自定义                   |\n| `llm.temperature`        | 0.1    | 采样温度                                 |\n| `llm.max_tokens`         | 4096   | 单次最大输出 token                       |\n| `session.engine`         | solve  | 自主引擎：`solve`（目标驱动，默认）/ `rounds`（旧固定轮数） |\n| `session.solve_max_steps` | 40    | solve 探索步数安全上限（兜底，非固定工作流长度） |\n| `session.solve_max_intents` | 3   | 每次 Reason 最多提出的新探索方向数        |\n| `session.solve_max_tool_rounds` | 6 | 每个 Intent 探索的最大工具调用轮数        |\n| `session.max_rounds`     | 15     | 旧 `rounds` 引擎的最大轮数（建议 10-50）  |\n| `session.output_dir`     | ./vulnclaw-output | 报告输出目录                    |\n| `session.report_format`  | markdown | 报告格式（markdown / html）            |\n| `session.poc_language`   | python | PoC 生成语言（python / bash）            |\n| `session.show_thinking`  | false  | 显示 LLM 推理过程（think 标签内容，默认关闭） |\n| `session.persistent_rounds_per_cycle` | 100 | 持续性渗透每周期轮数 |\n| `session.persistent_max_cycles` | 10 | 持续性渗透最大周期数（0=无限） |\n| `session.persistent_auto_report` | true | 持续性渗透每周期自动生成报告 |\n| `session.stale_rounds_threshold` | 5 | 死循环检测阈值 — 连续无新发现轮数达到此值时触发强制策略切换 |\n\n### 环境变量\n\n| 变量                          | 说明                   |\n| ----------------------------- | ---------------------- |\n| `VULNCLAW_LLM_PROVIDER`       | LLM 提供商名称         |\n| `VULNCLAW_LLM_API_KEY`        | API Key                |\n| `VULNCLAW_LLM_AUTH_MODE`      | static / oauth         |\n| `VULNCLAW_LLM_CHATGPT_AUTO_PROXY` | 内置 ChatGPT 代理  |\n| `VULNCLAW_LLM_BASE_URL`       | API 基础 URL           |\n| `VULNCLAW_LLM_MODEL`          | 模型名称               |\n| `VULNCLAW_SESSION_MAX_ROUNDS`| 自主渗透最大轮数       |\n| `VULNCLAW_SESSION_STALE_ROUNDS_THRESHOLD` | 死循环检测阈值 |\n| `VULNCLAW_SESSION_REASONING_STATE_ENABLED` | 结构化推理状态开关 |\n| `VULNCLAW_SESSION_REFLEXION_ENABLED` | 自适应反思引擎开关 |\n| `VULNCLAW_SESSION_REFLEXION_MAX_SAME_VULN_FAILS` | 同类漏洞连败触发反思阈值 |\n| `VULNCLAW_SESSION_ESCALATION_MAX_LEVEL` | Payload 升级上限（0-4） |\n| `VULNCLAW_SESSION_PLUGIN_RUNTIME_ENABLED` | 插件运行时开关 |\n| `VULNCLAW_SESSION_PLUGIN_MAX_REQUESTS_PER_TARGET` | 单目标插件请求预算 |\n\n优先级：**环境变量 \u003e 配置文件 \u003e 内置默认值**\n\n配置文件位于 `~/.vulnclaw/config.yaml`。\n\n---\n\n## 更新日志\n\n### v0.4.1\n\n**并行探索 + 记忆引擎 + 信息收集工具链 + MCP streamable-http**\n\n- **多 intent 并行探索** — solve 引擎支持同时探索多个方向（默认 max_parallel=3），单个方向异常不影响其他，每个 intent 有独立的证据缓冲区和工具调用记录。\n- **agent 记忆引擎** — blackboard 新增工具调用日志（跨 intent 可见），reason 阶段显式列出已放弃方向并禁止重复提出，explore 上下文带\"已执行工具\"摘要；checkpoint 机制在图状态没变时跳过 reason 避免空转；已放弃方向做 Jaccard 去重兜底。\n- **conclude 判定优化** — 放宽了\"有进展\"的标准（发现新接口、确认未授权都算推进），不再轻易丢弃有价值的发现；最后一步注入 conclude override 指令防止空转；证据兜底防止 conclude 误判丢弃实际有数据返回的探索。\n- **完成判定否定闸门** — 模型在 complete 字段里写\"未达到完成标准\"等否定结论时不会再被误判为已完成；显式要求 complete=true 布尔值 + evidence fact 引用。\n- **JS 信息收集（js_recon）** — 抓取页面及全部 JS 文件，提取 API 路径 / 关联域名 / 硬编码密钥；动态发现 PascalCase 实体名并与 base path + CRUD 动词排列组合推断隐藏接口；收集到的接口自动做 GET+POST 未授权探测。\n- **未授权探测（unauth_test）** — 批量无凭据请求，按状态码/响应体/内容类型判定；支持有/无 token 差分对比确认未授权；自动跳过 delete/save/sms 等破坏性接口。\n- **目录枚举（dir_enum）** — 并发字典爆破，带 404 基线与全局伪装 200 识别（随机路径返回 200 自动停止），状态码与响应长度过滤。\n- **空间测绘（space_search）** — FOFA / Hunter / Quake / Shodan / ZoomEye / 0.zone 六引擎统一查询，engine=all 时并发查询所有已配置 key 的引擎。\n- **子域名枚举（subdomain_enum）** — 空间测绘被动聚合 + 内置字典 DNS 爆破，自动去重。\n- **MCP streamable-http 支持** — 支持 Chrome DevTools MCP 等 HTTP 传输的 MCP 服务器；惰性连接（启动时不占 session slot）；首次调用时自动建连 + 工具发现；连接失败降级为 service_unavailable 不影响 solve 循环。\n- **Chrome MCP 工具名修正** — 占位工具改为真实 Chrome MCP 工具名（chrome_navigate / chrome_read_page / chrome_pentest_* 等）。\n- 工具返回 undefined 标记为失败而非静默成功；fact_seq / intent_seq session 恢复后正确续接；新增 ReconConfig 配置区块与 solve_max_parallel 配置项。\n\n### v0.4.0\n\n**核心：自主引擎从「固定轮数工作流」重构为「目标驱动求解」**\n\n- **新增目标驱动求解引擎（默认）** — 基于 Fact/Intent 黑板图的 OODA 循环，以「目标达成 / 探索前沿耗尽 / 安全预算」为终止条件，结构上杜绝\"原地打转\"；新增 `vulnclaw solve` 命令，`run`/REPL 自主模式默认改走该引擎（`session.engine=rounds` 可回退旧逻辑）。\n- **新增证据级反幻觉闸门** — 录制所有真实工具输出作为唯一可信证据；声称的 flag/完成必须在真实输出里逐字符出现才被采信，否则判定幻觉并继续探索；拿到验证过的 flag 即时收敛。\n- **新增结构化推理 + 自适应反思** — 已知事实（带置信度）/约束/攻击链结构化沉淀并注入提示词；失败自动归类并按 L0–L4 渐进升级 payload 绕过策略，persistent 模式跨周期保留失败记忆。\n- **新增漏洞检测插件体系** — 低耦合插件运行时 + 内置只读 Web 插件（安全响应头 / JWT / JS 端点），结果可去重合并进 findings 与报告链路；新增 `vulnclaw plugins list/info/run` 命令。\n- **修复 #45 工具被误约束** — 动作约束不再把 HTTP 方法（OPTIONS/POST）或使用 `requests` 误判为「利用」；只有实际攻击载荷（SQLi/RCE/路径穿越等）才算 exploit；`load_skill_reference`/`crypto_decode` 等纯本地工具豁免范围约束。\n- 新增 `session.engine` / `solve_*` / `reflexion_*` / `plugin_*` 等配置项，均支持环境变量注入。\n\n---\n\n## 安全声明\n\n**公开 Alpha 阶段**：VulnClaw 是面向已授权安全测试、CTF、实验环境与可控研究场景的公开\nAlpha 软件，不应作为生产环境的安全控制手段或授权机制。使用前请阅读\n[SECURITY.md](SECURITY.md)。\n\nVulnClaw 仅用于**已授权的安全测试**。使用本工具前，请确保：\n\n1. 你已获得目标系统的**明确授权**\n2. 测试范围已与目标所有者**书面确认**\n3. 你遵守当地**法律法规**\n\n未经授权对系统进行渗透测试是违法行为。本工具作者不对滥用行为承担责任。\n\n---\n\n## 许可证\n\n[MIT License](LICENSE)\n\n---\n\n## 加入社区\n\n与更多安全爱好者一起交流、分享与成长\n\n| 社区交流群 | 开发者群聊 |\n|:--:|:--:|\n| 欢迎加入讨论分享，获取最新产品动态与使用技巧 | 加入我们，参与开源贡献与技术深度探讨 |\n| ![VulnClaw 社区交流群](assets/社区交流群.jpg) | ![VulnClaw 开发者群聊](assets/VulnClaw开发者群聊.png) |\n| **QQ 群号：954402631** | **QQ 群号：1065858551** |\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003e 🦞 **VulnClaw** — 让每一次渗透都有章可循。\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FUnclecheng-li%2FVulnClaw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FUnclecheng-li%2FVulnClaw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FUnclecheng-li%2FVulnClaw/lists"}