Netw0rkNoob/VulnClaw

基于 AI Agent + MCP 工具链 + 渗透 Skill 编排, 配合大语言模型, 自然语言输入 → 自动完成「信息收集 → 漏洞发现 → 漏洞利用 → 报告生成」全流程。

VulnClaw – AI駆動のペネトレーションテスト CLI

何であるか – VulnClaw は Python で作られたコマンドラインツール(およびオプションの Web/TUI)であり、ユーザーが自然言語でペネトレーションテストの目標を記述できるようにします。LLM で駆動されるエージェントが、リコンナイサンス、脆弱性の発見、エクスプロイト、レポート生成までを含むテストワークフロー全体を制御します。エージェントはどのツールを呼び出すか、どの時点で確認を求めるか、またどの発見がレポートに適しているかを判断します。

主な機能

  • モデル主導のソルブエンジン – LLM が自己主導のループを実行し、ツールの選択とタスクの完了判断を行います。固定されたステージスクリプトは強制されません。
  • 証拠メモリ – 実際のツール出力はすべて AgentState.evidence に保存されます。エージェントは証拠を検索または表示でき、"アンチ・ハリューシネーションゲート" により、証拠に記載されている結論のみを受け入れます。
  • MCPツールチェーン – 組み込みサービス(fetch, memory)に加え、ブラウザ自動化や HTTP リプレイに使用可能なオプションの Chrome-DevTools および Burp Suite MCP サーバーをサポート。
  • 豊富な組み込みツール – HTTP フェッチ、バッチプローブ、nmap スキャン、シェルコマンド実行、Python コード実行、29種類の暗号/エンコーディングヘルパー、ソース抽出、実行時差分プローブなど。
  • プラグインシステム – 低結合の脆弱性検出プラグイン(例:Webヘッダー分析)で、結果をレポートパイプラインにフィード。
  • スキルリファレンス – CTF、Web、Android、暗号、OSINT など 50 以上の知識ベース「スキル」を、必要に応じてモデルがロード可能。
  • マルチプロバイダ LLM サポート – OpenAI、Anthropic、MiniMax、DeepSeek、Zhipu、Moonshot、Qwen、SiliconFlow、Doubao、StepFun、SenseTime、OpenRouter、Ollama、カスタムエンドポイントに対応。
  • 出力 – 確認された各脆弱性に対して、構造化された Markdown レポートと実行可能な Python PoC スクリプトを生成。
  • インターフェース – プレーン CLI/REPL、Rust で構築されたターミナル UI(TUI)、オプションの Web UI(React フロントエンド)。

クイックスタート

# PyPI からインストール(推奨)
pip install vulnclaw

# ソースからインストール
git clone https://github.com/Netw0rkNoob/VulnClaw.git
cd VulnClaw
pip install -e .

# LLM プロバイダの設定(例:OpenAI)
vulnclaw config provider openai
vulnclaw config set llm.api_key sk-YOUR_KEY

# 1つのコマンドで完全なテストを実行
vulnclaw run http://target.example.com

このコマンドはモデル主導のループを開始し、自動的にリコンナイサンス、スキャン、エクスプロイトを実行し、最終的に reports/<target>_YYYYMMDD.md と pocs/<CVE>.py を生成します。

一般的なワークフロー

モード 開始方法 使用タイミング
CLI / REPL vulnclaw(または vulnclaw repl) インタラクティブなステップバイステップテスト、クイック実験
ワンショット vulnclaw run <target> デフォルトのソルブエンジンで完全自動テスト
ターゲットステージ vulnclaw recon <target> / vulnclaw scan <target> / vulnclaw exploit <target> 特定のフェーズのみ実行
永続的 vulnclaw persistent <target> 長時間実行、サイクルテスト(デフォルト 100 ラウンド/サイクル、10 サイクル)
Web UI vulnclaw web(デフォルト http://127.0.0.1:7788) ブラウザベースの制御と可視化
TUI vulnclaw tui ドラッグ可能なパネルを持つターミナルグラフィカルダッシュボード

アーキテクチャの概要

  • エージェントコア(agent/core.py) – ソルブループをオーケストレーションし、AgentState を維持し、証拠ゲートを強制。
  • ソルバー(agent/solver.py) – モデル主導の推論サイクルを実装し、ツール呼び出し、リトライ、スタックガードを処理。
  • MCPレイヤー(mcp/registry.py, router.py) – ローカルツール(fetch, memory)と外部サービス(Chrome-DevTools、Burp)を登録し、LLM のツール呼び出し要求をルーティング。
  • プラグイン(plugins/) – イソレートで実行され、構造化された発見を返すモジュール式脆弱性検出器。
  • スキル(skills/) – 必要に応じて load_skill_reference でモデルがロード可能なリファレンスドキュメント(PDF/MD)。
  • レポートジェネレータ(report/generator.py) – LLM の追加呼び出しなしに、収集された証拠から Markdown 概要と PoC コードをアセンブル。

安全上の注意 – このツールは明確に「承認済みのみ」にマークされています。CTFチャレンジ、レッドチーム演習、セキュリティトレーニングなど、テスト対象のシステムに許可がある場合にのみ使用することを意図しています。リポジトリには、実行前に必要なバイナリ(nmap、node など)が存在するかを確認する doctor コマンドが含まれています。


完全な英語版 README はリポジトリ内の README_EN.md を参照してください。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト