連載企画「AIエージェントのセキュリティ」、第1回では、AIエージェントがもたらす73%もの脅威が現在普及しつつある AI システム向けのセキュリティ診断・監視では検知困難であるという事実を明らかにしました。正規の権限を巧妙に悪用し、段階的に信頼を獲得し、その内部プロセスが不可視である—これらの特性が組み合わさることで、AIエージェントは攻撃者の標的となりつつあります。
では、これらの「見えない同僚」は、実際にどのように相互接続され、連携しているのでしょうか。本稿では、その技術的な核心に迫ります。
なぜプロトコルの理解が重要なのか
朝9時、あなたの組織で稼働している数十、数百のAIエージェント。これらは一体どのように情報を交換し、タスクを分担し、意思決定を行っているのでしょうか。その仕組みを理解する上で重要な部分を占めるのが、本稿で解説する「MCP(Model Context Protocol)」と「A2A(Agent-to-Agent)」です。
これらのプロトコルは、AIエージェントに革新的な能力を与える一方で、攻撃者にとっては新たな侵入経路となる可能性があります。プロトコルの仕組みを理解することは、単なる技術的な知識の習得ではなく、あなたの組織を守るための第一歩になります。
MCP(Model Context Protocol)の概要
AIと外部ツールの標準的接続プロトコル
MCPは、Anthropic社が2024年11月に発表した、AIモデルと外部ツールを接続するための標準プロトコルです。従来、AIモデルが外部のデータベースやAPIと連携する際は、各ベンダーが独自の実装を行っていました。この状況は、開発者にとって統合の複雑性を増し、AIエージェントの可能性を制限していました。
MCPは、この課題を解決するために設計されました。統一されたインターフェースを提供することで、AIモデルは様々な外部リソースへのシームレスなアクセスが可能になります。
MCPのアーキテクチャを図1に示します。
図1.MCPアーキテクチャ例
MCPの基本的な動作原理:
- 接続の確立: AIクライアントがMCPサーバに接続要求を送信
- 能力の発見: サーバが提供可能なツールやリソースのリストを応答
- ツールの呼び出し: クライアントが必要なツールを選択し、パラメータと共に実行を要求
- 結果の返却: サーバが処理を実行し、結果をクライアントに返送
具体的なユースケース:
- データベース連携: SQLクエリの実行、データの取得・更新
- ファイル操作: ドキュメントの読み書き、ディレクトリ管理
- 開発ツール統合: Git操作、IDE連携、CI/CD連携
- 外部サービス連携: Slack通知、メール送信、カレンダー管理
Anthropic主導で急速に普及
MCPの発表からわずか数ヶ月で、エコシステムは急速に拡大しています。主要なAIプラットフォームがMCPサポートを表明し、すでに多数のMCPサーバが公開されています。この普及速度の背景には、以下の要因があります:
- オープンソース: MCPは完全にオープンソースとして公開されており、誰でも自由に実装できる
- シンプルな設計: JSON-RPCベースのシンプルなプロトコル設計により、実装が容易
- 実用的なユースケース: 開発者の日常的なタスクを効率化する明確な価値提案
特に注目すべきは、GitHub、Slack、Google Workspaceといった主要なプラットフォームが、早期にMCP対応を進めていることです。これにより、AIエージェントは企業の中核的な業務システムに直接アクセスできるようになりつつあります。
柔軟性がもたらすセキュリティリスク
MCPの最大の強みである「柔軟性」は、同時に重大なセキュリティリスクをもたらします。MCPサーバは、AIモデルがツール経由で実環境に作用できるよう、以下のような強力な機能を提供します:
- ファイルシステムへの完全なアクセス
- 任意のコマンド実行
- 外部APIへの認証付きリクエスト送信
- 内部ネットワークへのアクセス(データベース、社内システム等)
- 認証情報を含むデータへのアクセス
この柔軟性により、悪意のあるMCPサーバや、セキュリティが不十分なサーバは、AIエージェントを通じて企業の機密情報にアクセスしたり、システムを侵害したりする可能性があります。
A2A(Agent-to-Agent)プロトコル
エージェント間協調の仕組み
MCPがAIエージェントに「手足」を与えたとすれば、A2Aプロトコルは「対話能力」を与えたと言えます。A2Aは、複数のAIエージェントが協調して動作するためのフレームワークです。単一のAIエージェントでは解決が困難な複雑なタスクを、複数のエージェントが役割分担して解決することを可能にします。
A2Aのアーキテクチャを図2に示します。
図2.A2Aアーキテクチャ例
A2Aの基本的な動作原理:
- タスクの分解: 複雑なタスクを、各エージェントが処理可能な小さなサブタスクに分解
- エージェントの発見: 各サブタスクに最適なエージェントを発見・選択
- 協調的実行: エージェント間で情報を交換しながら、タスクを実行
- 結果の統合: 各エージェントの出力を統合し、最終的な結果を生成
具体的なユースケース:
- マルチモーダル分析: 画像認識エージェント、テキスト分析エージェント、音声認識エージェントが協調して、動画コンテンツを総合的に分析
- 企業の意思決定支援: 財務分析、市場調査、リスク評価の各専門エージェントが協力して、投資判断をサポート
- ソフトウェア開発: 設計エージェント、コーディングエージェント、テストエージェントが連携して、アプリケーション開発を自動化
- カスタマーサポート: 問い合わせ分類、情報検索、回答生成の各エージェントが協調して、顧客対応を効率化
分散型意思決定の実現
A2Aプロトコルの革新的な点は、中央集権的な制御を必要とせず、エージェントが自律的に協調できることです。各エージェントは独自の専門知識と判断基準を持ち、相互に交渉しながら最適な解決策を導き出します。
例えば、企業の予算策定業務を考えてみましょう:
- 財務分析エージェント:過去のデータを分析し、予測を提供
- 市場調査エージェント:市場動向と競合分析を実施
- リスク評価エージェント:各予算案のリスクを評価
- 最適化エージェント:全体のバランスを考慮し、最適な配分を提案
これらのエージェントは、A2Aプロトコルを通じて情報を交換し、合意形成を行います。
信頼の連鎖がもたらす脆弱性
しかし、この分散型アプローチは「信頼の連鎖」という新たな脆弱性を生み出します。各エージェントは、他のエージェントから受け取った情報を基に判断を行います。しかし、その情報の正確性や、情報源のエージェントの信頼性を完全に検証することは困難です。なぜなら、エージェント同士のやり取りは、人間同士、あるいは人間対エージェント間のやり取りに比べて速すぎて、リアルタイムでの監視が不可能だからです。
悪意のあるエージェントが一つでもネットワークに侵入すると、以下のような攻撃が可能になります:
- 偽情報の注入: 「市場が暴落している」という偽情報を流し、他のエージェントにパニック売りを誘発
- リソースの独占: 計算リソースを独占し、重要な分析タスクを妨害
- プライバシーの侵害: 他のエージェントから顧客情報や機密データを巧妙に収集
両プロトコルの補完関係
MCPが「手足」、A2Aが「対話」の役割
MCPとA2Aは、AIエージェントエコシステムにおいて補完的な役割を果たします。その関係性を理解することは、セキュリティリスクの全体像を把握する上で非常に重要です。
以下の表で、両プロトコルの特徴と役割分担を整理します:
比較項目 |
MCP(Model Context Protocol) |
A2A(Agent-to-Agent) |
主な役割 |
AIエージェントと外部ツール・システムの接続 |
AIエージェント間の協調・通信 |
通信の方向 |
垂直的(エージェント ↔ 外部リソース) |
水平的(エージェント ↔ エージェント) |
主な用途 |
• データベースアクセス |
• タスクの分散処理 |
プロトコルの特徴 |
• JSON-RPCベース |
• メッセージパッシング |
セキュリティ上の主な懸念 |
• 権限昇格 • データ漏洩 |
• なりすまし • 信頼の連鎖を悪用 |
具体的な例として、マルチエージェントによる市場分析システムを考えてみましょう:
- データ収集エージェント(MCPを使用)
- 各種データベースから市場データを収集
- Web APIから最新のニュースを取得
- 内部システムから売上データを抽出
- 分析エージェント(A2Aで協調)
- トレンド分析エージェント
- 競合分析エージェント
- 顧客行動分析エージェント
- レポート生成エージェント(MCPとA2Aを併用)
- 各分析エージェントから結果を収集(A2A)
- 最終レポートをファイルシステムに保存(MCP)
- メールシステムを通じて関係者に配信(MCP)
組み合わせによる攻撃面の指数的拡大
MCPとA2Aの組み合わせは、攻撃面を単純に足し算するのではなく、掛け算で拡大させます。単独のプロトコルでは限定的だった攻撃が、両者の組み合わせにより、より複雑で検出困難な攻撃へと進化します。例えば:
- 攻撃経路の爆発的増加: A2Aだけなら侵害の起点はエージェント自体に限定されますが、MCPが加わることで外部からの侵入口が無数に。MCPサーバ経由で侵入→エージェントがA2Aで伝播→別のMCPサーバを通じて外部データ流出、という多次元的な攻撃が可能に
- 権限の連鎖的悪用: 各エージェントが持つ異なるMCP権限(データベースアクセス、ファイル操作、API呼び出し等)が、A2Aネットワークを通じて組み合わさることで、単体では不可能だった操作が実現
- 検知の困難性: 攻撃が複数のプロトコルと複数のエージェントにまたがり、各ステップは正常な業務プロセスに見えるため、従来の監視手法では全体像の把握が不可能
この複雑性の急激的な増加により、従来の「境界防御」や「シグネチャベース」のセキュリティ対策では効果的な対応が困難になります。
具体的な攻撃シナリオについては、本ブログシリーズの第4回~第6回にて紹介予定です。
その他のAIエージェントプロトコル
MCPとA2A以外にも、AIエージェント連携のためのプロトコルがいくつか提案されています。例えば、ACP(Agent Communication Protocol)は、より形式的なエージェント間通信を目指したプロトコルです。しかし、現時点では以下の理由から、MCPとA2Aの採用が進んでいます:
- 実装の簡便性: MCPとA2Aは、実用性を重視したシンプルな設計
- エコシステムの成熟度: 既に多くのツールやライブラリが利用可能
- 大手企業の支援や採用: Anthropic、OpenAI、Microsoftなどの大手企業による支援と採用
本ブログシリーズでは、実際の企業環境で広く採用されているMCPとA2Aに焦点を当てて解説を進めます。
まとめ:AIエージェントプロトコルが生む新たなセキュリティ課題
AIエージェントの連携を支えるMCPとA2Aプロトコルについて解説しました。これらのプロトコルは、AIエージェントに強力な能力を与える一方で、新たなセキュリティ上の課題をもたらしています。
- MCPは外部ツールとの柔軟な連携を可能にするが、その柔軟性がセキュリティリスクにもなる
- A2Aはエージェント間の自律的な協調を実現するが、信頼の連鎖に脆弱性が存在する
- 両プロトコルの組み合わせにより、攻撃面は指数的に拡大する
本稿では基本的な概要を解説しました。これらのプロトコルには、具体的にどのようなセキュリティ設計上の課題があるのでしょうか。そして、これらの課題が実際の攻撃にどのように利用されるのでしょうか。
ここで重要なのは、これらのリスクは「理解可能」であり、「対策可能」だということです。プロトコルの仕組みを理解し、その脆弱性を認識することで、適切な対策を講じることができるのです。
次回予告:OWASP脅威分析 - なぜ73%が検知不可能なのか
次回では、OWASP(Open Web Application Security Project)が発表した「Agentic AI - Threats and Mitigations」で定義された15の脅威カテゴリを詳細に分析し、なぜその73%が従来のセキュリティ手法では検知が困難なのか、その構造的な理由を明らかにします。