AOIFUTURE

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-05REQ-011は、ツールができることと、個々の呼び出しで依頼できることを別々に縮小します。書き込み先のディレクトリ、送信先、上限金額、利用できるAPI操作を、ツール実装側で制約します。

3. サンドボックスと外向き通信の制限

CT-06REQ-012は、コード実行、ブラウザ、ファイル操作を、本番環境・資格情報・無制限ネットワークから分離します。ネットワークは宣言がない限り閉じ、外向き通信は許可した宛先だけに限定します。

4. 具体的な効果を示す承認ゲート

CT-08REQ-015が求めるのは、「エージェントが送信したいと言っています」という意図の承認ではありません。差分またはペイロード、宛先、行使する特権、データ分類、ロールバック条件を示し、その具体的な効果を人が判断できることです。

5. MCPのバージョン固定と定義ハッシュ

REQ-050は、MCPサーバーを審査済み許可リストから選び、バージョンとツール定義を固定・ハッシュ化し、変更時に使用を止めて再レビューすることを求めます。これにより、レビュー後のラグプルを「静かなすり替え」ではなく「検知できるハッシュ不一致」に変えます。

確認可能な要件へ変える

ツールとアクションの安全性に関する要件一覧
要件 (REQ)強さ確認すること
REQ-010SHALL全ツールが許可リストにあり、高リスク能力が分類されている。
REQ-011SHALL権限が最小化され、入力が実行前にスキーマ検証される。
REQ-012SHALLコード、ブラウザ、ファイル操作が隔離され、外向き宛先が制限される。
REQ-014SHALL外部サービス、プラグイン、MCPプロバイダーを利用前に評価する。
REQ-015SHALL高影響アクションが具体的な効果を示して承認を求める。
REQ-050SHALLMCP定義を固定・ハッシュ化し、変更時に再レビューする。
REQ-053SHOULD承認率、遅延、オーバーライドを測り、形骸化を検知する。

MINIMUM REVIEW

MCPサーバーを本番利用する前の確認

Exposure

公開インターフェースへ直接置かず、ローカルまたはゲートウェイの背後に置く。

Permission ledger

読み取り、書き込み、外部送信、シェル/コードの4軸で権限を記録する。

Definition integrity

バージョンとツール定義のハッシュを保持し、変更を自動受け入れしない。

Credentials

短寿命の資格情報を仲介し、エージェントへ下流の秘密値を保持させない。

Approval

書き込み、外部送信、削除、本番変更へ具体的な効果を示す承認を置く。

Evidence

ツール呼び出しと承認を相関IDで追跡し、秘密値をログへ残さない。

FROM REFERENCE TO EVIDENCE

「実装済み」を、テスト結果へ

リファレンスは確認すべき境界を示します。チェックリストは未確認項目を見つけます。Evidence Demoは、その結果をどの形式で残せるかを示します。

Verification Kitが残すのは、定義された検証を実行した結果です。特定システム全体の安全性、完全な脅威カバレッジ、監査担当者による受容を保証しません。