C02 ユーザー入力バリデーション (User Input Validation)
管理目標
ユーザー入力の堅牢なバリデーションは AI システムで最もダメージのある攻撃のいくつかに対する最前線の防御策です。プロンプトインジェクション攻撃は、システム命令を上書きしたり、機密データを漏洩したり、モデルを許可されていない動作に誘導する可能性があります。専用のフィルタとその他のバリデーションが配備されていない限り、コンテキストウィンドウを悪用するジェイルブレイクが引き続き有効になることが研究で示されています。
C2.1 プロンプトインジェクションの防御 (Prompt Injection Defense)
プロンプトインジェクションは AI システムにとって最大のリスクの一つです。この戦術に対する防御策として、パターンフィルタ、データ分類器、命令階層適用を組み合わせて採用します。
2.1.1
検証: ユーザープロンプト、RAG 結果、プラグインまたは MCP 出力、エージェント間メッセージ、API または Webhook レスポンス、構成またはポリシーファイル、メモリ読み取りとメモリ書き込みなど、動作を制御する可能性のある外部入力または導出入力は、信頼できないものとして扱われ、引用またはタグ付けとアクティブコンテンツの削除で不活性化され、プロンプトへの連結やアクションの実行前に、維持されているプロンプトインジェクション検出ルールセットまたはサービスによってスクリーニングされている。
1
D/V
2.1.2
検証: システムは、ユーザー命令処理後でも、システムおよび開発者のメッセージがユーザー命令やその他の信頼できない入力を上書きする、命令階層を適用している。
1
D/V
2.1.3
検証: サードパーティコンテンツ (ウェブページ、PDF、電子メール) から生成されたプロンプトは、メインプロンプトに連結される前に、個別にサニタイズされている (たとえば、命令のようなディレクティブを除外し、HTML、マークダウン、スクリプトコンテンツを中和している)。
2
D
C2.2 敵対的サンプルへの耐性 (Adversarial-Example Resistance)
自然言語処理 (NLP) モデルは、人間が見逃しがちだがモデルは誤分類する傾向がある、文字や単語レベルの微妙な摂動に対して依然として脆弱です。
2.2.1
検証: 基本的な入力正規化手順 (Unicode NFC、ホモグリフマッピング、空白トリミング、制御文字と不可視の Unicode 文字の削除) はトークン化やエンベディングの前、およびツールや MCP 引数に解析する前に実行されている。
1
D
2.2.2
検証: 統計的異常検出は、言語標準への編集距離が異常に高い入力、エンベディング距離が異常な入力にフラグを立てており、フラグ付けられた入力はプロンプトへの連結やアクションの実行前にゲートされている。
2
D/V
2.2.3
検証: 推論パイプラインは、高リスクのエンドポイントに対して、敵対的トレーニング強化モデルのバリアントや防御レイヤ (ランダム化、防御蒸留、アラインメントチェックなど) をサポートしている。
2
D
2.2.4
検証: 敵対的であることが疑われる入力は隔離されており、完全なペイロードとトレースメタデータ (ソース、ツールまたは MCP サーバー、エージェント ID、セッション) とともにログ記録されている。
2
V
2.2.5
検証: 入力と出力の両方でエンコーディングと表現のスマグリング (不可視の Unicode/制御文字、ホモグリフのスワップ、混合方向テキスト) は検出され、緩和されている。承認された緩和策は、正規化、厳密なスキーマバリデーション、ポリシーベースの拒否、明示的なマーキングを含んでいる。
2
D/V
C2.3 プロンプト文字セット (Prompt Character Set)
ユーザー入力の文字セットをビジネス要件に必要な文字のみを許可するように制限すると、さまざまな種類の攻撃を防ぐのに役立ちます。
2.3.1
検証: システムはユーザー入力に対して文字セット制限を実装し、ビジネス目的に明示的に必要な文字のみを許可している。
1
D
2.3.2
検証: 許可リストアプローチは、許可される文字セットを定義するために、使用されている。
1
D
2.3.3
検証: 許可されたセット外の文字を含む入力は拒否され、トレースメタデータ (ソース、ツールまたは MCP サーバー、エージェント ID、セッション) とともにログ記録されている。
1
D/V
C2.4 スキーマ、タイプ、長さのバリデーション (Schema, Type & Length Validation)
不正な形式の入力や大きすぎる入力を特徴とする AI 攻撃は、解析エラー、フィールド間のプロンプトの流出、リソース枯渇を引き起こす可能性があります。決定論的なツール呼び出しを実行する場合も、厳格なスキーマ適用が前提条件になります。
2.4.1
検証: すべての API、ツールまたは MCP エンドポイントは明示的な入力スキーマ (JSON スキーマ、Protobuf、またはマルチモーダル同等物) を定義し、余分なフィールドや不明なフィールド、暗黙的な型強制を拒否し、プロンプトアセンブリやツール実行の前にサーバーサイドで入力を検証している。
1
D
2.4.2
検証: 最大トークンやバイト制限を超える入力は、安全なエラーで拒否され、暗黙的に切り捨てられることはない。
1
D/V
2.4.3
検証: 型チェック (数値範囲、列挙値、画像/音声の MIME タイプなど) は、ツールや MCP 引数を含め、サーバーサイドで強制されている。
2
D/V
2.4.4
検証: NLP 入力を理解するセマンティックバリデータは、アルゴリズムによる DoS を防ぐために、一定時間で実行し、外部ネットワーク呼び出しを回避している。
2
D
2.4.5
検証: バリデーションの失敗は、セキュリティトリアージを支援するために、リダクション後のペイロードスニペットと正確なエラーコードとともに、トレースメタデータ (ソース、ツールまたは MCP サーバー、エージェント ID、セッション) を含めて、ログ記録されている。
3
V
C2.5 コンテンツとポリシーの審査 (Content & Policy Screening)
開発者は、許可されていないコンテンツ (不正な命令、ヘイトスピーチ、著作権で保護されたテキストなど) を要求する構文的に有効なプロンプトを検出し、それらの拡散を防ぐことができる必要があります。
2.5.1
検証: コンテンツ分類器 (ゼロショットまたはファインチューンされている) は、設定可能な閾値で、すべての入力と出力に、暴力、自傷、ヘイト、性的コンテンツ、不正なリクエストについてスコア付けしている。
1
D
2.5.2
検証: ポリシーに違反する入力は拒否されるため、ダウンストリームの LLM やツール/MCP 呼び出しに伝播していない。
1
D/V
2.5.3
検証: スクリーニングは、エージェントロール属性などの、リクエスト時に解決される属性ベースのルールを介して、ユーザー固有のポリシー (年齢、地域の法的制約) を尊重している。
2
D
2.5.4
検証: スクリーニングログは SOC 相関と将来のレッドチームのリプレイのために分類器の信頼スコアとポリシーカテゴリタグを、適用されたステージ (プロンプト前またはレスポンス後) とトレースメタデータ (ソース、ツールまたは MCP サーバー、エージェント ID、セッション) とともに、含んでいる。
3
V
C2.6 入力レート制限と不正使用防止 (Input Rate Limiting & Abuse Prevention)
開発者は、入力レートを制限し、異常な使用パターンを検出することで、AI システムに対する不正使用、リソース枯渇、自動攻撃を防ぐ必要があります。
2.6.1
検証: ユーザーごと、IP ごと、API キーごと、エージェントごと、セッション/タスクごとのレート制限は、すべての入力およびツール/MCP エンドポイントに対して適用されている。
1
D/V
2.6.2
検証: バーストおよび持続レート制限は、DoS 攻撃やブルートフォース攻撃を防ぐために調整されており、タスクごとの予算 (トークン、ツール/MCP 呼び出し、コストなど) はエージェントプランニングループに対して適用されている。
2
D/V
2.6.3
検証: 異常な使用パターン (連続したリクエスト、入力フラッディング、ツール/MCP 呼び出しの繰り返しの失敗、再帰的なエージェントループなど) は自動ブロックまたはエスカレーションをトリガーしている。
2
D/V
2.6.4
検証: 不正使用防止ログは保持され、トレースメタデータ (ソース、ツールまたは MCP サーバー、エージェント ID、セッション) とともに、新たな攻撃パターンがないかレビューされている。
3
V
C2.7 マルチモーダル入力バリデーション (Multi-Modal Input Validation)
AI システムは、インジェクション、回避、リソース不正使用を防ぐために、非テキスト入力 (画像、音声、ファイル) に対する堅牢なバリデーションを含む必要があります。
2.7.1
検証: すべての非テキスト入力 (画像、音声、ファイル) は処理前にタイプ、サイズ、形式について検証されており、抽出されたテキスト (画像からテキストや、音声からテキスト) および非表示または埋め込まれた命令 (メタデータ、レイヤ、代替テキスト、コメント) は 2.1.1 に従って信頼できないものとして扱われている。
1
D
2.7.2
検証: ファイルは取り込む前にマルウェアやステガノグラフィのペイロードについてスキャンされており、アクティブコンテンツ (スクリプトやマクロなど) は削除されるか、そのファイルは隔離されている。
2
D/V
2.7.3
検証: 画像/音声入力は敵対的な摂動や既知の攻撃パターンについてチェックされており、検出するとモデル使用前にゲーティング (ブロックまたは機能のデグレード) をトリガーしている。
2
D/V
2.7.4
検証: マルチモーダル入力バリデーションの失敗は、トレースメタデータ (ソース、ツールまたは MCP サーバー、エージェント ID、セッション) とともにログ記録され、調査のためのアラートをトリガーしている。
3
V
2.7.5
検証: クロスモーダル攻撃検出は、相関ルールとアラート生成で複数の入力タイプ (画像内のステガノグラフィペイロードとテキスト内のプロンプトインジェクションの組み合わせなど) にまたがる協調攻撃を識別しており、確認された検出はブロックされるか、HITL (human-in-the-loop) の承認を要求している。
2
D/V
2.7.6
検証: マルチモーダルバリデーションの失敗は、すべての入力様式、バリデーション結果、脅威スコア、トレースメタデータ (ソース、ツールまたは MCP サーバー、エージェント ID、セッション) を含む、詳細なログ記録をトリガーしている。
3
D/V
C2.8 リアルタイム適応型脅威検出 (Real-Time Adaptive Threat Detection)
開発者は、新しい攻撃パターンに適応し、コンパイルされたパターンマッチングによるリアルタイム保護を提供する AI 向けの高度な脅威検出システムを採用する必要があります。
2.8.1
検証: パターンマッチング (例: コンパイルされた正規表現) は、レイテンシの影響を最小限に抑えながら、すべての入力と出力 (ツール/MCP サーフェスを含む) に対して実行している。
1
D/V
2.8.3
検証: 適応型検出モデルは最新の攻撃活動に基づいて感度を調整して、新しいパターンでリアルタイムで更新されており、リスク適応型のレスポンス (ツールを無効にする、コンテキストを縮小する、HITL 承認を要求するなど) をトリガーしている。
2
D/V
2.8.4
検証: 検出精度は、トレースメタデータ (ソース、ツールまたは MCP サーバー、エージェント ID、セッション) を含む、ユーザー履歴、ソース、セッションの動作のコンテキスト分析を介して、改善されている。
3
D/V
2.8.5
検証: 検出パフォーマンスメトリクス (検出率、誤検出率、処理遅延) は、ブロックまでの時間とステージ (プロンプト前/レスポンス後) を含め、継続的に監視および最適化されている。
3
D/V
参考情報
Last updated