日本語

MCPサーバーのテスト

リモートのMCPサーバーをWebアプリケーションのペンテスト対象としてスコープに含め、その後、エンドポイントURLとベアラートークンで認証します。

Aikido Pentest は、リモートの Model Context Protocol(MCP)サーバーを対象にテストします Webアプリケーション。MCP エンドポイントを入力し、Bearer トークンを指定すると、あとはエージェントが処理します。

で ペンテスト対象を選択、次を選択します Webアプリケーション。アプリケーション内のコパイロット、チャット、RAG、その他の LLM 機能については、こちらを参照してください AI機能のテスト.

MCP サーバーのペンテストは、ステージング環境またはテスト環境で実行してください。エージェントはエンドポイントにリクエストを送り、そこを通じてデータを作成、変更、または削除する場合があります。

何をテストするか

Aikido は、サーバーが公開しているツール、リソース、プロンプトを調査します。主な注目領域は次のとおりです。

  • ツールの探索 – サーバーが公開しているツール、リソース、プロンプトは何か、また到達できてはならないものがないか
  • 認可 – 未認証または低権限の呼び出し元が、呼び出すべきでないツールを実行したり、読めないはずのリソースを読めたりしないか
  • 安全でないツール利用 – パラメータインジェクション、SSRF 形式の挙動、コマンド実行、ツール呼び出しによるデータ流出
  • 機密データの露出 – ツールやリソースによって返されるシークレット、トークン、またはテナント間データ
  • 統合リスク – MCP サーバーと、そのツールが到達する下流システムとの間の信頼境界が弱いこと

エージェントおよびツール固有のリスクの背景については、次を参照してください エージェント型アプリケーションのOWASP Top 10.

必要なもの

  • ある リモートエンドポイント MCP サーバー用に、以下を含めて /mcp パス(たとえば、 https://mcp.staging.example.com/mcp).
  • ある ベアラートークン そのエンドポイント用で、アセスメント全体で有効です。参照: MCP で認証する.
  • ドメインの所有権。これにより 検証できます.
  • Aikidoの ペンテスト用IPアドレス エージェントがエンドポイントに到達できるよう、ファイアウォール、WAF、または API ゲートウェイの許可リストに追加してください。

ペンテストを設定

  1. Webアプリケーションを選択

    次へ移動します: ペンテスト、あなたの プロジェクト、次をクリックし 評価を作成。で ペンテスト対象を選択、次を選択します Webアプリケーション.

  2. エンドポイントをスコープに追加する

    On the スコープ 手順では、MCP サーバーのエンドポイントをターゲットとして入力します。含める /mcp 末尾に、たとえば https://mcp.staging.example.com/mcp。そのパスがない URL でも動作しますが、エージェントはエンドポイントを見つけるのに余分な時間を要します。

    完了 ドメイン検証 を、エンドポイントを提供しているホストに使用します。サーバーが内部ネットワークからしか到達できない場合は、 Aikido Brokerを使用してください: 内部の MCP URL をブローカーリソースとして追加し、そのブローカー URL をスコープに選択します。

  3. 認証情報を提供する

    On the テストユーザー の手順で、クリック テストユーザーを追加 → MCP。次の情報を提供してください:

    1. URL MCP エンドポイントの URL(スコープから事前入力済み)。末尾に /mcp.
    2. ベアラートークン。 トークン値を貼り付けます。Aikido はそれを次のように送信します Authorization: Bearer <token>。トークンはペンテスト全体で有効なままに設定してください。24 時間は適切な有効期間で、通常は既定値です。

    既定値のままにします 認証手順 。サーバーに追加の手順が必要な場合を除きます。入力して @ 上記の URL とトークンを参照するために。

    クリックします 保存してテスト を使って、エージェントが認証でき、MCP の初期化応答を正常に受け取れることを確認します。

    Authenticate with MCP modal with the endpoint URL filled in and the bearer token field showing its placeholder

    参照 MCP で認証する 項目ごとの設定について。

  4. コンテキストを追加してから、起動します

    最良の結果を得るには、 MCP サーバーのコードリポジトリを を コードとドキュメント の手順でリンクしてください。これにより実行はホワイトボックスのペンテストになり、エージェントにより深いロジックフローの脆弱性を見つけるための最大限のコンテキストが与えられます。Aikido はソースを読み、ツール、それらの呼び出し元、そして到達する下流システムを把握します。

    リポジトリをリンクできない場合は、 追加コンテキスト を使って、サーバーが公開する操作、各操作に到達すべき呼び出し元やロール、そして接続先の下流システム(データベース、内部 API、ファイルストレージ)を説明してください。

    残りを完了 安全性チェック, 料金、および 要約 の手順を実行し、その後ジョブを開始します。サーバーが大量リクエストに敏感な場合は、 1 秒あたりの最大リクエスト数 の 安全性チェック 手順で下げて、負荷を軽減してください。

ヒント

  • 専用のテストインスタンスを使用 非本番データを使用し、破壊的な操作は可能な限りモック化または無効化してください。
  • 専用のテストトークンを発行し 、アセスメント全体で有効な状態(24 時間は適切な有効期間です)に保ち、実施後にローテーションまたは失効させてください。
  • 本番環境に合わせる。 スコープに設定するエンドポイント、パス、認証は、実際のクライアントが使用するものにしてください。

ヘルプが必要ですか?

エージェントがエンドポイントに到達できないか、認証が失敗する場合は、を開いてください Intercomチャット 右下隅にあります。私たちのチームがお手伝いします!