V9. モデルコンテキストプロトコル (MCP) セキュリティ (Model Context Protocol (MCP) Security)
管理目標
すべての MCP サーバー、クライアント、ツールが強力な認証、最小権限アクセス、完全性保証、継続的な監視によって運用され、LLM 統合が乗っ取られたり、悪用されたり、気付かれずに改変されたりできないようにします。
9.1
すべての MCP クライアントサーバー接続で双方を認証するために相互 TLS または署名付きアクセストークンを要求します。
✓
✓
✓
9.2
MCP ツールの OAuth / API クレデンシャルは専用のシークレットマネージャに保存します。プレーンテキスト構成やモデルコンテキストには保存してはいけません。
✓
✓
✓
9.3
各ツールに対してきめ細かな最小権限のパーミッションスコープを適用します (例: 読み取り専用、削除禁止)。
✓
✓
✓
9.4
完全性固定 (integrity-pinned) ハッシュを持つ認証済み MCP サーバーの許可リストを維持し、不明なサーバーや変更されたサーバーをブロックします。
✓
✓
9.5
ツールの説明を検証してハッシュ固定 (hash-pin) し、承認後の変異 (「ツールポイズニング」) に対して警告を発します。
✓
9.6
実行前にすべてのツール呼び出しとすべての引数をスキーマおよび型検証します。
✓
✓
✓
9.7
ツールの説明、入力、出力をモデルに渡す前にスキャンして、プロンプトインジェクションパターンと隠しディレクティブを探します。
✓
✓
✓
9.8
各ツールにレート制限とリソースクォータを適用して、DoS やコスト高騰を緩和します。
✓
✓
✓
9.9
リスクの高い操作 (送金、ファイル書き込み、特権管理 API) には人間 (human-in-the-loop) による明示的な承認を要求します。
✓
9.10
すべての MCP 呼び出し (呼び出し元、ツール、パラメータ、結果) をログ記録し、SIEM にストリームして、データ保持ポリシーに従ってログを保持します。
✓
✓
✓
9.11
通常のツール呼び出しパターンをベースライン化し、異常 (新しいツール、異常な量、異常な時間帯など) に対して警告を発します。
✓
9.12
各 MCP サーバーをサンドボックス化され、ネットワークセグメント化された環境で実行し、ホワイトリストに登録された API 以外のアウトバウンドトラフィックをブロックします。
✓
9.13
すべての MCP サーバー、コネクタ、ライブラリの SBOM を作成して維持し、ポリシー SLA 内で既知の CVE を修正します。
✓
✓
9.14
MCP ツールハッシュ、サーバーマニフェスト、OAuth パーミッションスコープに変更がある場合、または少なくとも 30 日ごとに、自動ドリフト検出と再バリデーションを実行します。
✓
9.15
MCP サーバーバイナリやコンテナに署名付き更新/公証メカニズムを採用し、サプライチェーン攻撃を防ぎます。
✓
9.16
どのツールが公開されているか、いつ、どのパラメータで呼び出されたかを示す、ユーザー向けの透明性 UI を提供します。
✓
✓
✓
9.17
SAST ツール (または同等のもの) で MCP サーバーをスキャンし、プロンプトインジェクションによって引き起こされる可能性のある「古典的な」脆弱性 (OS コマンドインジェクションなど) を検出して修正します。
✓
✓
✓
Last updated