AI Agentセキュリティチェックリスト: 委任前に確認すること

ツール、外部データ、権限、承認、ログを分けて確認し、AI Agentへの作業委任を段階的に進めるための実践ガイド。

著者 Outlook IT Research · AI Agentと開発ワークフローのリサーチデスク

最終更新

ツール、プロンプト、データソース、権限、監査ログを確認するAI Agentのセキュリティレビュー画面

AI Agentがファイルを読み、Webページを扱い、チケットを更新し、ツールを呼び出すなら、それは単なるチャットではありません。言語モデル、外部から入る文章、実際の権限が一つの流れになります。重要なのは「モデルが誤った答えを返すか」だけではなく、「誤った指示を信じたときに何ができてしまうか」です。

このチェックリストは、Agentを全面的に禁止するためのものではありません。ある一つの業務について、どの情報を読ませるか、どのツールが本当に必要か、どこで人が承認するか、後から何を調べられるかを決めるためのものです。本稿の前提は2026年7月12日に確認しました。連携方法と脅威は変わるため、導入時には各提供者の最新資料も確認してください。

プロンプト、ツール、データを分けて考えるAI Agentのリスクレイヤー

まず三つの境界を分ける

境界起きやすいこと確認する質問
指示チケットやWebページの文章が、本来の依頼やルールを上書きしようとするユーザーの依頼と外部文章を区別できるか
ツール権限が広すぎる、説明が紛らわしい、所有者が不明なツールを使うこの業務に必要なツールだけが見えているか
データ外部データを信頼できる設定値や実行指示のように扱う出所、機密性、実行コンテキストを分けているか

Prompt injectionは重要ですが、問題はそれだけではありません。偽装されたツール説明、構造化された出力に見せかけた危険な値、広すぎるトークン、複数の小さな操作を組み合わせた望ましくない変更も起こりえます。安全な設計は、モデルが毎回攻撃を見抜くことを前提にしません。見抜けなかった時の影響範囲を狭くします。

委任前の実務チェックリスト

確認項目最初の安全な設定危険な状態
業務範囲成功条件と終了条件が一つに決まっている「必要なことを全部やる」と依頼する
データ境界信頼できる入力と外部コンテンツを明示して分けるメール、Web、顧客データ、秘密情報が同じ文脈に入る
ツール一覧各ツールに用途、所有者、権限レベルがある似たツールが多く、必要性が不明
権限原則読み取り専用。書き込みは承認後削除、送信、支払い、デプロイまで自動実行できる
認証情報サービスごと、業務ごとに範囲を狭くする共通トークンを複数の用途に渡す
承認外部送信、高額、不可逆な操作で停止する一回の実行で元に戻せない操作まで終える
ログ入力、ツール呼び出し、結果、承認、最終操作を残す最後の回答だけが残る
テスト通常入力、曖昧入力、悪意ある入力で試すきれいなデモだけで判断する

小さなチームで使いやすいルールは単純です。元に戻しにくい操作は、実行の直前に人が承認します。顧客への送信、本番環境の変更、データ削除、権限変更、支払いはこの対象です。

業務範囲、データ、ツール、権限、トークン、ログ、テストを確認する委任チェックリスト

Prompt injection、tool poisoning、data injectionの違い

リスク意味
Prompt injection外部文章が依頼やルールを上書きしようとする読み込んだページが内部指示を表示するよう要求する
Tool poisoningツール名や説明がモデルの選択を誤らせる分析用に見えるツールが機密情報の送信を促す
Data injection外部データが設定値、URL、パス、次の操作として扱われるツール結果の値が社内URLや実行先を不正に変える

この区別は対策のために必要です。命令文らしい文字列だけを弾いても、構造化出力の値が後でURL、ファイルパス、権限として使われるなら境界は守れません。Webページだけでなく、ツールの応答も出所と用途を確認する必要があります。

MCPは「多くつなぐ」より「必要な分だけつなぐ」

MCPはAIアプリケーションとツール、データソースの接続を標準化します。接続を整理できる一方で、新しいサーバーやツールごとに確認点も増えます。導入前に次を確認してください。

  1. サーバーの運営者は誰で、実装や依存関係を確認できるか。
  2. 何を読み、何を変更でき、そのためにどの権限が必要か。
  3. ツール名と説明は、モデルが間違えずに選べるほど明確か。
  4. 利用者と業務ごとに最小限の同意と権限を渡しているか。
  5. トークンは正しい相手向けに発行され、無検証で中継されていないか。
  6. 内部アドレスや想定外のリダイレクトへ接続しない制限があるか。
  7. 誰が、いつ、どの入力でツールを呼んだかを後から確認できるか。

例えば、社内FAQの下書きを作るAgentに、検索、社内文書の読み取り、下書き保存だけを渡すのは合理的です。同じAgentに本番デプロイ、CRM更新、経費処理まで見せる理由はありません。

日本のB2Bチームでの進め方

日本語の問い合わせと英語の技術資料を扱うSaaSチームを考えてみます。顧客のセキュリティ質問票を要約し、承認済み資料から回答候補を作る業務です。最初の版では、Agentが顧客ポータルへ回答を送らないようにします。許可済みの知識ベースを読み、不明な項目を印にし、回答案と参照元を出すところまでに留めます。セキュリティ担当者かアカウント担当者が、送信前に内容を確認します。

段階Agentがしてよいこと人が確認すること
受領質問票を分類し、公開・承認済み資料を探す秘密添付、個別契約、例外の有無
下書き根拠を付け、未確認項目を示す事実、個人情報、契約上の表現
送信承認前は外部送信しない宛先、最終文面、添付
振り返り入力と参照元、操作を記録する不自然な入力をテスト集に追加する

稟議、顧客対応、責任分界が重い環境では、この段階的な設計が特に重要です。Agentは作業を短くできますが、説明責任まで代行するものではありません。

Coding Agentに追加する確認

許可する前に最低限の確認
ファイル編集作業ディレクトリを限定し、生成パッチをレビューする
コマンド実行読み取りと、install、delete、deployなど状態変更を分ける
依存関係パッケージ名、レジストリ、lockfile、postinstallを確認する
Secretsプロンプト、ログ、生成物、履歴にトークンを残さない
Pull Requestテスト、差分確認、変更の根拠を求める
外部入力Issue、README、コメント、Webの断片をuntrustedとして扱う

Shell、ネットワーク、トークン、書き込み権限が、理由の分からないまま一つに集まる状態が危険です。生産性は最大権限からではなく、レビューの流れが見えることから生まれます。

今週からできる進め方

  1. サポート要約やPR下書きのような、繰り返し可能な業務を一つ選ぶ。
  2. 読み取り専用と少数のツールから始める。
  3. 各ツールについて用途、所有者、入力、出力、権限を記録する。
  4. 書き込み、外部送信、購入、デプロイ、削除には承認を置く。
  5. 入力、ツール呼び出し、結果、承認、最終操作を残す。
  6. 「前の指示を無視して」と書かれたチケットのような悪意ある入力で試す。
  7. 安全に再現できた実行が増えてから、少しずつ権限を広げる。

支払い、人事、不可逆な本番変更、顧客が書いた文章と機密情報が混ざる作業、未知の第三者サーバー、追跡できない操作では、無監督のAgentを使うべきではありません。読む、要約する、下書きを作る、提案する、承認後に実行する。この順序で委任を進める方が、長く使える仕組みになります。