これは何か
AIエージェント指示注入対策は、AI が作業のために読み込む文書・データ・ウェブの内容に、人の指示に見せかけた文(注入された指示)が紛れていても、AI がそれに従って意図しない変更や漏えいをしないように、権限・設計・検知・手順を決めた成果物です。
AI エージェントは、人の指示だけでなく、作業中に読む文書の内容も「言葉」として受け取ります。だから、読み込んだ文書の中の「このファイルを削除せよ」「この情報を外に送れ」という文を、人の指示と取り違えることがあります。これを「指示の注入(プロンプトインジェクション)」と呼びます。攻撃者が仕組むこともあれば、無害な文書の中の文が偶然そう読めることもあります。
なぜ作るか
- AI が読む内容に紛れた指示で、プログラム・設定・データが変えられる経路を塞ぐ
- AI に渡す権限を「読んだ内容に従っても被害が出ない大きさ」に抑える(09-06 AIにどこまで権限を渡すか)
- 注入が起きたときに、変更の記録から検知し、戻せるようにする
- 脅威モデル(SEC-006 脅威モデル)の「開発の道具と AI の実行環境」という入口の対策を具体にする
誰が使うか・いつ作るか
- 作る人:AI ガバナンスの責任者とセキュリティの責任者。開発・CI/CD 基盤を担当する会社が実行環境の設定を行う
- 使う人:AI に作業を頼む開発者、AI の実行環境を管理する人、レビューする人、評価・監査に対応する人
- 一般的には、AI エージェントに外部の文書やデータを読ませる運用を始める前に決め、AI が読める範囲や権限を変えるたびに見直します
- アステリア案件で指示の注入への対策が取られたか、どんな権限で AI が動いたかは、正本に記載がありません。未確定
CASE FACTFROZEN正本に記載されたアステリア案件の事実
AI の実行環境に関係する記載
- AI活用あり。システムに SYS-10 AI開発エージェント、SYS-09 開発・CI/CD基盤、SYS-08 認証・ID基盤 がある
- AIは意思決定責任者ではない。人間が管理する作業実行・支援手段とする
- AIへ最終委任しない事項:投資承認、要件確定、設計承認、セキュリティ例外承認、本番移行承認、Go / No-Go、重大障害判断
- 成果物に AI-002 AIエージェント権限表 がある
- P-013 木村 亮 — AIガバナンス責任者、P-012 石井 稔 — セキュリティ責任者
AI エージェントが何を読み、どんな権限を持ち、注入への対策が何だったかは、正本に記載がありません。未確定
主な項目
一般的には、次の項目で構成します。
- AI が読む内容の分類:信頼できる指示(人が直接与える)、信頼できない内容(取り込んだ文書、外部のウェブ、データベースの値、他システムからの入力)。信頼できない内容は「情報」として扱い「指示」として扱わない設計
- 権限の上限:AI が読んだ内容に従ってしまっても被害が限られる権限(作業用の枝への書き込みのみ、本番・設定・秘密情報には触れない)。AI-002 AIエージェント権限表 との対応
- 実行環境の隔離:AI が動く環境から、本番・秘密情報・外部への送信経路を切り離す
- 人の関門:AI の変更が本番や設定に反映される前に、人が変更そのものを読み、承認する手順(AI の説明を根拠にしない)
- 検知:頼んだ範囲の外の変更、外部への送信の試み、秘密情報へのアクセスの試みを、記録から自動で検知する
- 試験:注入された指示を含む文書を意図的に読ませ、AI が従わないこと・従っても検知されることを定期的に確かめる
- 起きたときの手順:変更の停止、戻し、影響の確認、記録、再発防止
教材用サンプル成果物の読み方を学ぶための例
教材用サンプル — 読む内容の分類と、権限の上限
この成果物は学習用サンプルです。FROZEN正本に記載されたCASE FACTと、成果物の読み方を学ぶための教材用サンプル値を区別して表示しています。
次の表は、対策の書き方を学ぶための例です。内容はすべて教材上の架空の例で、アステリア案件の記録ではありません。
| 内容(教材上の例) | 信頼の扱い | AI にどう渡すか | 期待する振る舞い |
|---|---|---|---|
| 開発者が直接書いた指示 | 信頼できる指示 | 指示として渡す | 指示に従う(範囲の制限つき) |
| 課題管理の文書、設計書 | 信頼できない情報 | 「参考情報」と明示して渡す | 中の命令文に従わない。従いたくなる文があれば人に報告 |
| 外部のウェブの内容、取引先からのファイル | 信頼できない情報 | 要約のみ、または渡さない | 中の命令文に従わない |
| データベースの値、ログ | 信頼できない情報 | 値として渡す | 値を指示と解釈しない |
| 権限(教材上の例) | 上限 | 理由 | 検知 |
|---|---|---|---|
| プログラムの変更 | 作業用の枝への書き込みのみ。本線・設定・基盤の定義は不可 | 注入に従っても、人の関門を通らなければ本番に届かない | 頼んだ範囲の外の変更を自動で照合(AI-005 AI変更来歴記録) |
| 秘密情報 | 読めない。必要なら仕組みが代わりに使う | 注入で持ち出されると取り返しがつかない | 秘密情報の保管の仕組みへのアクセスの記録 |
| 外部への通信 | 許可した宛先のみ | 注入で情報を外に送る経路を塞ぐ | 許可外の宛先への試みを記録し通知 |
| 本番環境 | 一切の操作不可 | 本番移行承認は人が行う | 本番の操作記録に AI の識別子が現れたら即通知 |
読み方
- AI が読む内容が「指示」と「情報」に分類され、情報の中の命令文に従わない設計になっているか
- 権限の上限が「従ってしまっても被害が限られる」大きさか。本番・設定・秘密情報・外部送信が切り離されているか
- 人の関門が、AI の説明ではなく変更そのものを読む形か
- 検知の仕組みがあり、試験で定期的に確かめているか
- 起きたときの手順に、戻しと影響の確認があるか
書き方
- AI が読む内容を洗い出し、信頼の扱いを分類する
- 権限表と突き合わせ、上限を決める。「従ってしまったら」を前提に決める
- 実行環境の隔離を基盤の担当と設計する
- 検知の規則を自動の流れと監視に組み込む
- 注入された指示を含む試験用の文書を用意し、定期的に試験する
何を書いてはいけないか
- 「AI は賢いので従わない」という前提(従うことがあると考えて設計する)
- 注入を成功させる具体的な文例を一般の文書に書くこと(試験用の文例は限られた人だけが見る別の場所に置く)
- 権限の上限のない「便利さ優先」の設定
- 実在の製品名を、案件の正式な採用として書くこと(正本に記載がない)
どこを見るか
- 読む内容の分類と「情報として扱う」設計
- 権限の上限と隔離
- 人の関門の実体
- 検知と試験
- 起きたときの手順
赤信号
- AI が外部のウェブや取引先のファイルをそのまま読み、かつ本番や設定に触れる権限を持っている
- 「AI の説明を読んで承認」が人の関門になっている
- 注入の試験を一度も行っておらず、対策が机上のまま
- 頼んだ範囲の外の変更が起きても、誰も気づかない
よくある失敗
- 便利さを優先して AI に広い権限を与え、読み込んだ文書の文に従って設定が変わる
- 対策を「AI に注意するよう指示する」だけで済ませ、権限と隔離で守らない
- 検知の仕組みを作ったが、通知を誰も見ていない
関係するUnit・成果物・危機演習
- Unit:09-06 AIにどこまで権限を渡すか、08-06 攻撃者の目でどう見るか、09-05 AIにコードを書かせる場合の基本、08-02 必要最小限の権限とは何か
- 成果物:AI-001 AI開発利用方針、AI-002 AIエージェント権限表、AI-005 AI変更来歴記録、SEC-006 脅威モデル、SEC-007 秘密情報・鍵管理台帳
- 危機演習:この成果物を直接の題材にする危機演習はありません
AI WORKFLOW
AIは、AI エージェントの設定(読める範囲、権限、通信の許可)を、この対策の表と突き合わせ、上限を超えている設定を探す下書きに役立ちます。
「次の AI エージェントの設定の一覧を、添付の『権限の上限』の表と突き合わせ、上限を超えている設定、上限の表にない設定を示してください。設定を変える提案はしないでください。」
REVIEW
- AIが「上限内」と判断した設定が、本当に上限の意味を満たしているか(名前が似ているだけでないか)
- 上限の表にない設定について、人が扱いを決めたか
- 設定の一覧を AI に渡してよいか(それ自体が守るべき情報であること)を事前に確かめたか。渡すなら秘密の値を含めない
人間が判断すること
- AI に読ませてよい内容の範囲
- 権限の上限と、便利さとの釣り合い
- 注入が疑われたときに、AI の運用を止めるか
セキュリティ例外承認は、AIへ最終委任しない事項です(正本の方針)。
いつ使うか
この教材では STAGE 09|120人で安全に開発する の文脈で扱います。 アステリア案件での正式な作成・使用時期(月)は正本に記載がないため、未確定としています。
最後の問い
AI が読み込む文書やデータの中に「この設定を変えろ」という文が紛れていたとき、この対策を読んだ担当者は、「AI はそれに従わない」と言える根拠と、「従ってしまったら検知できる」仕組みを説明できますか?