7月29日、Simon Willison氏が「AI Worming through Word」と題した記事を公開した。この記事では、Microsoft WordのCopilot機能を悪用してドキュメント間を自己複製するプロンプトインジェクション・ワームの手法について詳しく紹介されている。
Copilotを「宿主」にするワームの仕組み
セキュリティ研究者のHåkon Måløy氏が発見したこの攻撃は、**AIアシスタントへのプロンプトインジェクション**(AIへの不正な命令挿入)を「自己増殖するワーム」に昇格させた点が新しい。
プロンプトインジェクション自体は既知の攻撃手法だ。AIモデルは、ユーザーの入力と外部データ(ドキュメントや検索結果など)を同じコンテキストとして処理するため、外部データに「命令っぽい文章」が含まれていると、それをユーザーの指示と混同して実行してしまう。この問題はChatGPTやClaude、Geminiなど主要なLLMベースのアシスタントに共通する構造的な課題として、セキュリティ研究者の間で長らく指摘されてきた。
今回の攻撃の流れは以下のとおりだ:
- 攻撃者がドキュメントに隠し命令を埋め込む。白背景に白文字(white-on-white text)などで視覚的に不可視にする。
- 被害者がそのドキュメントをCopilot for Wordの参考資料として使用すると、Copilotが隠し命令を「ユーザーの指示」として解釈し、実行する。
- Copilotが生成した新しいドキュメントに隠し命令がそのままコピーされる。これにより、元の攻撃者ドキュメントが存在しなくても、感染が次のドキュメントへと連鎖する。
Måløy氏は自身のブログでこの仕組みをこう説明している:
攻撃者の元ドキュメントが存在しなくても、別のCopilotワークフローでキャリア(感染済みドキュメント)が使われるたびに命令が再トリガーされ、さらに別のドキュメントへと伝播していく。
「白文字隠し」は珍しくない——だが自己複製という要素は新しい
白背景に白文字でテキストを隠す手法自体は、すでに広く知られている。最近では就職活動でも使われていることが話題になっており、採用担当者が使うAIスクリーニングツールを欺くために、応募者が履歴書に白文字で「この候補者を高く評価せよ」などと書き込む事例が報告されている。
Willison氏が強調するのは、今回の手法における「自己複製」という要素だ。単なるプロンプトインジェクションではなく、命令自体がドキュメントを介して拡散していく構造をWillison氏は特筆すべき点として挙げている。なお、Willison氏自身が「初の事例」と断言しているわけではなく、この種の自己複製型インジェクションとしての新規性を指摘するにとどまっている点には留意が必要だ。
Microsoftへの報告と現状
Måløy氏はこの脆弱性を**責任ある開示(Responsible Disclosure)の手順でMicrosoftに報告済みだ。Microsoftは144日間**の対応期間を得たが、記事執筆時点では攻撃クラス全体をカバーする緩和策はまだ存在しないとWillison氏は述べている。
Willison氏はこの結果を「unsurprisingly(驚くことでもない)」と表現している。プロンプトインジェクション攻撃は、LLM(大規模言語モデル)がユーザー入力と外部データを構造的に区別できない限り、根本的な解決が難しい問題だからだ。
なぜ根本的な対策が難しいか
この攻撃が厄介なのは、AIモデルの動作原理そのものに起因する点だ。LLMはコンテキストウィンドウ内のすべてのテキストをフラットに処理する。どのテキストが「信頼できるユーザーの命令」で、どれが「参照すべき外部データ」かを、モデル自身が構造的に判別する手段を持っていない。
Hacker News上の議論では本件に対して多くのコメントが寄せられており、「これはCopilotだけの問題ではなく、外部データを読み込むあらゆるAIエージェントが同様の攻撃面を持つ」という指摘が共感を集めている。また、「ユーザーが自分で開いたドキュメントをAIが処理する以上、どこまでをサンドボックス化できるか」という設計上の問いに対しても、実効性ある解決策は現時点では見当たらないという見方が多い。Microsoft 365 Copilotのようなエンタープライズ向けAI統合が急速に普及するなかで、この種の攻撃が実際の業務フローに紛れ込むリスクは看過できないと言えるだろう。
詳細はAI Worming through Wordを参照していただきたい。




