mcpField
O
OWASP MCP Server

OWASP MCP Server

ローカル
github.com/shadsiddセキュリティ1581 週間前に更新

OWASP MCP Server について

OWASP MCP ServerはOWASP ZAPに接続し、Webセキュリティ評価を自動化します。複数のスキャン方式や複数ドメインの並行スキャンに対応し、CLIとMCP経由でリアルタイムに監視できます。

主な機能

  1. 01スパイダー・アクティブ・フルスキャン
  2. 02リアルタイムの進捗更新
  3. 03複数ドメインの並行スキャン
  4. 04CLIでのスキャン実行
  5. 05CI/CD連携

活用シーン

  1. 01Webサイトのパッシブ/アクティブスキャン
  2. 02スキャン進捗のリアルタイム監視
  3. 03複数ドメインの並行スキャン
  4. 04CI/CDパイプラインへのセキュリティスキャン追加

MCP 対応

WebSocket経由で、OWASP ZAPのスキャン制御と監視機能をMCPクライアントに提供します。評価の進捗もリアルタイムで通知します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

OWASP MCP サーバー

OWASP ZAP のセキュリティスキャン用 WebSocket ベースの Mission Control Protocol(MCP)サーバーです。セキュリティ評価をリアルタイムで制御、監視できます。

前提条件

  • Python 3.8+
  • OWASP ZAP 2.12.0+
  • Java Runtime Environment(JRE)8+
  • sudo/管理者権限(ZAP の実行に必要)

MCP サーバーを使う理由

機能MCP サーバーZAP UIZAP API
自動化✅ 完全対応❌ 限定的✅ 基本的
リアルタイム更新✅ WebSocket✅ 視覚的❌ ポーリング
CI/CD 統合✅ ネイティブ対応❌ 手動✅ 複雑
バッチ処理✅ 対応❌ 非対応✅ 限定的
学習曲線🟡 中程度🟢 簡単🔴 難しい
進捗状況の追跡✅ リアルタイム✅ 視覚的❌ 手動
複数ドメイン✅ 同時実行❌ 順次実行🟡 限定的
エラー処理✅ 堅牢✅ 基本的❌ 手動

主なコンポーネント

  • mcp_server.py - すべてを動かすエンジンです。まずこれを起動してください。OWASP ZAP に接続する、セキュリティスキャンの中核です。

  • mcp_client.py - 処理の中心となる部分です。他のコンポーネントがサーバーと通信するために使用する強力な SDK です(直接使用する必要はありません)。

  • mcp_cli.py - スキャンに使うコマンドラインツールです。セキュリティスキャン用の万能ツールのようなもので、簡単に使えるうえ、強力です。

  • test_client.py - 使い方を説明する学習用ツールです。各機能の仕組みを理解したり、セットアップをテストしたりするのに最適です。

クイックスタート

  1. OWASP ZAP をインストールします: https://www.zaproxy.org/download/ からダウンロードしてください。

  2. プロジェクトをセットアップします:

    git clone https://github.com/shadsidd/Owasp-Zap-MCP-Server-Demo.git
    cd Owasp-Zap-MCP-Server-Demo
    python -m venv venv
    source venv/bin/activate  # Windows: .\venv\Scripts\activate
    pip install -r requirements.txt
    
  3. ZAP を起動します(sudo/管理者権限が必要です):

    # macOS/Linux
    sudo /Applications/ZAP.app/Contents/Java/zap.sh -daemon -port 8080
    
    # Windows (as Administrator)
    "C:\Program Files\OWASP\Zed Attack Proxy\zap.bat" -daemon -port 8080
    
  4. MCP サーバーを起動します:

    python mcp_server.py
    
  5. CLI を使用します:

    # Quick spider scan (passive)
    python mcp_cli.py scan example.com
    
    # Full active scan (comprehensive)
    python mcp_cli.py fullscan example.com
    
    # Specific scan type with HTML report
    python mcp_cli.py scan --scan-type=active --output=html example.com
    
    # Multiple domains scan
    python mcp_cli.py scan domain1.com domain2.com
    
    # Scan from file
    python mcp_cli.py scan -f domains.txt
    

サンプルファイル

examples/ ディレクトリには、主な機能を紹介するスクリプトが含まれています。

セキュリティスキャン
  • basic_scan.py - エラー処理を含む基本的なスキャン
  • authenticated_scan.py - フォームベースの認証など、さまざまな認証方式
  • scan_domains.py - 複数ドメインの同時スキャン
  • custom_scan_policy.py - カスタムルールとしきい値
統合と監視
  • ci_cd_integration.py - CI/CD パイプラインとの統合
  • real_time_monitor.py - 進捗状況とアラートのリアルタイム監視
  • team_notifications.py - メール、Slack、Teams による通知
  • custom_rules.py - 専門的なセキュリティルール

重要な注意事項

  1. sudo の要件:

    • OWASP ZAP の実行には sudo/管理者権限が必要です
    • ZAP の起動時にパスワードの入力を求められます
  2. ポートの設定:

    • ZAP はデフォルトでポート 8080 を使用します
    • MCP サーバーはポート 3000 を使用します
    • 起動前に、これらのポートが使用中でないことを確認してください
  3. よくある問題:

    • 「Address already in use」エラーが表示される場合:
      # ポート 8080 を使用しているプロセスを確認
      sudo lsof -i :8080
      # 必要に応じてプロセスを終了
      sudo kill -9 <PID>
      
    • ZAP が起動しない場合は、次を試してください:
      # 実行中の ZAP プロセスをすべて終了
      pkill -f zap
      

スキャンの種類

MCP サーバーは複数のスキャンの種類に対応しています。

  • スパイダースキャン(デフォルト):Web サイトをクロールしてコンテンツを検出します。最も高速ですが、検出できる問題は少なめです
  • アクティブスキャン:実際の攻撃を用いてセキュリティテストを行い、より多くの脆弱性を検出します
  • フルスキャン:包括的なスキャン(スパイダー+アクティブ)を行い、最も徹底した結果を提供します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。