
AI Agent + MCP ツールチェーン + ペネトレーション Skill オーケストレーションに基づき、大規模言語モデルと組み合わせることで、自然言語入力 →「情報収集 → 脆弱性発見 → 脆弱性悪用 → レポート生成」の全プロセスを自動で完了します。
AI 駆動のペネトレーションテスト CLI ツール — 人の言葉で話し、脆弱性を突く。
🌐 英語版: README_EN.md
本プロジェクトは単独で実行可能な AI ペネトレーションテスト Agent です。
プロジェクト公式サイト:https://unclecheng-li.github.io/vulnclaw.com/
LLM Agent + MCP ツールチェーン + オプションの Skill 参考資料に基づき、 OpenAI / Anthropic / MiniMax / DeepSeek などの互換モデルと組み合わせて、 自然言語入力 → 「情報収集 → 脆弱性発見 → 脆弱性悪用 → レポート生成」の全プロセスを自動で完了します。
自然言語を入力すると、AI がペネトレーションテストの全プロセスを自動実行します:
用户输入:帮我对 http://target.example.com 进行渗透测试
VulnClaw 自动执行:
Round 1: 信息收集 → 指纹识别、端口扫描、目录枚举
Round 2: 漏洞发现 → 检测注入点、已知 CVE、配置缺陷
Round 3: 漏洞利用 → PoC 验证、权限获取
Round 4: 报告生成 → 结构化报告 + Python PoC 脚本
許可されたペネトレーションテスト、CTF 競技、セキュリティ教育、レッドチーム演習などのシナリオに適しています。
AgentState.evidence に書き込まれ、raw 原文は完全に保持される。active context にはデフォルトで高シグナルのプレビューのみを注入し、evidence_search / evidence_view は必要に応じて元の証拠を再参照するために使用するfetch / memory はローカル実装で即利用可能、chrome-devtools / burp は外部 MCP サービスと連携してブラウザ自動化と HTTP キャプチャ・リプレイを実現するevidence/traffic/ に保存し、内蔵の traffic_list / traffic_view / traffic_repeat / traffic_sitemap ツールで直接読み書きするvulnclaw plugins)load_skill_reference を呼び出して必要に応じて読み取る必要があり、強制シナリオとしてコンテキストに注入されることはなくなったfetch / http_probe_batch が highlight_file、HTML ハイライトされたソースコード、または HTML/JS が混在する body に遭遇した場合、raw body の前に自動で clean source を追加する。http_probe_batch はデフォルトで TLS 検証を無効化し完全なレスポンスヘッダを記録し、X-Powered-By などのランタイム証拠の喪失を防ぐ。内蔵の source_extract は引き続き必要に応じて過去の evidence を再読するために使用でき、危険な sink、フォーム、endpoint のシグナルを固定するshell_command は、php -r によるデシリアライズ検証、curl による正確なリクエスト、rg/Select-String によるファイル検索など Codex-style のローカルデバッグシナリオに使用する。raw stdout/stderr は完全に evidence に書き込まれ、大きな出力がモデルに渡る際は高シグナルプレビューを使用するruntime_diff_probe は、正規表現/文字列フィルタとランタイムパーサが不一致となるシナリオに使用し、モデルが「フィルタをすり抜け、パーサに受理される」候補を一括生成・検証するのを支援する。PHP シリアライズモードではターゲット/ローカルのランタイムバージョン差異を提示し、PHP5 signed length 候補を必ずリモート検証すべきものとしてマークし、ローカルの新しい PHP による誤検知を防ぐpython_execute ツールは payload 構築やレスポンス解析に適する。現在も高リスクの実験的機能であり、強固な隔離サンドボックスと見なすべきではないhttp_probe_batch は、複数グループの URL/パラメータ/header/body/raw URL バリアントを一度に比較するために使用する。デフォルトで各レスポンスの完全な body を返し、モデル可視出力に実際のリクエスト面(method、URL、params、headers、cookies、body/json)を表示し、LLM のラウンド数と手書きリクエストコードを削減するNO_PATH ゲートを新たに追加:ソースシンク、フォーム/パラメータ、リクエスト面、ローカル proof、レスポンス差分などの高シグナルがまだ枯渇していない場合、単一の payload に反響がない、またはリモートが same-body であるという理由だけでモデルが早期に打ち切り判定することを受け入れないthink on/off で LLM の思考過程の表示/非表示をワンクリックで切り替えvulnclaw web でローカル Web インターフェースを起動、デフォルトは 127.0.0.1:7788# 从 PyPI 安装(推荐)
pip install vulnclaw
# 从源码安装
git clone https://github.com/Netw0rkNoob/VulnClaw.git
cd VulnClaw
pip install -e .
イメージには Web UI とデフォルト MCP サービスに必要なランタイム(npx / uvx)が組み込まれており、すべての状態は /data データボリュームに永続化されます。
cp .env.example .env # 填入 VULNCLAW_LLM_API_KEY 等
docker compose up --build # 构建镜像并启动 Web UI
# 打开 http://127.0.0.1:7788
純粋な docker で特定の CLI コマンドを実行することもできます:
docker run --rm -it \
-e VULNCLAW_LLM_API_KEY=sk-your-key-here \
-v vulnclaw-data:/data \
vulnclaw:latest scan <target>
⚠️ コンテナ内の
localhostはコンテナ自身を指します。ホストマシンのサービスをスキャンするにはhost.docker.internalを使用し、他のコンテナをスキャンするにはネットワークを共有してコンテナ名でアクセスしてください。詳細は DOCKER.md を参照してください。
# 1. 选择提供商(自动填充 Base URL 和模型名)
vulnclaw config provider minimax (或 openai/anthropic/deepseek/zhipu/moonshot/qwen/siliconflow/ollama)
# 1.2(可选)自定义 Base URL 或模型名
vulnclaw config set llm.base_url https://your-own-api.example.com/v1
vulnclaw config set llm.model your-model-name
# 2. 设置 API Key
vulnclaw config set llm.api_key sk-your-key-here
# — 或改用 ChatGPT 订阅登录(无需 API Key):
# vulnclaw login (浏览器登录;注意 ToS 风险)
# 3. 默认:打开原 CLI / REPL
vulnclaw
# 4. 可选:打开 TUI 工作台
vulnclaw tui
vulnclaw doctor
出力例:
🦞 VulnClaw 环境检查
Python: 3.14.4
Node.js: v24.14.1
npx: 已安装
nmap: 已安装
LLM 配置:
Provider: openai
Auth Mode: static
Credentials: configured
Base URL: https://api.openai.com/v1
Model: gpt-4o
MCP 服务:
fetch: 已启用 [P0]
memory: 已启用 [P0]
...
✅ 环境就绪,运行 vulnclaw 开始
$ vulnclaw --help
🦞 VulnClaw — AI-powered penetration testing CLI