ZAP-MCP: Model Context Protocol for OWASP ZAP について
ZAP-MCP は OWASP ZAP と AI モデルを MCP で接続し、モデルがスキャンを開始してアラートを読み取れるようにします。Claude Desktop などのクライアントから自動化されたセキュリティテストを行いたい利用者向けです。
主な機能
- 01MCP 経由で対象 URL の ZAP スキャンを開始
- 02スキャンの状態とサマリーを取得
- 03現在のスキャンのアラートを取得
- 04更新のための WebSocket 通信
活用シーン
- 01AI クライアントから ZAP で対象 URL をスキャンする
- 02現在のスキャンのアラートとサマリーを確認する
- 03スキャン結果からセキュリティテストレポートの下書きを作成する
MCP 対応
MCP サーバーとして、start_scan、get_scan_status、get_alerts、get_scan_summary などの ZAP ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ZAP-MCP:OWASP ZAP 用の Model Context Protocol
Model Context Protocol(MCP)を介して、OWASP ZAP と AI モデルを強力に連携します。このプロジェクトでは、AI モデルが ZAP のスキャン機能を直接操作できるようにし、AI 主導のセキュリティテストを実現します。
スターの推移
概要
ZAP-MCP は、AI モデル(Claude など)と OWASP ZAP をつなぐブリッジを提供し、自動化されたセキュリティテストと分析を可能にします。クライアント・サーバーアーキテクチャを採用しており、ZAP-MCP がサーバーとして機能します。標準化された関数を公開し、AI モデルが MCP プロトコルを通じて呼び出せるようにします。
機能
- AI 主導のセキュリティテスト:AI モデルによるセキュリティスキャンと分析を可能にします
- リアルタイムのスキャン監視:スキャンの進行状況を追跡し、即時にアラートを受け取れます
- 自動分析:セキュリティレポートと推奨事項を生成します
- 柔軟な連携:MCP プロトコルを通じて、さまざまな AI モデルと連携できます
- WebSocket 通信:リアルタイムの更新とやり取りが可能です
前提条件
- Python 3.8+
- ローカルまたはリモートで実行中の OWASP ZAP
- Claude Desktop App(またはその他の MCP 対応クライアント)
インストール
- リポジトリをクローンします:
git clone https://github.com/tazer/ZAP-MCP.git
cd ZAP-MCP
- 依存関係をインストールします:
pip install -r requirements.txt
- MCP サーバーをセットアップします:
./setup_mcp.sh
- ZAP-MCP を設定します:
claude_desktop_config.jsonを Claude アプリの設定ディレクトリにコピーします- 設定ファイル内の ZAP API キーと URL を更新します
使い方
- MCP サーバーを起動します:
mcp-server --config claude_desktop_config.json --model-dir ./models
-
Claude デスクトップアプリを設定します:
- Claude アプリの設定を開きます
- MCP サーバー連携を有効にします
- WebSocket URL を
ws://localhost:7456/wsに設定します
-
ZAP-MCP の使用を開始します:
- Claude アプリから ZAP スキャンツールを利用できるようになります
- セキュリティスキャンを依頼したり、アラートを取得したり、レポートを生成したりできます
利用可能なツール
MCP サーバーは、次の ZAP 専用ツールを公開します:
start_scan:ターゲット URL で新しい ZAP スキャンを開始しますget_scan_status:実行中のスキャンの状態を確認しますget_alerts:現在のスキャンからすべてのアラートを取得しますget_scan_summary:現在のスキャンの概要を取得します
設定
claude_desktop_config.json ファイルには、必要な設定がすべて含まれています:
{
"mcp_server": {
"host": "localhost",
"port": 7456,
"model": "claude-instant-v1",
"max_tokens": 1000,
"temperature": 0.7,
"zap_api_key": "your-zap-api-key",
"zap_url": "http://localhost:8080"
},
"local_models": {
"path": "./models",
"prefer_local": true
},
"zap_settings": {
"scan_timeout": 300,
"max_concurrent_scans": 5,
"alert_threshold": "HIGH",
"scan_policy": "default"
}
}
開発
このプロジェクトは Cursor AI を使用して開発されました。Cursor AI は、開発プロセスの効率化とコード品質の確保を支援する、インテリジェントなコーディングアシスタントです。
作成者
- TAZER - 初期開発およびメンテナンス
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
謝辞
- 優れたセキュリティテストツールを提供してくださった OWASP ZAP チーム
- Claude AI を提供してくださった Anthropic
- 開発を支援してくださった Cursor AI
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。