Claude Codeのような開発エージェントは、もう「文章を返すAI」ではありません。ファイルを書き換え、コマンドを実行し、外部のサービスを呼び、ブラウザを操作します。あなたが作ったアプリにAIを組み込めば、そのAIもまた道具を持ちます。道具を持ったAIが、だまされたり間違えたりしたとき、何が起きるか。この章では、OWASPがLLM06「Excessive Agency(過剰な権限)」と呼ぶこの問題と、AIと道具をつなぐ規格MCPの危険を読み、「人間が最終承認者」という原則を経理の承認の仕組みに重ねます。
この章の学習目標
- OWASP LLM06「Excessive Agency」の3つの原因(過剰な機能・過剰な権限・過剰な自律)を、自分が使うAIツールに当てはめて説明できるようになる
- MCP(Model Context Protocol)が何をつなぐ規格かを理解し、信頼できない接続先や「道具の説明文」経由の攻撃という、研究で指摘されたリスクを説明できるようになる
- 自分が使っているAIツール(開発エージェント、ブラウザ拡張、MCP接続)の権限を棚卸しし、「人間の承認を挟む場所」を決められるようになる
道具を持ったAI:何が変わったのか
応用編までのAIの脅威は、主に「AIが何を言うか」の問題でした。AIが文章を返すだけなら、乗っ取られても被害は「間違った文章」で止まります。エージェント(agent。目的を与えられ、道具を使って自律的に作業するAI)になると、乗っ取られたAIがファイルを消し、メールを送り、本番のデータベースに書き込めます。
経理の比喩で言えば、これまでのAIは「仕訳案を提案するだけの新人」でした。エージェントは「起票し、承認ボタンを押し、振込まで実行できる担当者」です。有能であるほど、だまされたときの被害は大きい。だから経理では承認と実行を分け、金額の上限を設け、記録を残します。同じ構造をAIに対しても作ります。
MITRE ATLASの2026年9月版には、AML.T0053「AI Agent Tool Invocation」、AML.T0086(道具の呼び出しによる持ち出し)、AML.T0101(道具の呼び出しによるデータ破壊)が、すでに「観測された手口」として収録されています(第23章)。
OWASP LLM06:Excessive Agency(過剰な権限)
OWASP Top 10 for LLM Applications 2025のLLM06は、この問題を「予期しない、曖昧な、または操作された出力に応じて、LLMベースのシステムが損害をもたらす行動を取ること」と定義しています。引き金は幻覚(AIの思い込み)、直接・間接のプロンプトインジェクション、汚染された拡張機能や連携先のエージェントです。原因は3つに整理されています。
| 原因 | 意味 | 経理で言えば | 自分のAIツールでの例 |
|---|---|---|---|
| 過剰な機能 | その仕事に要らない道具や機能まで持っている | 経費精算の担当者に、固定資産の除却権限まで付いている | コードを読むだけの作業なのに、ファイル削除やメール送信の道具も接続されている |
| 過剰な権限 | 道具が、必要以上に広い範囲のシステムに届く | 閲覧で済む担当者に、全社の元帳の更新権限がある | 開発用で済むのに、本番データベースの管理用の鍵がエージェントの環境にある |
| 過剰な自律 | 影響の大きい操作が、人の確認なしに実行される | 一定金額以上の振込に承認者がいない | 本番への配備やデータの削除が、確認の問いかけなしに進む |
OWASPが示す対策は8つです。拡張機能と機能を最小にする、シェル実行やURL取得のような「何でもできる」道具を避ける、権限を最小にする(読み取り専用など)、利用者本人の権限の範囲で実行する、影響の大きい操作には人の承認を求める、認可はAIの判断に頼らず接続先のシステム側で強制する、入出力を検証する。ログと監視と回数制限は「防ぐ」ものではないが「被害を抑える」ものだと付け加えています。
注目してほしいのは「認可はAIの判断に頼らない」という項目です。第10章の「権限の判定はサーバー側で行う」と同じです。「AIが判断して、許可されていない操作はしないはず」は守りになりません。接続先のRLS(第10章)やAPIの権限設定が、AIに対しても最後の壁になります。
MCP:AIと道具をつなぐ共通規格
MCP(Model Context Protocol)は、Anthropicが2024年11月25日に公開したオープンな規格で、AIアプリケーションを外部のシステムにつなぐ共通の方法です。公式の説明は「AIアプリケーションにとってのUSB-Cポート」です。MCPサーバーと呼ばれる接続先が「道具」(ファイル操作、データベース検索、メールなど)を提供し、AIアプリケーション(Claude、ChatGPT、VS Codeなど)がそれを使います。
押さえるべき点はひとつです。MCPサーバーを接続すると、そのサーバーが持つ権限がAIに渡ります。メール送信の道具を接続すればAIはメールを送れ、本番データベースの道具を接続すれば本番に書き込めます。接続は「AIへの権限の委任」、経理で言えば代理権の付与です。
信頼できない接続先のリスク
MCPの公式仕様には「Security Best Practices」が付属しています(本稿が参照したのは2026年7月28日版)。そこでは、手元の機械で動かすMCPサーバーは「クライアントと同じ権限で動作する」と警告し、接続前に実行されるコマンドを省略せずに表示して明示的な同意を得ること、隔離環境で最小権限で動かすこと、権限の範囲(スコープ)を最初は最小にして段階的に広げることを求めています。
道具の説明文経由のプロンプトインジェクション
研究で指摘されている、MCP特有の攻撃があります。MCPサーバーは、提供する道具を「説明文」付きでAIに伝え、AIはそれを読んで使い方を決めます。Invariant Labsは2025年4月1日に「Tool Poisoning Attacks(道具の汚染攻撃)」として、この説明文に利用者には見えない指示を隠し、AIにだけ従わせる手口を公表しました。実演はCursorというMCP対応のクライアントで行われています。
Cloud Security Alliance(CSA)が2026年7月11日に公開した研究ノートは、本質を「MCPは指示とデータを同じ経路で混ぜている」ことだと述べ、「道具のメタデータは、システムプロンプトと同じだけの影響力を持つ」と指摘しています。同ノートが引く2025年8月のベンチマーク研究(MCPTox、arXiv:2508.14925)では、汚染された道具の指示にエージェントが従った割合は平均36.5%でした。MITRE ATLASはこの手口をAML.T0110「AI Agent Tool Poisoning」とAML.T0104「Publish Poisoned AI Agent Tool」として収録しています。
Invariant Labsが示した対策は、道具の説明文を利用者に全文表示すること、道具とサーバーの版を固定して無断の変更を検知すること、サーバー間の隔離を強めることです。利用者としてできるのは、「作者が分からないMCPサーバーを接続しない」「接続前に、どんな道具がどんな説明文で登録されているかを読む」の2つです。
守り方:5つの原則
- エージェントに渡す権限を最小にする。要らない道具は接続しない。読み取りで済むなら読み取り専用の鍵を渡す。
- 本番の鍵をエージェントの環境に置かない。エージェントが読める場所(作業フォルダ、環境変数、設定ファイル)に本番の管理用の鍵があれば、だまされたとき本番が壊れます。ATLASはこれをAML.T0083「Credentials from AI Agent Configuration」として収録しています。第9章の棚卸しをエージェントの環境にも行います。
- 破壊的な操作は人間の承認を挟む。削除、本番への配備、送信、支払い。多くの開発エージェントには操作ごとに許可を求める設定があります。「面倒」を理由に全部許可にすると、過剰な自律の状態になります。
- エージェントが読む文書も「外部入力」と考える。Webページ、他人のリポジトリ、メール、Issueに指示が仕込まれているかもしれません(ATLAS AML.T0051.001「Indirect」)。第8章の信頼境界で言えば、エージェントが読むものは境界の外から入る矢印です。
- ログを残す。何を読み、何を実行し、何を送ったかの記録。ログは防ぎませんが、被害を抑え、あとで説明することを可能にします。
人間が最終承認者:自動仕訳と人の承認
会計システムの自動仕訳を思い出してください。銀行明細から仕訳を自動生成しても、そのまま総勘定元帳に転記させる会社はほとんどありません。担当者が確かめ、承認者が承認して、はじめて転記されます。自動化が進んでも「転記の承認」を人に残すのは、間違ったときに誰が責任を負うかを明確にするためです。
AIエージェントも同じ位置に置きます。AIは起票者であり、実行者です。承認者はあなたです。承認を挟む場所は「取り消せないこと」「外に出ること」「お金が動くこと」の3つで、それ以外は自動で構いません。この線引きは、職務分掌規程で「一定金額以上は上長承認」と決めるのと同じ作業で、技術の知識より業務の判断が要ります。
公的な基準
- OWASP Top 10 for LLM Applications 2025。LLM06のほか、LLM01(Prompt Injection)、LLM03(Supply Chain)、LLM10(Unbounded Consumption)がエージェントに深く関わります。
- NIST AI RMF(AI 100-1、2023年1月26日)。AIのリスク管理の枠組みで、Govern・Map・Measure・Manageの4機能で構成。2024年7月26日に生成AI向けの「Generative AI Profile(NIST AI 600-1)」が公開されました。
- NIST SP 800-218A(2024年7月)。生成AIと基盤モデルの開発向けのSSDFプロファイル(第22章)。
- MITRE ATLAS。エージェントに関わる技術IDが2026年に多数追加されています(第23章)。
- MCP公式仕様の「Security Best Practices」。作る側向けの文書ですが、「接続前に同意を得る」「スコープを最小に」の原則は使う側の判断基準にもなります。
あなたがこの環境で使える道具(ツール)と権限を、棚卸しのために一覧にしてください。実行はしないでください。 1. 使える道具の一覧(ファイルの読み取り/書き込み/削除、コマンド実行、外部へのHTTP通信、ブラウザ操作、メールや通知の送信、MCPで接続されたサーバーの道具) 2. それぞれについて、届く範囲(どのフォルダか、どのサービスか、本番か開発か) 3. 環境変数や設定ファイルから読める秘密情報の「名前」の一覧(値は絶対に出力しないでください)。そのうち本番環境の鍵と思われるものに印を付けてください 4. 実行前に私の許可を求める操作と、許可なしに実行できる操作の区別 5. あなたが作業中に読む可能性のある外部の文書(Webページ、他人のリポジトリ、Issue、メール)の種類 最後に、「この作業には不要なのに持っている権限」があれば、理由とともに挙げてください。
演習:自分のAIツールの権限棚卸し表を作る
- 自分が使っているAIツールを列挙します。開発エージェント(Claude Codeなど)、チャット型のAI、ブラウザ拡張、自分のアプリに組み込んだAI、MCPで接続しているサーバー。
- 次の表を点検ノートに作ります。列は「ツール名/できること(読む・書く・消す・実行・送信・閲覧)/届く範囲(フォルダ・サービス・本番か開発か)/本番の鍵に届くか/人の承認を挟む操作/ログが残るか」の6つです。
- 開発エージェントには、上の定型文で自分の権限を列挙させ、表に写します。AIの自己申告だけで終わらせず、環境変数の一覧や設定ファイルを自分の目でも確かめます。
- MCPで接続しているサーバーがあれば、1つずつ「誰が作ったか(公式か、個人か、不明か)」「どんな道具がどんな説明文で登録されているか」を確かめ、不明なものは切断します。
- 「本番の鍵に届く」に印が付いたツールについて、鍵を開発用に差し替えるか、ツールの環境から鍵を外します。差し替えた鍵は第9章の通り再発行を検討します。
- 「人の承認を挟む操作」の欄が空のツールについて、削除・配備・送信・支払いの4種類を承認対象に設定します。設定できないツールは、その4種類の操作をさせない前提で使います。
- 表を日付入りで保存し、新しいツールやMCPサーバーを接続するたびに行を足します。
まとめ
- 道具を持ったAI(エージェント)は、だまされたとき「間違った文章」ではなく「間違った操作」で被害を出す。OWASP LLM06「Excessive Agency」の原因は過剰な機能・過剰な権限・過剰な自律。対策は最小化、人の承認、そして「認可はAIの判断に頼らず接続先のシステム側で強制する」こと。
- MCP(2024年11月、Anthropic)はAIと道具をつなぐ規格で、接続はAIへの権限の委任。研究(Invariant Labs 2025年4月、CSA 2026年7月)は、道具の説明文に隠した指示でAIを操る「Tool Poisoning」を指摘し、MITRE ATLASはAML.T0110として収録。作者不明のサーバーは接続しない、説明文を読む。
- 守り方は5つ。権限を最小に、本番の鍵をエージェントの環境に置かない、破壊的操作に人の承認を挟む、エージェントが読む文書も外部入力と考える、ログを残す。「人間が最終承認者」は、自動仕訳に人の承認を残す経理の原則と同じ。公的基準はOWASP LLM Top 10 2025、NIST AI RMF(AI 100-1、2023年1月)とGenerative AI Profile(AI 600-1、2024年7月)、MITRE ATLAS。
出典
- OWASP「LLM06:2025 Excessive Agency」(OWASP GenAI Security Project, 2025)
- OWASP Top 10 for LLM Applications 2025(OWASP GenAI Security Project, 2025)
- Model Context Protocol「What is MCP?」(modelcontextprotocol.io)
- Model Context Protocol「Security Best Practices」(modelcontextprotocol.io, 2026年7月28日版)
- Anthropic「Introducing the Model Context Protocol」(Anthropic, 2024年11月25日)
- Invariant Labs「MCP Security Notification: Tool Poisoning Attacks」(Invariant Labs, 2025年4月1日)
- Cloud Security Alliance「Poisoned MCP Tool Descriptions: A Silent Exfiltration Path」(CSA AI Safety Initiative, 2026年7月11日。MCPToxベンチマーク arXiv:2508.14925 の数値はこのノートの引用による)
- MITRE ATLAS 公式データリポジトリ「atlas-data」(AML.T0051.001、AML.T0053、AML.T0083、AML.T0086、AML.T0101、AML.T0104、AML.T0110)(MITRE, 2026年9月)
- NIST「AI Risk Management Framework」(AI 100-1、2023年1月26日)および「Generative AI Profile」(NIST AI 600-1、2024年7月26日)(NIST)
- NIST SP 800-218A(NIST, 2024年7月26日)