
AIアシスタントが「自白」した——Copilotが自ら脆弱性の核心を漏らした#
セキュリティ企業Varonisの研究者が、Microsoft 365 Copilot(エンタープライズ向け)に対し、ユーザーが何も操作しないままパスワードなどの機密情報を攻撃者のサーバーへ送信させることに成功した。さらに驚くべきことは、その攻撃を可能にした「秘密の鍵」をCopilot自身が研究者に教えてしまったという事実だ。
攻撃の全貌——Copilotへの「20の質問ゲーム」#
VaronisのシニアリサーチャーであるLior Adar氏によれば、研究チームはCopilotに対して繰り返し質問を重ね、安全制御の仕組みを少しずつ引き出していった。
通常、Copilotを含む多くのAIアシスタントは、強力なコマンドを実行する前にユーザーの明示的な操作(Enterキーを押すなどのジェスチャー)を必要とする。研究者たちはまず、この制約を自動的に回避しようと試みたが、Copilotは拒否し続けた。しかし拒否するたびに、内部アーキテクチャに関する技術的な手がかりを漏らしていたのだ。
- なぜ自動実行は不可能なのか?
- どのようなURL構造やディープリンクが関与しているのか?
- プロンプトフィールドに入力済みの状態でページを読み込むとどうなるのか?
こうした質問を繰り返した結果、CopilotはついにMicrosoftの非公開プロンプトパラメータという機密情報を開示してしまった。
「最初はCopilotが拒否し続けましたが、その拒否のたびに内部アーキテクチャの技術的な詳細が明らかになっていきました。最終的にCopilotが非公開のパラメータを開示したので、それを自動実行のプロンプトに利用しました」——Lior Adar氏(Varonis)
「?autorun=1」——たった一つのパラメータが引き起こした惨事#
Copilotが明かした秘密とは、URLパラメータ ?autorun=1 だった。これを既知のパラメータ ?q= と組み合わせると、ユーザーが悪意あるURLをクリックした瞬間、ユーザーの操作なしにプロンプトが自動実行されるという。
攻撃に使用されたURLの基本形式は以下の通りだ:
https://copilot.microsoft.com/?q=&autorun=1このURLに埋め込まれたプロンプトは、次のような動作を自動的に実行できた:
- 被害者が攻撃者の作成したURLをクリック(メール・チャット・フィッシングページ・QRコードなどで配布)
- ブラウザが被害者の認証済みセッションで
copilot.microsoft.comを読み込む ?autorun=1パラメータがユーザーの操作なしにプロンプトを自動実行- CopilotがセッションコンテキストやConnected Appsにフルアクセスしたままプロンプトを処理
- Copilotタブが即座に閉じられても、処理はネットワーク通信も含めて完了まで実行される
実際のプロンプト例では、受信メールから最新の送信者アドレスを抽出し、攻撃者管理のWebhookサーバーへ送信する動作が実証されている。また、メールボックス内のパスワードや認証情報を検索させるプロンプトも使用され、発見された機密情報はbase64形式にエンコードされて外部サーバーへ送信された。
「Co-Snitch」——もう一つの攻撃:永続的な記憶汚染#
Varonisはこの一連の攻撃を 「Co-Snitch(コスニッチ)」 と命名した。さらに、別の攻撃手法も発見されている。
Webページのメタデータに悪意あるプロンプトを埋め込んでおき、ユーザーがCopilotにそのページを要約するよう指示した際に、Copilotの永続的なメモリストアを書き換えるというものだ。このメモリはユーザーの情報・設定・指示を将来のセッションに引き継ぐ機能だが、一度汚染されると:
- パスワード変更後も
- セッション無効化後も
- デバイス再登録後も
偽の記憶が残り続ける。ユーザーが気づくには、メモリの内容を手動で確認するしかないという。
Microsoftの対応と今後の課題#
Varonisが脆弱性を報告してから約3か月後の2月、Microsoftは ?q= パラメータによるテキスト注入を無効化するという暫定対応を実施。ユーザーが手動でテキストを入力する必要のある仕様に変更した(ただしこれはサードパーティのブラウザ連携にも影響を与えた)。そして火曜日(記事公開日)に、より包括的な修正が導入されたと報告されている。
Microsoftは「研究者の貢献に感謝する。顧客側での対応は不要で、すでに保護されている」と声明を発表し、「類似の手法に対する保護強化を継続的に実施していく」と述べている。
まとめ#
今回の「Co-Snitch」は、攻撃者がリバースエンジニアリングや従来の脆弱性調査手法を用いず、AIアシスタント自身への質問によって核心的な脆弱性を引き出したという極めて異例のケースだ。CopilotはURLパラメータ経由でのプロンプト受信という一般的な機能を持つが、それが非公開パラメータとの組み合わせで完全な安全制御の迂回に繋がったことは、LLMのセキュリティ設計の課題を浮き彫りにしている。
Naronisはこれ以前にも、Copilot Personalを対象としたワンクリック攻撃や、「SearchLeak」と命名された別の情報流出攻撃を実証している。
筆者の見解: 今回の件が示すのは、LLMのセキュリティが本質的に「事後対応型の制限リスト」に依存しているという構造的な問題だ。元記事が指摘するように、崖から落ちないよう路面を工夫するのではなく、落ちたときのためのガードレールを設置するアプローチには限界がある。ユーザーとしては、不審なリンクのクリックを避けること、Copilotに接続するアプリの数を最小限に絞ること、そしてCopilotの出力に予期しない内容がないか注意深く確認することが現時点での現実的な対策となる。
出典: Microsoft Copilot reveals secret input that allowed it to be hacked



