はじめに
Metaが2025年10月31日に、AIエージェントのセキュリティフレームワーク「Agents Rule of Two」を発表しました。プロンプトインジェクションという根本的な脆弱性に対処しながら、AIエージェントの有用性を保つための実践的なアプローチです。本稿では、この発表内容をもとに、フレームワークの仕組みと実装例、今後の展望について解説します。
参考記事
- タイトル: Agents Rule of Two: A Practical Approach to AI Agent Security
- 発行元: Meta
- 発行日: 2025年10月31日
- URL: https://ai.meta.com/blog/practical-ai-agent-security/
・本稿中の画像に関しては特に明示がない場合、引用元記事より引用しております。
・記載されている情報は、投稿日までに確認された内容となります。正確な情報に関しては、各種公式HPを参照するようお願い致します。
・内容に関してはあくまで執筆者の認識であり、誤っている場合があります。引用元記事を確認するようお願い致します。
要点
- Agents Rule of Twoは、AIエージェントが3つの特性のうち2つまでしか同時に満たしてはならないとするセキュリティフレームワークである
- プロンプトインジェクションは現在のLLMにおける根本的かつ未解決の脆弱性であり、攻撃者がエージェントを乗っ取る可能性がある
- 3つの特性とは、[A]信頼できない入力の処理、[B]機密データへのアクセス、[C]外部との通信・状態変更である
- フレームワークに従うことで、データ流出や不正操作などの深刻な被害を決定論的に軽減できる
- 実装例として、旅行予約エージェント、ウェブ調査エージェント、社内コーディングエージェントの3つの構成パターンが示されている
詳細解説
プロンプトインジェクションの脅威
Metaによれば、プロンプトインジェクションはすべてのLLMに存在する根本的で未解決の弱点です。信頼できないデータがAIエージェントのコンテキストウィンドウに渡されると、開発者が設定した指示や安全ガイドラインを無視させたり、不正なタスクを実行させたりする可能性があります。
具体例として、Metaはメール管理エージェント「Email-Bot」を挙げています。このエージェントが未読メールの内容にアクセスし、ユーザーに代わって返信を送信できる場合、攻撃者がプロンプトインジェクション文字列を含むメールを送信することで、エージェントを乗っ取れる可能性があります。これにより、プライベートなメールの内容を流出させたり、友人にフィッシングメッセージを送信したりといった攻撃が実現してしまいます。
プロンプトインジェクションは、従来のSQLインジェクションなどと同様に、入力データの検証が困難な領域で発生する脆弱性の一種です。しかし、自然言語を扱うLLMの特性上、悪意ある入力を確実に検出して拒否する手法は現時点では確立されていません。
Agents Rule of Twoの概要
Metaが提案するAgents Rule of Twoは、この課題に対する実践的なアプローチです。フレームワークの核心は、「プロンプトインジェクションを確実に検出・拒否できる堅牢性研究が実現するまで、エージェントは1つのセッション内で次の3つの特性のうち2つまでしか満たしてはならない」という原則です。
3つの特性:
- [A] エージェントが信頼できない入力を処理できる
- [B] エージェントが機密システムやプライベートデータにアクセスできる
- [C] エージェントが状態を変更したり外部と通信できる
Metaによれば、3つすべてが必要な場合は、エージェントを自律的に動作させず、人間による承認などの監督が必須となります。

Email-Botの例では、攻撃が成功するのは[A][B][C]の3つすべてを満たしているからです。Agents Rule of Twoを適用すると、以下のいずれかの方法で攻撃を防げます。
- [BC]構成: 信頼できる送信者からのメールのみ処理し、プロンプトインジェクションペイロードがコンテキストに到達しないようにする
- [AC]構成: 機密データやシステムへのアクセスを制限し、テスト環境で動作させることで、プロンプトインジェクションが成功しても影響を無害化する
- [AB]構成: 新規メール送信を信頼できる宛先のみに制限するか、人間が内容を検証した後にのみ送信することで、攻撃の最終段階を阻止する
このフレームワークは、Chromiumプロジェクトで採用されているRule of 2や、セキュリティ研究者Simon Willisonが提唱した「致命的な三要素(lethal trifecta)」にインスパイアされています。これらはいずれも、複数のリスク要因が同時に揃うことで深刻な脆弱性が生じるという考え方を基盤としています。
3つの構成パターンと実装例
Metaは、Agents Rule of Twoを満たす3つの具体的な実装例を示しています。
旅行予約エージェント [AB]構成
このエージェントは、ウェブ検索で最新の旅行先情報を取得し[A]、ユーザーのプライベート情報にアクセスして予約や決済を行います[B]。Metaによれば、[C]の制約として以下を実装します。
- 予約や支払いなどのアクションには人間の確認を必須とする
- ウェブリクエストは信頼できるソースから返されたURLのみに制限し、エージェントが構築したURLへのアクセスは禁止する
この構成では、プロンプトインジェクションによってエージェントが不正な指示を受けても、最終的なアクションは人間の承認なしには実行されないため、被害を防ぐことができます。
ウェブ調査エージェント [AC]構成
このエージェントは、ウェブブラウザを操作してユーザーに代わって調査を行います。フォーム入力や任意のURLへのリクエスト送信[C]が必要で、その結果を処理して再計画を行います[A]。Metaによれば、[B]の制約として以下を実装します。
- ブラウザを制限的なサンドボックス内で実行し、事前読み込みされたセッションデータを持たせない
- エージェントのプライベート情報へのアクセスを初回プロンプト以外制限し、データ共有の可能性をユーザーに通知する
この構成では、機密データへのアクセスが制限されているため、プロンプトインジェクションが成功しても流出する情報は限定的です。一般的なウェブスクレイピングやSeleniumなどの自動化ツールと同様に、制限された環境で動作させることがポイントと言えるでしょう。
社内高速コーディングエージェント [BC]構成
このエージェントは、組織の内部インフラでコードを生成・実行して技術的な問題を解決します。Metaによれば、本番システムの一部へのアクセス[B]と、それらのシステムへの状態変更[C]が必要です。大規模運用を実現するため、人間の介入を最小化することを目指しています。[A]の制約として以下を実装します。
- 著者の系統(author-lineage)を使用して、エージェントのコンテキストウィンドウ内で処理されるすべてのデータソースをフィルタリングする
- 誤検知をマークしてエージェントがデータにアクセスできるようにするための人間レビュープロセスを提供する
author-lineageとは、データの作成者や編集履歴を追跡する仕組みを指すと考えられます。これにより、社内の信頼できる開発者が作成したコードやドキュメントのみをエージェントが参照できるようにし、外部からの悪意ある入力を排除します。
Metaは、一般的なフレームワークでは詳細が重要であるとし、同一セッション内で構成を遷移させることも安全な場合があるとしています。例えば、[AC]構成でインターネットにアクセスした後、通信を無効化して[B]に遷移し、内部システムにアクセスするといった一方向の切り替えです。重要なのは、[A]→[B]→[C]という攻撃チェーンを完全に実行させないことです。
限界と今後の展望
Metaは、Agents Rule of Twoを満たすだけでは、他の脅威ベクトル(攻撃者の能力向上、スパムの拡散、エージェントのミス、ハルシネーション、過剰な権限など)や、プロンプトインジェクションの低影響な結果(誤情報の提供など)から保護するには不十分であると明言しています。
また、このフレームワークを適用しても設計の失敗は起こりえます。例えば、ユーザーが警告画面を盲目的に確認してしまう可能性があります。Metaによれば、多層防御(defense in depth)が重要であり、単一の防御層の失敗が起こりやすい高リスクシナリオを軽減するための重要な要素です。Agents Rule of Twoは、最小権限の原則などの一般的なセキュリティ原則の補完であり、代替ではありません。
Metaは、補完的なAI保護ソリューションとしてLlama Protectionsを提供しています。これには、エージェント保護を統制するLlama Firewall、プロンプトインジェクションの可能性を分類するPrompt Guard、安全でないコード提案を減らすCode Shield、有害な可能性のあるコンテンツを分類するLlama Guardが含まれます。
Metaは、Model Context Protocol(MCP)のようなプロトコルを通じたプラグアンドプレイ型のエージェントツール呼び出しの採用により、新たなリスクと機会の両方が生まれるとしています。エージェントを新しいツールに盲目的に接続することは災害のレシピとなる可能性がありますが、ツール呼び出しでAgents Rule of Twoの構成を宣言することで、セキュリティをデフォルトで有効にできる可能性があります。
また、バックグラウンドプロセスなど、人間の介入が破壊的または効果的でない、高度に求められるユースケースもあると認識しています。Metaによれば、従来のソフトウェアガードレールと人間の承認が現在のユースケースでAgents Rule of Twoを満たすための好ましい方法であると考えていますが、監視エージェントやオープンソースのLlamaFirewallプラットフォームなどのアライメント制御を通じて、監督承認チェックを満たすための研究を継続していくとのことです。
まとめ
Metaが提案したAgents Rule of Twoは、プロンプトインジェクションという根本的な脆弱性に対処しながら、AIエージェントの実用性を保つための実践的なフレームワークです。3つの特性のうち2つまでという制約により、開発者はセキュリティとユーザー体験のトレードオフを明確に理解できます。完全な解決策ではありませんが、AIエージェントの安全な開発を進める上で有用な指針と言えるでしょう。今後、アライメント制御の研究が進むことで、より柔軟な実装が可能になることが期待されます。
