REFERENCE / CHAPTER 05
このページで使うTH、CT、REQ、VTは、4つの記号の読み方で先に確認できます。
脅威 (TH-02 · TH-07) / コントロール (CT-04 · CT-05 · CT-06 · CT-08 · CT-14)
ツールは、文章を現実の結果へ変える境界です。
攻撃者の一段落が、削除、外部送信、コード実行、本番変更へ変わるにはツールが必要です。だから防御の中心は「モデルが善良であること」ではなく、到達できる能力を小さく保ち、危険なアクションをシステム側で止めることにあります。
何が危険なのか
通常のアプリケーションでは、関数の引数は自分たちが書いたコードから来ます。AIエージェントでは、ツールの引数を組み立てるモデルが、Webページ、メール、PDF、RAG、ツール出力に含まれる信頼できない文章から影響を受けます。
ツール境界を、信頼境界として扱う。
型、範囲、宛先、データ分類、許可された操作は、プロンプトではなくツール側で検証します。
TH-01のプロンプトインジェクションは侵入口です。過剰な権限を持つツールが呼び出されたとき、TH-02のツール悪用として実害に変わります。MCPサーバーやプラグインがすり替わる場合は、TH-07のサプライチェーン侵害が同じ境界へ到達します。
実装するコントロール
1. ツールレジストリと許可リスト
CT-04は、各ツールの所有者、スキーマ、バージョン、リスククラス、ネットワーク・ファイル・金銭・コード実行能力を記録します。拒否リストではなく、名指ししたものだけを許可するポジティブモデルを使います。
2. 最小権限と入力検証
CT-05とREQ-011は、ツールができることと、個々の呼び出しで依頼できることを別々に縮小します。書き込み先のディレクトリ、送信先、上限金額、利用できるAPI操作を、ツール実装側で制約します。
3. サンドボックスと外向き通信の制限
CT-06とREQ-012は、コード実行、ブラウザ、ファイル操作を、本番環境・資格情報・無制限ネットワークから分離します。ネットワークは宣言がない限り閉じ、外向き通信は許可した宛先だけに限定します。
4. 具体的な効果を示す承認ゲート
CT-08とREQ-015が求めるのは、「エージェントが送信したいと言っています」という意図の承認ではありません。差分またはペイロード、宛先、行使する特権、データ分類、ロールバック条件を示し、その具体的な効果を人が判断できることです。
5. MCPのバージョン固定と定義ハッシュ
REQ-050は、MCPサーバーを審査済み許可リストから選び、バージョンとツール定義を固定・ハッシュ化し、変更時に使用を止めて再レビューすることを求めます。これにより、レビュー後のラグプルを「静かなすり替え」ではなく「検知できるハッシュ不一致」に変えます。
確認可能な要件へ変える
ツールとアクションの安全性に関する要件一覧 | 要件 (REQ) | 強さ | 確認すること |
| REQ-010 | SHALL | 全ツールが許可リストにあり、高リスク能力が分類されている。 |
| REQ-011 | SHALL | 権限が最小化され、入力が実行前にスキーマ検証される。 |
| REQ-012 | SHALL | コード、ブラウザ、ファイル操作が隔離され、外向き宛先が制限される。 |
| REQ-014 | SHALL | 外部サービス、プラグイン、MCPプロバイダーを利用前に評価する。 |
| REQ-015 | SHALL | 高影響アクションが具体的な効果を示して承認を求める。 |
| REQ-050 | SHALL | MCP定義を固定・ハッシュ化し、変更時に再レビューする。 |
| REQ-053 | SHOULD | 承認率、遅延、オーバーライドを測り、形骸化を検知する。 |
MINIMUM REVIEW
MCPサーバーを本番利用する前の確認
Exposure
公開インターフェースへ直接置かず、ローカルまたはゲートウェイの背後に置く。
Permission ledger
読み取り、書き込み、外部送信、シェル/コードの4軸で権限を記録する。
Definition integrity
バージョンとツール定義のハッシュを保持し、変更を自動受け入れしない。
Credentials
短寿命の資格情報を仲介し、エージェントへ下流の秘密値を保持させない。
Approval
書き込み、外部送信、削除、本番変更へ具体的な効果を示す承認を置く。
Evidence
ツール呼び出しと承認を相関IDで追跡し、秘密値をログへ残さない。
FROM REFERENCE TO EVIDENCE
「実装済み」を、テスト結果へ
リファレンスは確認すべき境界を示します。チェックリストは未確認項目を見つけます。Evidence Demoは、その結果をどの形式で残せるかを示します。
Verification Kitが残すのは、定義された検証を実行した結果です。特定システム全体の安全性、完全な脅威カバレッジ、監査担当者による受容を保証しません。