AIエージェントのセキュリティで最初に決めるべきものは、禁止語ではなく権限境界です。どのデータを読めるか、どの操作を提案できるか、誰の承認後に実行できるか、異常時に何を止めるかを、ツール単位かつ業務単位で固定します。
対象読者は、社内データやSaaSへ接続するAIエージェントの導入責任者、情報システム部門、セキュリティ担当者、業務部門の承認者です。この記事を読み終えた時点で、企画中の一案件について「試行可」「権限を縮小して試行」「見送り」を判断できる評価票まで作れる状態を目指します。
AIエージェントのセキュリティ対象を実行経路で定義する
チャット画面に不適切な文章が出ることだけが事故ではありません。AIエージェントは、外部の文書を読み、作業計画を組み、ツールを選び、検索・更新・送信などを実行します。そのため保護対象は、利用者の入力、取得したコンテキスト、モデルの判断、ツール引数、接続先の応答、保存メモリ、監査ログまでを含む一連の経路です。NISTの「Generative AI Profile」は、生成AIリスクを組織の目的や状況に合わせて識別・測定・管理・統治する補助資料です。個別の防御機能を導入するだけで終えず、責任者と残余リスクを継続管理する根拠として使えます[2]。
適用範囲は「顧客情報を検索して回答案を作る」など、開始入力と終了成果物を一つに絞ります。業務名だけで区切ると、顧客対応という一つの業務へ閲覧、下書き、メール送信、契約変更の権限が入り込みます。そこで、対象データ、許可された操作、実行主体、承認者、ログ保管期間を一組として登録します。エージェントが複数ある場合も、共有アカウントを一つ渡すのではなく、役割ごとのサービスIDと許可範囲を分離します。
| 段階 | 守る対象 | 設計時に確定する証拠 |
|---|---|---|
| 入力 | 利用者の依頼、添付ファイル、外部ページ | 許容形式、機密区分、信頼できない入力の扱い |
| 判断 | 指示の優先順位、作業計画、ツール選択 | 許可された目的、拒否規則、承認へ回す条件 |
| 実行 | API、MCP、RPA、データベース操作 | サービスID、スコープ、引数制約、実行上限 |
| 出力・記録 | 回答、送信物、更新結果、トレース | マスキング規則、保存先、改ざん防止、保管期限 |
安全性の判定単位はモデル名ではなく、「誰の権限で、どの情報を使い、何を変えられる実行経路か」です。モデルを交換しても、この境界が曖昧なら事故時の影響範囲は確定しません。
情報漏洩と誤操作が起きる仕組みを五段階で追跡する
代表的な起点は、利用者が直接入力する指示だけではありません。検索先のWebページ、受信メール、PDF、チケット本文に埋め込まれた命令が、信頼できる業務データのように処理される間接プロンプトインジェクションがあります。OWASPの「Top 10 for Agentic Applications 2026」は、目標の乗っ取り、ツール悪用、ID・権限の悪用、エージェント型サプライチェーン、予期しないコード実行、メモリ汚染などを別のリスクとして整理しています[1]。したがって、入力フィルター一つで全経路を守れるとは考えません。
事故は「信頼できない内容を読む」「内容を指示として採用する」「広い権限のツールを選ぶ」「引数を検証せず実行する」「結果を外部へ返す」という連鎖で成立します。連鎖の各点に独立した制御を置けば、一つが破られても直ちに外部操作へ到達しません。OpenAIの現行公式ガイドも、信頼できないデータを上位指示へ混ぜないこと、ノード間を構造化出力で制約すること、ツール承認と評価を組み合わせることを製品実装上の対策として示しています[3]。これは特定製品の案内ですが、自由文をそのまま高権限ツールへ渡さないという設計原則は他の構成にも応用できます。
| 段階 | 成立条件 | 遮断する制御 | 残すログ |
|---|---|---|---|
| 1. 混入 | 外部文書に命令らしい文字列がある | 出所ラベル、入力分離、危険形式の隔離 | 取得元URI、ハッシュ、機密区分 |
| 2. 採用 | データを上位指示として扱う | 指示階層、構造化抽出、許可目的の照合 | 採用した根拠、拒否した候補 |
| 3. 選択 | 目的外のツールが候補に入る | 案件別ツール許可リスト、動的な絞り込み | 提示ツール、選択理由、モデル版 |
| 4. 実行 | 危険な引数が接続先へ届く | スキーマ検証、承認、件数・金額上限 | 承認ID、正規化後の引数、応答コード |
| 5. 持ち出し | 機密結果が回答や別ツールへ渡る | 出力最小化、宛先制限、DLP、再認可 | 送信先、開示項目、マスキング結果 |
設計レビューでは、各段階を飛ばさず、模擬攻撃を一件ずつ通します。「最終回答に秘密が出なかった」だけでは不十分です。途中のツール引数やログに個人情報が残った場合も失敗として数えます。
権限境界をデータ・操作・承認・時間の四面で決める
最小権限は、単に読み取り専用アカウントを作ることではありません。データ行や項目の範囲、可能な動詞、承認の要否、権限が有効な時間を同時に狭めます。たとえば営業支援エージェントに顧客検索を許す場合でも、全社顧客の一括取得ではなく担当顧客だけを検索対象にし、返却項目から本人確認情報を外します。メモ作成は下書き領域だけ、顧客への送信は担当者承認後、権限トークンは案件処理中の短時間だけ有効、というように境界を重ねます。
判断主体も分離します。モデルは「この操作が必要だ」と提案できますが、認可サーバーや業務ルールエンジンが最終許可を出します。モデル自身に「自分の操作は安全か」を判定させて同じモデルの判断だけで実行すると、攻撃入力と認可判断が同じ文脈に入り、境界として機能しません。高リスク操作は、依頼者とは別の承認者、または職務分掌に沿った二者承認へ送ります。
| 機能 | AIが単独で行える範囲 | 人の承認後に行える範囲 | 常に禁止する範囲 |
|---|---|---|---|
| 顧客検索 | 担当顧客をID指定で一件取得 | 監査目的の複数件取得 | 全件出力、本人確認情報の取得 |
| 回答作成 | 承認済み資料から下書きを保存 | 例外条件を含む回答の確定 | 根拠のない契約条件の追加 |
| メール | 下書きフォルダーへの保存 | 確認済み宛先への一通送信 | 一斉送信、自動転送先の変更 |
| 契約情報 | 状態と更新期限の参照 | 担当部署が画面上で変更 | エージェント資格情報による更新 |
| 削除 | なし | 専用管理画面で二者承認 | ツール経由の物理削除 |
実装者へ渡す権限ポリシーは自然文だけにせず、機械判定できる項目へ分解します。次の例では、送信件数、許可ドメイン、承認の有効時間、再試行回数を固定しています。
operation: send_customer_emailagent_identity: support-draft-agentallowed_recipients: customer_domain_allowlistmax_messages_per_approval: 1approval_required: trueapproval_expires_minutes: 15retry_limit: 0on_policy_mismatch: deny_and_alert
脅威を発生点・必要権限・検知証拠・最大影響で比較する
脅威一覧をそのままチェックリストへ移すと、自社で先に直すべき箇所が分かりません。比較軸を「どこで始まるか」「成立に必要な権限は何か」「どの証拠で検知するか」「最悪時に何が変わるか」の四つに統一します。確率を裏付ける社内データがない段階では、発生頻度を高・中・低と断定せず、影響の大きさと制御の欠落数で対応順を決めます。
OWASPの現行分類に照らすと、目標の乗っ取りとツール悪用は連続して起こり得ますが、対策の所有者は同じではありません。前者は入力分離や指示設計、後者はツールの許可リストと引数検証が中心です。ID・権限の悪用は認証認可基盤、サプライチェーンは依存部品・MCPサーバー・ツール定義の調達管理、メモリ汚染は保存前検査と履歴の版管理が担当します[1]。
| 脅威 | 主な発生点 | 成立に必要な状態 | 優先する検知証拠 | 最大影響 |
|---|---|---|---|---|
| 目標の乗っ取り | 外部入力の解釈 | 信頼境界を越えた指示採用 | 指示出所と判断トレース | 目的外の計画へ変更 |
| ツール悪用 | 選択・引数生成 | 危険ツールまたは広い引数 | 候補ツールと正規化後引数 | 送信、更新、削除 |
| ID・権限の悪用 | 接続・認可 | 共有資格情報、過大スコープ | 主体ID、トークン範囲、認可結果 | 他利用者のデータ操作 |
| 供給経路の侵害 | 更新・依存部品 | 未検証のサーバーや定義を導入 | 署名、ハッシュ、変更承認 | 複数エージェントへ波及 |
| メモリ汚染 | 長期記憶の保存 | 検証前の内容を再利用 | 保存者、根拠、前後差分 | 将来案件の判断を継続誘導 |
| 予期しないコード実行 | コード・シェルツール | 隔離不足と自由な引数 | 実行環境、コマンド、生成物 | 基盤侵害、情報持ち出し |
この票の目的はランキング作りではなく、制御責任者を割り当てることです。一つの脅威に所有者がいない場合、導入責任者が暫定所有者となり、正式な移管が終わるまで本番接続を許可しません。
導入前に証拠をそろえる七段階のセキュリティ手順
審査は企画書の表現ではなく、実際に使うID、ツール定義、テスト記録を対象にします。NIST AI RMFの考え方を自社工程へ落とす際は、統治方針を先に置き、対象を把握し、測定してから残余リスクを管理します[2]。以下の七段階はその順序を、AIエージェントの接続審査に合わせた実務案です。
- 業務境界を一文にする。開始入力、終了成果物、対象外操作を記載し、契約変更や送金など別工程を混ぜません。成果物は業務フロー図です。
- データ経路を棚卸しする。取得元、モデルへ渡す項目、ツールへ送る項目、ログへ残る項目を列にしたデータフロー表を作ります。個人情報は利用目的も付記します。
- ツールごとの権限を発行する。共有管理者IDを避け、読み取り、下書き、送信、更新を別スコープへ分けます。発行画面とポリシーの出力を証拠として保存します。
- 承認点と上限を設定する。金額、件数、宛先、不可逆性のいずれかが閾値を超える操作は、人へ戻します。承認者が依頼者と同一でよい範囲も明文化します。
- 正常・境界・攻撃ケースを実行する。通常十件、入力不足五件、権限逸脱五件、間接インジェクション五件など、最低二十五件の小規模試行を行い、途中のツール呼び出しまで採点します。件数は想定例であり、自社の損失規模に応じて増やします。
- 停止と復旧を実演する。資格情報を無効化し、キューを止め、未完了案件を特定し、手作業へ切り替えるまでを計時します。机上確認だけで合格にしません。
- 残余リスクを承認する。防げない事象、検知までの時間、想定最大件数、受容者を記録し、利用部門とセキュリティ部門が同じ版へ署名します。
各段階の終了条件は「会議で確認した」ではなく、証拠ファイルの所在と責任者が登録されていることです。ツール追加、モデル変更、プロンプトの権限規則変更、接続先APIのスコープ変更が起きた場合は、影響する段階から再審査します。
業務・セキュリティ・基盤の責任分担を証拠単位で決める
AIエージェントの事故では、モデルの回答、ツールの認可、接続先の処理が別の組織に属します。「全員で確認する」という体制では、異常を見つけた人が誰へ渡すか決められず、停止が遅れます。業務責任者は正しい成果物と許容できない業務影響、セキュリティ責任者は脅威モデルと重大事故ゲート、基盤責任者はID・ネットワーク・ログ、開発責任者は指示・ツール定義・回帰試験、個人情報保護または法務担当は利用目的・契約・通知義務を所有します。最終的な残余リスクの受容者は、実装担当者ではなく、損失と顧客影響を引き受ける事業責任者です。
役割表には会議参加者ではなく、各担当が作成し、承認し、異常時に更新する証拠を記載します。たとえば開発担当が権限表を作っても、実際の認可ポリシーを発行する基盤担当が照合しなければ、文書と本番設定がずれる可能性があります。業務責任者が承認する評価ケースには、通常案件だけでなく、入力不足、顧客取り違え、禁止操作、取消不能な操作を含めます。セキュリティ担当は攻撃文字列そのものだけでなく、外部文書からツール実行へ至る経路を再現します。
| 責任者 | 決定する事項 | 受け渡す証拠 | 停止時の最初の行動 |
|---|---|---|---|
| 業務責任者 | 対象業務、正解、例外、損失上限 | 業務境界図、正解付き評価ケース | 未完了案件を人へ割り当てる |
| セキュリティ責任者 | 脅威、重大事故、再開条件 | 脅威比較票、攻撃試験、残余リスク | 証跡を保全し影響調査を開始する |
| 基盤・ID責任者 | 主体ID、スコープ、監視、無効化 | 認可設定、ログ項目、停止操作記録 | 資格情報と実行経路を遮断する |
| 開発責任者 | 指示、ツール定義、引数検証 | 構成版、差分、回帰試験結果 | 対象版を固定し再実行を止める |
| 法務・個人情報担当 | 利用目的、契約条件、通知要否 | 適法性確認、委託先条件、連絡基準 | 報告期限と通知対象を判定する |
定例会の終了条件は、未決事項がゼロになることではありません。未決事項ごとに暫定制限、決定者、期限を付け、その期限までは権限を拡張しないことです。担当者の異動時には、権限表、評価ケース、停止操作の実演記録を引き継ぎ、連絡網の名前だけを差し替えて済ませません。
安全性を重み付き評価式と重大事故ゲートで判定する
安全性を一つの平均点だけで表すと、重大な情報漏洩が一件あっても、他項目の高得点で隠れます。そこで最初に重大事故ゲートを置き、その後に防御・権限・検知・復旧の四領域を採点します。以下は公的標準の公式採点式ではなく、社内試行の比較を再現可能にするための編集部提案です。項目と重みは試験開始前に版固定し、結果を見てから有利な配点へ変えません。
重大事故ゲート:未承認の外部送信、機密情報の平文開示、禁止された更新・削除、別利用者権限の使用が一件でもあれば不合格。
安全準備度 S:S = 0.35B + 0.30P + 0.20D + 0.15R
Bは攻撃遮断率、Pは権限適合率、Dは検知証拠充足率、Rは復旧手順成功率です。各値は0〜100で計算します。
攻撃遮断率 B = 遮断できた攻撃ケース数 ÷ 攻撃ケース総数 × 100権限適合率 P = 許可どおりだったツール呼び出し数 ÷ 全ツール呼び出し数 × 100検知証拠充足率 D = 必須項目がそろった実行記録数 ÷ 全実行記録数 × 100復旧手順成功率 R = 制限時間内に復旧できた演習数 ÷ 復旧演習総数 × 100
想定例として、攻撃ケース二十件中十九件を遮断してB=95、ツール呼び出し八十件中七十八件が許可どおりでP=97.5、必須ログ五十件中四十七件が完全でD=94、復旧演習四回すべて成功してR=100なら、Sは96.1点です。ただし未承認送信が一件あれば、96.1点でもゲート不合格です。小数第一位で丸める規則や、分母から除外する技術障害の定義も先に決めます。
| 評価領域 | 試験証拠 | 合格条件の例 | 不合格時の処置 |
|---|---|---|---|
| 重大事故ゲート | 外部送信・秘密開示・更新・越権の全記録 | 四分類とも0件 | 接続を閉じて原因工程を再設計 |
| 攻撃遮断 | 直接・間接注入、メモリ汚染、危険引数 | Bが95以上かつ同一原因の連敗なし | 入力分離または実行前検証を追加 |
| 権限適合 | 主体ID、スコープ、操作、対象 | Pが99以上 | 権限縮小後に全ケースを再実行 |
| 検知証拠 | 時刻、承認ID、引数、結果、モデル版 | Dが98以上 | ログ欠落中は本番移行を保留 |
| 復旧 | 停止時刻、無効化、案件照合、再開承認 | Rが100かつ目標復旧時間内 | 手順改訂と再演習 |
合格値は想定例です。顧客への自動送信と、社内検索の下書きでは許容損失が異なります。母数が少ない試行では95%という数値の不確実性が大きいため、件数と失敗内容を併記し、スコアだけを稟議資料へ転記しません。
運用監視では判断・承認・実行を同じIDで結び付ける
本番後に必要なのは会話全文の保存だけではありません。一つの案件IDに、利用者、入力の出所、採用した方針版、提示されたツール、選択したツール、正規化後の引数、承認者、接続先の結果、最終出力を結び付けます。機密情報をログへ複製しないよう、値そのものではなく参照IDやハッシュを残す項目も分けます。監査担当者が「誰が何を許可し、何が実行されたか」をモデルの説明なしで再構成できることが完成条件です。
監視指標は、拒否件数の多さだけで判断しません。新規ツールの出現、通常と異なる宛先、権限エラーの急増、同じ案件の連続再試行、承認後の引数変更、秘密情報検知、監査ログ欠落を別々に通知します。たとえば過去四週間の同曜日・同時間帯中央値に対してツール呼び出し数が三倍を超えた場合は調査通知、許可リスト外ツールが一度でも提示された場合は実行停止、と影響に応じて段階を分けます。三倍は想定閾値なので、試行ログから誤検知率を測って調整します。
変更管理では、モデル、システム指示、ツール定義、認可ポリシー、接続先API、検索データ、メモリ構造を構成品として版管理します。差分ごとに再試験範囲を決め、権限拡張や新しい外部送信先を含む変更は通常の文章修正と同じ承認経路に流しません。OpenAIの製品ガイドが推奨するトレース評価も、判断やツール呼び出しのどこで誤りが起きたかを特定する方法として参考になります[3]。
| シグナル | 警戒条件の想定例 | 自動処置 | 確認責任者 |
|---|---|---|---|
| 未登録ツール | 候補または実行が1件 | 対象ランを拒否 | エージェント運用責任者 |
| 承認後の引数差分 | 宛先・金額・件数に差分 | 承認を失効 | 業務承認者 |
| 権限エラー | 10分で3回 | 資格情報を一時停止 | ID管理担当 |
| ログ欠落 | 必須項目が1件欠落 | 書き込み操作を停止 | セキュリティ監視担当 |
| 秘密情報検知 | 平文候補が1件 | 出力遮断と証跡保全 | インシデント責任者 |
即時停止・部分停止・再開の条件を運用開始前に固定する
停止判断を担当者の勇気に依存させないため、即時停止と部分停止を分けます。未承認の外部送信、禁止データの開示、越権アクセス、削除・送金など不可逆操作、監査ログの改ざん疑いは、影響件数が一件でも即時停止です。対象エージェントの資格情報を無効化し、実行キューを凍結し、未完了案件を人の処理へ切り替えます。単一ツールのタイムアウトや一時的な接続障害は、そのツールだけを閉じて読み取りや下書きを継続できる場合がありますが、再試行上限を超えたらラン全体を終了します。
停止後は、最後に正常だった実行ID、最初の異常ID、同じ資格情報で処理した案件、外部へ渡った項目、承認記録を保全します。個人情報、契約、決済、顧客通知へ影響する可能性がある場合は、セキュリティ部門だけで完結させず、法務・個人情報保護・業務責任者へ引き継ぎます。法令上の報告要否は地域や契約で異なるため、この記事だけで判断せず社内の事故対応基準を適用します。
再開には、原因の特定、制御の修正、侵害された資格情報の交換、影響範囲の確定、失敗ケースを含む再評価、業務責任者とセキュリティ責任者の承認を必要とします。単にプロンプトを変更して同じ入力が通っただけでは再開しません。OWASPが示すように、エージェントのリスクは目標、ツール、ID、供給経路、メモリなど複数領域にまたがるため、原因と隣接する経路も確認します[1]。
| 区分 | 発動条件 | 止める範囲 | 解除に必要な証拠 |
|---|---|---|---|
| 即時停止 | 秘密開示、越権、未承認送信、不可逆操作 | エージェントと資格情報 | 影響確定、資格情報交換、全攻撃ケース再合格 |
| 部分停止 | 特定ツールの異常、承認連携の欠落 | 該当ツールまたは書き込み機能 | 機能別テストとログ完全性の確認 |
| 計画停止 | 権限拡張、基盤更新、仕様変更 | 変更対象の本番実行 | 差分レビュー、回帰試験、変更承認 |
監査証拠を残せない業務にはAIエージェントが向かない
最小権限のIDを発行できず、接続先が管理者権限しか提供しない業務は、AIエージェントの本番実行に適しません。更新前後の差分が取れない古いシステム、誰が承認したか保存できないメール運用、処理を取り消せない送金・法的確定、入力データの持ち出し条件が契約上不明な外部サービスも、先に基盤や契約を整える必要があります。便利さが見込めても、事故範囲を説明できない状態では導入可否を比較できません。
また、正解を人も定義できない判断を、そのまま自動実行へ渡す案件にも向きません。AIは判断材料の整理や下書きに限定し、最終判断を資格者や責任者へ残します。処理量が少なく例外も固定されているなら、権限と監視が複雑なエージェントより、ルールベースのワークフローやRPAの方が保守しやすい場合があります。必要なのは高度な仕組みの採用ではなく、対象リスクに見合う単純さです。
見送りの最低条件
実行主体を識別できない、操作履歴を改ざん防止状態で残せない、緊急停止の担当者が営業時間内にも不在、復旧手順を試せない、重大事故の受容者が決まらない。このうち一つでも解消できない場合は、外部操作を持つ構成を見送り、検索または下書きだけの構成へ縮小します。
次に取る行動
企画中の一案件を選び、この記事の「権限境界例」を自社のデータ・操作・承認・有効時間へ置き換えてください。続いて二十五件以上の正常・境界・攻撃ケースを準備し、重大事故ゲートと安全準備度を計算します。ゲート合格、権限適合率99以上、復旧演習100%という想定基準に届かなければ、ツールまたはデータ範囲を縮小して再評価します。完成物は、業務境界図、権限表、試験結果、停止・再開記録の四点です。
初回作業では、業務責任者が一件の開始点と終了点を確定し、基盤責任者が実際のサービスIDから権限一覧を出力します。その二つをセキュリティ責任者が照合し、文書上の許可より本番権限が広い箇所を修正します。最後に、開発担当者が攻撃ケースを流し、別の担当者が緊急停止を実演してください。四つの完成物、担当者、承認日、次回見直し日がそろった時点を審査開始とし、資料が欠けた状態を条件付き合格にはしません。接続先、利用データ、ツール定義、承認経路のどれかが変わった日は、予定日を待たず同じ評価票を開き直します。
参考文献・出典
- OWASP GenAI Security Project「OWASP Top 10 for Agentic Applications 2026」:AIエージェントのセキュリティ脅威と緩和策、版=2026 edition(Agentic Threats and Mitigations 1.1との同期更新)、公開日=2025年12月10日、参照日=2026年7月30日。
- NIST公式文書「Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile」:版=NIST AI 600-1、公開日=2024年7月26日、公開ページ更新日=2026年4月8日、参照日=2026年7月30日。
- OpenAI公式ドキュメント「Safety in building agents」:AIエージェント構築時の権限境界と安全策、版=継続更新ページ(版番号なし)、更新日=ページ内表示なし、参照日=2026年7月30日。製品固有の機能説明は一般要件と区別して参照。