ペンテストツール MCP サーバー
侵入テスト ツール用の MCP (Model Context Protocol) サーバー。Claude Desktop、Roo Code、その他の互換性のある MCP クライアントなどのさまざまな LLM クライアントで動作するように設計されています。
特徴
- 包括的な侵入テストツール:
- ディレクトリスキャン(FFuf、Dirsearch)
- 脆弱性スキャン(Nuclei、XSStrike)
- APIテスト
- 偵察
- さらに…
- SecLists から事前設定された単語リスト
- 自動レポート生成
- クロードデスクトップ統合
前提条件
- Docker と Docker Compose (コンテナ化されたセットアップ用)
- Claudeデスクトップアプリケーションまたはその他のMCP互換クライアント
- Python 3.10+ および uv (ローカルセットアップ用)
ディレクトリの設定
- 必要なディレクトリを作成します。
# Create directories
mkdir -p reports templates wordlists
- ディレクトリ構造は次のようになります。
pentest-tools/
├── reports/ # For storing scan reports
├── templates/ # For report templates
├── wordlists/ # For custom wordlists
├── pentest-tools-mcp-server.py
├── config.json
├── requirements.txt
├── docker-compose.yml
└── Dockerfile
設定
Docker のセットアップ (推奨)
- コンテナをビルドして起動します。
docker-compose up -d --build
- コンテナが実行中であることを確認します。
- 必要に応じてログを確認してください。
ローカルセットアップ
- 依存関係をインストールします:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -r requirements.txt
- 必要なシステム ツールをインストールします (Ubuntu/Debian の例):
sudo apt-get install nmap whatweb dnsrecon theharvester ffuf dirsearch sqlmap
クロードデスクトップ統合
- Claude デスクトップを設定します。
ウィンドウズ:
%APPDATA%\Claude\claude_desktop_config.json
MacOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json
- サーバー構成を追加します:
Docker のセットアップの場合:
{
"mcpServers": {
"pentest-tools": {
"command": "docker-compose",
"args": [
"run",
"--rm",
"pentest-tools",
"python3",
"pentest-tools-mcp-server.py"
],
"cwd": "\\Path\\to\\pentest-tools"
}
}
}
上記の構成が Windows で機能しない場合は、次の代替方法を試してください。
{
"mcpServers": {
"pentest-tools": {
"command": "cmd",
"args": [
"/c",
"cd /d \\path\\to\\pentest-tools && docker-compose run --rm pentest-tools python3 pentest-tools-mcp-server.py"
]
}
}
}
cwd
(現在の作業ディレクトリ) に関する注意:
cwd
Claude Desktopにどのディレクトリからコマンドを実行するかを伝えます。docker-compose.yml
を含むディレクトリへの絶対パスである必要があります。- Windowsでは、パスに二重のバックスラッシュ(
\\
)を使用します。 - Linux/MacOSでは、スラッシュ(
/
)を使用します。
- Claudeデスクトップを再起動します
使用法
Claude Desktop で利用可能なコマンド:
- 偵察:
- ディレクトリスキャン:
/scan example.com --type directory
- 脆弱性スキャン:
/scan example.com --type full
/scan example.com --type xss
/scan example.com --type sqli
/scan example.com --type ssrf
- API テスト:
/scan api.example.com --type api
自然言語コマンド:
- 「example.com で完全なセキュリティスキャンを実行する」
- 「example.com の XSS 脆弱性をチェックする」
- 「example.com で偵察を行う」
ディレクトリ構造の詳細
pentest-tools/
├── reports/ # Scan reports directory
│ ├── recon/ # Reconnaissance reports
│ ├── vulns/ # Vulnerability scan reports
│ └── api/ # API testing reports
├── templates/ # Report templates
│ ├── recon.html # Template for recon reports
│ ├── vuln.html # Template for vulnerability reports
│ └── api.html # Template for API test reports
├── wordlists/ # Custom wordlists
│ ├── SecLists/ # Cloned from SecLists repo
│ ├── custom/ # Your custom wordlists
│ └── generated/ # Tool-generated wordlists
├── pentest-tools-mcp-server.py # Main MCP server
├── config.json # Tool configuration
├── requirements.txt # Python dependencies
├── docker-compose.yml # Docker configuration
└── Dockerfile # Container definition
セキュリティノート
- ターゲットをスキャンする権限が常にあることを確認してください
- ツールと依存関係を最新の状態に保つ
- スキャン結果を注意深く確認する
- 責任ある開示慣行に従う