
# MCPサーバーのテスト

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

{% hint style="info" %}
で **ペンテスト対象を選択**、次を選択します **Webアプリケーション**。アプリケーション内のコパイロット、チャット、RAG、その他の LLM 機能については、こちらを参照してください [AI機能のテスト](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/testing-ai-capabilities).
{% endhint %}

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

## 何をテストするか

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

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

エージェントおよびツール固有のリスクの背景については、次を参照してください [エージェント型アプリケーションのOWASP Top 10](https://help.aikidogov.us/docs/docs-ja/pentests/coverage-and-findings/what-issues-can-aikido-pentest-find/owasp-top-10-for-agentic-applications).

## 必要なもの

* ある **リモートエンドポイント** MCP サーバー用に、以下を含めて `/mcp` パス（たとえば、 `https://mcp.staging.example.com/mcp`).
* ある **ベアラートークン** そのエンドポイント用で、アセスメント全体で有効です。参照: [MCP で認証する](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/setting-up-authenticated-testing/mcp-authentication).
* ドメインの所有権。これにより [検証できます](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/domain-verification).
* Aikidoの [ペンテスト用IPアドレス](https://help.aikidogov.us/docs/docs-ja/pentests/prepare-a-pentest/ip-addresses-for-pentest) エージェントがエンドポイントに到達できるよう、ファイアウォール、WAF、または API ゲートウェイの許可リストに追加してください。

## ペンテストを設定

{% stepper %}
{% step %}

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

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

{% step %}

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

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

完了 [ドメイン検証](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/domain-verification) を、エンドポイントを提供しているホストに使用します。サーバーが内部ネットワークからしか到達できない場合は、 [Aikido Broker](https://help.aikidogov.us/docs/docs-ja/miscellaneous-info/aikido-broker-for-internal-applications)を使用してください: 内部の MCP URL をブローカーリソースとして追加し、そのブローカー URL をスコープに選択します。
{% endstep %}

{% step %}

### 認証情報を提供する

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

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

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

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

<figure><img src="https://help.aikidogov.us/_assets/f8b27c7e6515/authenticate-with-mcp.png" alt="Authenticate with MCP modal with the endpoint URL filled in and the bearer token field showing its placeholder"><figcaption></figcaption></figure>

参照 [MCP で認証する](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/setting-up-authenticated-testing/mcp-authentication) 項目ごとの設定について。
{% endstep %}

{% step %}

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

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

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

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

## ヒント

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

## ヘルプが必要ですか？

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