AIに3つが揃うと、情報は出ていく。公表された3件は全部揃っていた
2025年に公表されたAIの漏えい3件は、製品も手口も違うのに揃っていた条件が同じでした。機密データに触れる、外からの文章を読む、外へ送れる。1つ外せば止まります。
2025年に公表されたAIの情報漏えい3件は、手口も製品も違うのに、揃っていた条件は同じでした。AIが機密データに触れる、AIが外から来た文章を読む、AIが外へ送れる。この3つです。3つ揃うと、攻撃者は利用者に何もさせずにデータを外へ運ばせられます。1つ欠ければ、この経路は成立しません。
新しいAIツールやAIエージェントの可否を判断するとき、見るのはこの3つで足ります。まず3件を、誰が何を仕込み、AIが何をして、何が出たかで読み直します。
公表された3件
1通のメールで、社内データが外へ出た
Microsoft 365 Copilot の事例です。EchoLeak と呼ばれ、CVE-2025-32711 として公表されました2。
攻撃者は、利用者に1通のメールを送るだけでした。メールの中に、人には見えない形で指示を仕込んであります。利用者はそのメールを開く必要すらありません。Copilot が社内の文書やメールを横断して回答を作るときにそのメールを読み込み、仕込まれた指示に従って社内データを回答に混ぜ、回答内に自動で読み込まれる画像の要求に乗せて外部へ送り出しました。画像の取得先には、Microsoft Teams のプロキシが使われています2。
利用者の操作はゼロです。これが zero-click と呼ばれた理由です。Microsoft はサーバー側で修正し、実際に悪用された形跡は無いとしています2。
掲示板のコメントで、ワンタイムコードが外へ出た
Perplexity の Comet というAIブラウザの事例です。Brave が2025年7月25日に報告し、8月20日に公開しました3。
攻撃者は Reddit の投稿に、折りたたみの裏へ隠したコメントを1つ書きました。利用者がそのページで要約ボタンを押すと、Comet はページの内容を読み、隠されたコメントを利用者の指示と区別せずに実行します。Brave の実演では、Comet が Perplexity のアカウント画面から利用者のメールアドレスを取り、Gmail からワンタイムコードを読み、それを Reddit のコメントとして書き込んで攻撃者に渡しました3。
Brave は原因を、Comet がページの一部を利用者の指示と外部の文章を区別しないまま AI に渡していることだと指摘しています3。
公開リポジトリのIssueで、非公開リポジトリの中身が外へ出た
GitHub の公式 MCP サーバーの事例です。Invariant Labs が2025年5月26日に公開しました4。
攻撃者は、誰でも書ける公開リポジトリの Issue に指示を仕込みました。利用者は Claude に、公開リポジトリの Issue を見てほしいと頼んだだけです。エージェントは Issue を読む過程で仕込まれた指示に従い、利用者がアクセスできる非公開リポジトリの中身を読み、公開リポジトリのプルリクエストとして書き出しました。実演では、非公開リポジトリの情報に加えて、利用者の転居の予定や給与が外へ出ています4。
Invariant Labs は、これは MCP サーバーのコードの欠陥ではなく、作りの問題だとしています4。
3件に共通する3つ
3件を並べると、揃っていたものが見えます。
- 機密データに触れていた。社内文書、Gmail とアカウント情報、非公開リポジトリ。
- 外から来た文章を読んでいた。受信メール、Web ページのコメント、公開 Issue。
- 外へ送る手段があった。自動で読み込まれる画像、掲示板への書き込み、プルリクエストの作成。
この3つの組み合わせを、Simon Willison は2025年6月に lethal trifecta と名付けました。機密データへのアクセス、信頼できない内容への接触、外部と通信する能力。3つが1つのAIに揃うと、攻撃者はそのAIをだまして機密データを自分のもとへ送らせられる、という整理です1。
3件とも、この整理が公表される前後に起きています。整理が先にあれば、どれも設計の段階で見つけられた組み合わせでした。
なぜ揃うと危ないのか。AIは、利用者が書いた指示と、読み込んだ文章の中に書かれた指示を区別できません。区別する仕組みを持っていないからです。外から来た文章の中に指示が混ざっていれば、AIはそれを実行します。そして送る手段があれば、結果は外に出ます。
1つ外せば止まる
対策は、3つのうち1つを外すことです。3件の公表資料に、それぞれの外し方が出ています。
機密データの範囲を絞る
GitHub MCP の件で Invariant Labs が挙げた緩和策は、エージェントが1つのセッションで触れるリポジトリを1つに限ることと、最小限の権限のトークンを使うことでした4。非公開リポジトリに触れられなければ、公開 Issue に何を仕込まれても出ていくものがありません。
確実ですが、業務で使える範囲も一緒に狭まります。
外から来た文章を指示から切り離す
Brave が Comet の原因として挙げたのは、ページの内容と利用者の指示を区別せずにAIへ渡していることでした3。これは製品側の作りの問題で、利用者側で完全に防ぐ手段はありません。読ませる対象を社内の文書に限る運用はできますが、社内文書にも外部から受け取った PDF やメールの転載が混ざります。
外へ送る手段を塞ぐ
EchoLeak で Microsoft が塞いだのは、送り出しに使われた経路です2。AIに何が届いても、外へ出す手段が無ければ攻撃者は結果を受け取れません。
3つのうち、業務で使える範囲を保ったまま止められるのはここです。AIが読んだ内容をどこへ出せるかを限り、出す前に人が確認する形にします。
自社で確認する3問
新しいAIツールやAIエージェントの可否を決めるとき、聞くことは3つです。
- このAIは、社内のどのデータに触れますか。
- このAIは、社外から来た文字や画像を読みますか。Web ページ、受信メール、共有された文書、公開されている Issue。
- このAIは、どこへ何を送れますか。チャットの送信、画像やリンクの自動読み込み、外部ツールの呼び出し、投稿や書き込み。
3つとも該当するなら、3番目を絞れるかを確認します。絞れないなら、1番目の範囲を下げるしかありません。
3件はどれも、便利さを理由に単独で入れられる種類のものでした。禁止していなければ、情シスの知らないところで3つが揃います。
ブラウザ上の入力、貼り付け、アップロードを条件つきで止める仕組みを、オンラインデモでご覧いただけます。導入のご相談もこちらから。
お問い合わせSources
- 1The lethal trifecta for AI agents: private data, untrusted content, and external communicationSimon Willison、2025.06.163条件の定義
- 2EchoLeak: The First Real-World Zero-Click Prompt Injection Exploit in a Production LLM SystemarXiv(Pavan Reddy, Aditya Sanjay Gujral)、2025.09.06Microsoft 365 Copilot の CVE-2025-32711 の分析
- 3Agentic Browser Security: Indirect Prompt Injection in Perplexity CometBrave、2025.08.20報告は2025-07-25
- 4GitHub MCP Exploited: Accessing private repositories via MCPInvariant Labs、2025.05.26緩和策の出所
Related
