Model Context Provider (MCP) for Penetration Testing について
mcp-pentest は、認可されたペネトレーションテスト向けの MCP サーバーで、Nmap や Gobuster などのツールを連携させ、テストのコンテキストを集約します。セキュリティテスト担当者を対象とし、スコープ、方法論、レポート作成は人間が管理する設計です。本プロジェクトはアルファ段階です。
主な機能
- 01偵察からレポート作成までのフェーズ順序の徹底
- 02ツール出力のリアルタイム集約とイベント化
- 03テスト中の LLM による結果の解釈と指針
- 04プラグイン方式のツール連携フレームワーク
- 05レポート用の発見事項の構造化ログ
- 06Nmap、Gobuster などのツール連携
活用シーン
- 01認可された対象への Nmap によるネットワークスキャン
- 02Gobuster による Web ディレクトリの列挙
- 03テスト記録の整理とレポート素材の作成
MCP 対応
本プロジェクトは、ペネトレーションテスト用ツールを互換性のある AI クライアントに公開する MCP サーバーです。stdio で通信し、Claude Desktop などのクライアントに設定して利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-pentest
AI 支援のセキュリティ担当者向けの、許可されたペネトレーションテスト用 MCP サーバーです。 一般的な評価ツールを連携させ、エンゲージメントのコンテキストを標準化し、 スコープ、手法、レポートの管理権限を人間のペンテスターが保持できるようにします。

概要
| 領域 | mcp-pentest が提供するもの |
|---|---|
| MCP インターフェース | 互換性のある AI クライアントにペネトレーションテスト用ツールを公開するローカルの stdio サーバー |
| ツール | Nmap、Gobuster、および許可された評価向けの拡張可能な連携機能 |
| ワークフロー | 偵察、スキャン、エクスプロイト支援、侵入後のメモ、レポート作成 |
| 出力 | 標準化されたスキャンイベント、エンゲージメントのコンテキスト、検出結果、レポート作成用のメモ |
| 安全性 | 明示的な許可と人間のオペレーターによる管理のもと、合法的なテストを実施するために設計されています |
ステータス
mcp-pentest はアルファ版で、活発に開発が進められています。新しいツール連携、UI/UX、ドキュメント、テスト、レポート作成ワークフローへの貢献を歓迎します。 開始方法については、CONTRIBUTING.md をご覧ください。
🔍 概要
Model Context Provider(MCP)は、AI とペネトレーションテスト用ツールを橋渡しするオープンソースのフレームワークです。MCP は幅広いペネトレーションテスト用ツールと連携し、その出力をリアルタイムで解析、拡充するとともに、標準的なペネトレーションテストのプロセスに厳密に従います。確立された手法に沿って、偵察やスキャンからエクスプロイト、侵入後の対応、レポート作成まで、各フェーズを通じて人間のペンテスターを支援します。
⚠️ 免責事項:このツールは、適切な許可を得たうえでの合法的なセキュリティテストを目的としています。システムへの不正アクセスにこのソフトウェアを悪用することは、違法かつ非倫理的です。
✨ 主な機能
- 手法の適用:各エンゲージメントが適切なフェーズ(偵察 → スキャン → エクスプロイト → 侵入後の対応 → レポート作成)を順番に進むようにします。
- リアルタイムのコンテキスト集約:ツールの出力を取得し、データを統一されたエンゲージメントのコンテキストに標準化して、分析用に保存します。
- LLM を活用した分析:大規模言語モデルを活用して検出結果を解釈し、エンゲージメント中の指針を提供します。
- シームレスなツール連携:主要なペネトレーションテスト用ツールに接続するミドルウェア層として機能し、その結果を共通のイベント形式に変換します。
- 安全なデータ処理:LLM とのやり取りにおけるサニタイズを含め、処理対象データに厳格なセキュリティ対策を適用します。
- レポート作成と知識の保持:レポート生成に備えて、すべての検出結果とアクションを構造化形式で記録します。
🏗️ アーキテクチャ
MCP は、コンテナ化された環境にデプロイされた、マイクロサービスベースのイベント駆動型システムです。
- コアコンテキスト処理エンジン:すべてのツールからデータを集約し、正規化する中核的なエンジンです
- AI 駆動型攻撃経路分析ツール:潜在的な攻撃経路を特定し、標的の優先順位を決定します
- プラグインベースの統合フレームワーク:外部ツールと連携するための拡張可能なシステムです
- セキュアなログ記録・レポートモジュール:作業ログを維持し、レポートを作成します
- リアルタイム LLM クエリーインターフェース:自然言語を使って調査結果を照会するインターフェースを提供します
- ロールベースのアクセス制御:すべての操作におけるセキュリティを確保します
🧰 統合済みツール
MCP は現在、以下のツールと統合されています。
ネットワークスキャンと列挙
Web 列挙
エクスプロイトと侵入後の活動
- Metasploit Framework:エクスプロイトフレームワーク
パスワード攻撃
- Hydra:ネットワークログイン用ブルートフォースツール
- John the Ripper:オフラインパスワードクラッカー
権限昇格
- LinPEAS:Linux の権限昇格に関する情報を列挙するスクリプト
🚀 はじめに
前提条件
- Python 3.8+
- Nmap(ネットワークスキャン用)
- Gobuster(Web 列挙用)
- ペネトレーションテストに必要な適切な許可とスコープの定義
インストール
- このリポジトリをクローンします。
git clone https://github.com/allsmog/mcp-pentest.git
cd mcp-pentest
- MCP サーバーをインストールします。
pip install -e .
- 必要な依存関係をインストールします。
pip install mcp
Claude Desktop でのテスト
- この MCP サーバーを Claude Desktop の設定に追加します。
claude_desktop_config.jsonを編集します。
{
"mcpServers": {
"mcp-pentest": {
"command": "python",
"args": ["/path/to/mcp-pentest/server.py"],
"env": {}
}
}
}
-
Claude Desktop を再起動します
-
Claude Desktop でペネトレーションテスト用ツールを利用できるようになります。次のようなコマンドを試してください。
- 「127.0.0.1 で nmap スキャンを実行して」
- 「https://httpbin.org で gobuster ディレクトリスキャンを実行して」
- 「最新のスキャンイベントを表示して」
手動テスト
サーバーを直接テストすることもできます。
# Run the MCP server
python server.py
# The server will communicate via stdio using the MCP protocol
API リファレンスと例の詳細については、ドキュメントをご覧ください。
📋 プロジェクトのロードマップ
現在、以下の作業に取り組んでいます。
- コアコンテキストエンジンの実装を完了する
- 初期のツール統合を完了する
- AI 駆動型攻撃経路分析ツールを構築する
- Web UI を開発する
- 包括的なテストスイートを作成する
- 追加のツール統合を行う
- レポート生成を実装する
これらの分野への貢献を歓迎します。
🤝 貢献
貢献を歓迎し、感謝いたします。ガイドラインについては、CONTRIBUTING.mdをご覧ください。
貢献できること
特に、以下へのご協力をお待ちしています。
- ツール統合:より多くのセキュリティツールへの対応追加
- テスト:実環境でのテストとバグ報告
- ドキュメント:ガイドの改善と拡充
- UI 開発:Web インターフェースの構築
- AI コンポーネント:LLM 統合と攻撃経路分析の強化
新しいツール統合の追加
新しいツール統合への貢献を特に歓迎します。追加のツールに対応する方法については、ツール統合ガイドをご覧ください。
💬 コミュニティ
- イシュー:バグ報告や機能リクエストには GitHub のイシューをご利用ください
- ディスカッション:一般的な質問やアイデアには GitHub のディスカッションをご利用ください
📜 ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細については、LICENSE ファイルをご覧ください。
🔐 セキュリティに関する考慮事項
このツールの性質上、セキュリティには特にご注意ください。
- 認証情報、API キー、機密情報は決してコミットしないでください
- 常に責任ある情報開示の慣行に従ってください
- システムをテストする前に、適切な許可を得てください
📚 ドキュメント
🙏 謝辞
- このプロジェクトの基盤となっているオープンソースの侵入テストツールのすべてに感謝します
- この取り組みの着想を与えてくれたセキュリティ研究者とツール開発者の皆様に、特別な感謝を表します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
