
Microsoftは、同社のCopilot AIアシスタントでセキュリティエンジニアが指摘した複数のプロンプトインジェクションおよびサンドボックス関連の問題が、セキュリティ脆弱性に当たるという主張に反論した。
この動きは、生成AIシステムにおけるリスクをベンダーと研究者がどのように定義するかについて、溝が広がっていることを浮き彫りにしている。
AIの脆弱性か、それとも既知の制約か?
「先月、Microsoft Copilotで4つの脆弱性を発見しました。彼らはその後、サービス対象(serviceability)に該当しないとして私のケースをクローズしました」と、サイバーセキュリティエンジニアのJohn RussellはLinkedInに投稿した。
具体的に、Russellが開示し、その後Microsoftがセキュリティ脆弱性としては認めないとして却下した問題には、次のものが含まれる:
- システムプロンプトの漏えいにつながる間接的および直接的なプロンプトインジェクション
- base64エンコードによるCopilotのファイルアップロード種別ポリシー回避
- Copilotの隔離されたLinux環境内でのコマンド実行
これらのうち、ファイルアップロード制限の回避は特に興味深い。Copilotは一般に「危険な」ファイル形式のアップロードを許可しない可能性がある。しかし、ユーザーはそれらをbase64のテキスト文字列にエンコードするだけで、制限を回避できてしまう。
「プレーンテキストファイルとして提出すると、内容は初期のファイル種別チェックを通過し、セッション内でデコードでき、復元されたファイルがその後解析されます――結果としてアップロードポリシーの制御を実質的に回避してしまいます」とRussellは説明する。
このエンジニアの投稿を受けて、セキュリティコミュニティでは多様な意見が寄せられ、議論がすぐに巻き起こった。
経験豊富なサイバーセキュリティ専門家のRaj Maratheは、過去に目にしたという類似の問題を挙げ、指摘の妥当性を認めた:
「昨年、Word文書にプロンプトインジェクションを隠してCopilotにアップロードするデモを目撃しました。Copilotがその文書を読むと暴走してユーザーをロックアウトしました。目に見える形でも白文字でもなく、文書内に巧妙に偽装されていました。その発見について、その人がMicrosoftから返答を得たのかは、いまだに聞いていません」
しかし、別の人々は、システムプロンプトの開示がそもそも脆弱性と見なされるべきかどうかに疑問を呈した。
「これらの問題の厄介な点は、比較的よく知られていることです。少なくとも経路は」と、セキュリティ研究者のCameron Criswellは主張した。
「有用性をなくさずに排除するのは一般に難しいでしょう。これらが示しているのは、LLMがいまだにデータと指示を[分離]できないということです」
Criswellは、このような挙動は、大規模言語モデルがユーザー提供のデータと指示を確実に区別するのが難しいという、より広範な制約を反映していると主張する。実際、潜在的な指示が注入され得る場合、データ汚染や意図しない情報開示といった問題につながる可能性がある。
一方でRussellは、Anthropic Claudeのような競合AIアシスタントは「Copilotで動作すると分かったこれらの手法をすべて拒否することに問題がなかった」と反論し、問題の原因を十分な入力検証の欠如に帰している。
システムプロンプトとは、AIエンジンの挙動を導く隠れた指示のことであり、不適切に設計されている場合、攻撃者の助けとなり得る内部ルールやロジックが含まれている可能性がある。
OWASP GenAIプロジェクトはよりニュアンスのある見解を示しており、システムプロンプト漏えいを、プロンプトに機微情報が含まれている場合、またはセキュリティ制御としてプロンプトに依存している場合にのみ潜在的リスクとして分類している。つまり、プロンプト開示そのものを単独の脆弱性として扱うのではない:
「要するに、システムプロンプトそのものの開示が真のリスクをもたらすわけではありません――セキュリティリスクは、機微情報の開示、システムのガードレール回避、権限分離の不備など、根底にある要素にあります。
たとえ正確な文言が開示されなくても、攻撃者はシステムと対話する中で、アプリケーションを利用し、モデルに発話を送り、結果を観察する過程で、システムプロンプト言語に含まれる多くのガードレールや書式制限をほぼ確実に突き止められるでしょう」
AIの脆弱性に対するMicrosoftの立場
Microsoftは、AIの欠陥に関するすべての報告を、公開されているバグバーに照らして評価している。
Microsoftの広報担当者はBleepingComputerに対し、報告はレビューされたものの、同社の脆弱性としてのサービス対象(serviceability)の基準を満たさなかったと述べた:
「潜在的な問題を調査し報告してくださるセキュリティコミュニティの取り組みに感謝します……この発見者は複数のケースを報告しましたが、公開している基準に基づきスコープ外と評価されました。
ケースがスコープ外となる理由はいくつかあり、たとえばセキュリティ境界が越えられていない場合、影響が要求したユーザーの実行環境に限定される場合、または低権限の情報が提供されるにとどまり脆弱性とは見なされない場合などがあります」
最終的に、この論争は定義と視点の違いに帰着する。
Russellがプロンプトインジェクションやサンドボックスの挙動を意味のあるリスクの露呈と捉える一方で、Microsoftは、無許可のアクセスやデータ流出を可能にするなど明確なセキュリティ境界を越えない限り、それらを想定される制約として扱っている。
AIリスクの定義のされ方におけるこのギャップは、これらのツールが企業環境でより広く導入されるにつれて、繰り返し摩擦点として残りそうだ。