自律型およびマルチエージェント型のシステムは 認可され、意図され、かつ制限された アクションのみを実行する必要があります。このコントロールファミリーは、明示的な認可、サンドボックス化された実行、暗号化されたアイデンティティと改竄防止監査、メッセージセキュリティ、インテント/制約ゲートを適用することで、ツールの不正使用、権限昇格、制御不能な再帰/コスト増加、プロトコル操作、エージェント間またはテナント間の干渉によるリスクを軽減します。
C9.1 実行予算、ループ制御、サーキットブレーカー (Execution Budgets, Loop Control, and Circuit Breakers)
実行時の拡張 (再帰、同時実行、コスト) を制限し、暴走動作を安全に停止します。
検証: 実行ごとの予算 (最大再帰深度、最大ファンアウト/同時実行、経過実時間、トークン、金銭支出) はオーケストレーションランタイムによって構成および適用されている。
検証: 累積リソース/支出カウンタはリクエストチェーンごとに追跡され、閾値を超える場合にはそのチェーンをハード停止している。
検証: サーキットブレーカーは予算違反で実行を停止している。
検証: セキュリティテストは、暴走ループ、予算枯渇、部分的な障害のシナリオをカバーし、安全な終了と一貫した状態を確認している。
検証: 予算とサーキットブレーカーのポリシーは Policy as Code として表現され、CI/CD で検証され、ドリフトと安全でない構成変更を防いでいる。
C9.2 影響度の高いアクションの承認と不可逆性の制御 (High-Impact Action Approval and Irreversibility Controls)
特権的または不可逆的な結果に対して明示的なチェックポイントを要求します。
検証: 特権的または不可逆的なアクション (コードのマージ/デプロイ、送金、ユーザーアクセスの変更、破壊的な削除、外部への通知) は明示的なヒューマンインザループ (human-in-loop) での承認を要求している。
検証: 承認リクエストは正確なアクションパラメータ (diff/command/recipient/amount/scope) を提示し、承認をそれらのパラメータにバインドし、「一つの承認と別の実行」を防いでいる。
検証: ロールバックが実現可能である場合は、補償アクションが定義およびテストされ (トランザクションのセマンティクス)、障害はロールバックまたは安全な封じ込めをトリガーしている。
ツールの実行、ロード、出力を制限して、不正なシステムアクセスや安全でない副作用を防止します。
検証: 各ツール/プラグインは、ツールの機能に適した最小権限のファイルシステム、ネットワーク送出 (egress)、システムコールパーミッションを備える分離されたサンドボックス (コンテナ/VM/WASM/OS サンドボックス) 内で実行している。
検証: ツールごとのクォータとタイムアウト (CPU、メモリ、ディスク、送出 (egress)、実行時間) が強制され、ログ記録され、クォータ違反はフェイルクローズされている。
検証: ツール出力は、ダウンストリームの推論や後続のアクションに組み込まれる前に、厳格なスキーマとセキュリティポリシーに対して検証されている。
検証: ツールバイナリやパッケージはロード前に完全性検証 (署名、チェックサムなど) されている。
検証: ツールマニフェストは、必要な権限、副作用レベル、リソース制限、出力バリデーション要件を宣言し、ランタイムはこれらの宣言を強制している。
検証: サンドボックスのエスケープインジケータまたはポリシー違反は自動封じ込め (ツールの無効化/隔離) をトリガーしている。
C9.4 エージェントとオーケストレータのアイデンティティ、署名、改竄防止の監査 (Agent and Orchestrator Identity, Signing, and Tamper-Evident Audit)
すべてのアクションを帰属可能にし、すべての変異を検出可能にします。
検証: 各エージェントインスタンス (およびオーケストレータ/ランタイム) は一意の暗号アイデンティティを持ち、ダウンストリームシステムへのファーストクラスのプリンシパルとして認証している (エンドユーザークレデンシャルを再使用していない)。
検証: エージェントが開始したアクションは実行チェーン (チェーン ID) に暗号的にバインドされ、否認防止と追跡可能性のために署名され、タイムスタンプ付けされている。
検証: 監査ログは改竄防止を (追加専用/WORM/不変ログストア、各レコードが前のレコードのハッシュを含む暗号ハッシュチェーン、または独立して検証可能な同等の完全性保証により) 備えており、誰が何を実行したか、開始ユーザー識別子、委譲範囲、認可決定 (ポリシー/バージョン)、ツールパラメータ、承認 (適用可能な場合)、結果を再構築するのに十分なコンテキストを含んでいる。
検証: エージェントアクション監査ログは、開始ユーザー識別子、委譲範囲、認可決定 (ポリシーバージョンを含む)、ツールパラメータ、承認レコード (適用可能な場合)、結果など、完全な実行チェーンを再構築するのに十分なコンテキストを含み、追記専用またはライトワンスのログストアに保存されている。
検証: エージェントのアイデンティティクレデンシャル (鍵/証明書/トークン) は定義されたスケジュールと侵害の兆候で入れ替わり、傷害の疑いやなりすましの試みですぐに失効して隔離している。
C9.5 安全なメッセージングとプロトコルの堅牢化 (Secure Messaging and Protocol Hardening)
エージェント間およびエージェントとツール間の通信をハイジャック、インジェクション、リプレイ、非同期化から保護します。
検証: エージェント間およびエージェントとツール間のチャネルは、現在推奨されているプロトコル (TLS 1.3 以降など) を強力な証明書/トークンバリデーションとともに使用して、相互認証と暗号化を強制している。
検証: すべてのメッセージは厳密にスキーマ検証され、不明なフィールド、不正なペイロード、サイズが大きすぎるフレームは拒否されている。
検証: メッセージの完全性はツールパラメータを含む完全なペイロードをカバーし、リプレイ保護 (ノンス/シーケンス番号/タイムスタンプウィンドウ) が適用されている。
検証: ダウンストリームエージェントに伝播されるエージェントの出力は、スキーマバリデーションに加えて、意味的制約 (値の範囲、論理的一貫性など) に対して検証されている。
C9.6 認可、委譲、継続的施行 (Authorization, Delegation, and Continuous Enforcement)
すべてのアクションは実行時に認可され、スコープによって制約されていることを確保します。
検証: エージェントのアクションは、ランタイムによって強制される、きめ細かいポリシーに基づいて認可されている。エージェントが呼び出せるツール、エージェントが提供できるパラメータ値 (許可リスト、データスコープ、アクションタイプなど) を制限し、ポリシー違反はブロックされている。
検証: エージェントがユーザーの代わりに動作する場合、ランタイムは完全性が保護された委譲コンテキスト (ユーザー ID、テナント、セッション、スコープ) を伝播し、ユーザーのクレデンシャルを使用せずに、すべてのダウンストリーム呼び出しでそのコンテキストを適用している。
検証: 認可は現在のコンテキスト (ユーザー、テナント、環境、データ分類、時間、リスク) を使用してすべての呼び出しで再評価 (継続的な認可) されている。
検証: すべてのアクセス制御の決定は、AI モデル自体ではなく、アプリケーションロジックまたはポリシーエンジンによって強制されており、モデルが生成する出力 (「ユーザーはこれを行うことが許可されている」など) はアクセス制御チェックを上書きやバイパスできない。
C9.7 意思の検証と制約ゲート (Intent Verification and Constraint Gates)
実行をユーザーの意図と厳格な制約にバインドすることで、「技術的には認可されているが意図していない」アクションを防止します。
検証: 実行前ゲートは提案されたアクションとパラメータを厳格なポリシー制約 (拒否ルール、データ処理制約、許可リスト、副作用予算) に照らして評価し、なんらかの違反で実行をブロックしている。
検証: 影響の大きいアクションは、古い商人や代替承認を防ぐために、完全性が保護され、正確なアクションパラメータにバインドされた (すぐに期限切れする) 明示的なユーザー意思確認を要求している。
検証: 事後条件チェックは意図した結果を確認し、意図しない副作用を検出している。なんらかの不一致が封じ込めを (サポートしている場合、補償アクションも) トリガーしている。
検証: プロンプトテンプレートとエージェントポリシー構成はロード時に認証済みバージョン (ハッシュや署名など) と比較して完全性検証されている。
C9.8 マルチエージェントのドメイン分離と群集リスク制御 (Multi-Agent Domain Isolation and Swarm Risk Controls)
ドメイン間の干渉と緊急の安全でない集団行動を軽減します。
検証: 異なるテナント、セキュリティドメイン、環境 (開発/テスト/本番) のエージェントは、クロスドメイン発掘と呼び出しを防止するデフォルト拒否制御での、分離されたランタイムとネットワークセグメントで実行している。
検証: ランタイム監視は安全でない緊急動作 (変動、デッドロック、制御されていないブロードキャスト、異常な呼び出しグラフ) を検出し、自動的に是正アクション (抑制、隔離、終了) を適用している。
Verify that each agent is restricted to its own memory namespace and is technically prevented from reading or modifying peer agent state, preventing unauthorized cross-agent access within the same swarm.
Verify that each agent operates with an isolated context window and dedicated credentials scoped to its role, preventing peer agents from accessing or influencing another agent's context or credential scope to prevent unauthorized cross-agent access within the same swarm.
Verify that swarm-level aggregate action rate limits (e.g., total external API calls, file writes, or network requests per time window across all agents) are enforced to prevent bursts that cause denial-of-service or abuse of external systems.
Verify that a swarm-level shutdown capability exists that can halt all active agent instances or selected problematic instances in an organized fashion and prevents new agent spawning, with shutdown completable within a pre-defined response time.
Last updated 13 hours ago