はじめに: Copilotのプロンプトインジェクション問題
MicrosoftのAIアシスタントCopilotにおいて、プロンプトインジェクションやサンドボックス関連の複数の問題がセキュリティエンジニアによって指摘されました。しかし、Microsoftはこれらをセキュリティ上の脆弱性ではないと主張しており、生成AIシステムにおけるベンダーと研究者の間でリスクの定義に関する見解の相違が浮き彫りになっています。
セキュリティ研究者による「脆弱性」の指摘
サイバーセキュリティエンジニアのジョン・ラッセル氏は、昨年、Microsoft Copilotで4つの脆弱性を発見したとLinkedInに投稿しました。しかし、Microsoftはこれらのケースを「サービス対象外」としてクローズしたとのことです。ラッセル氏が指摘し、Microsoftがセキュリティ脆弱性とは認めなかった問題には以下のものがあります:
- システムプロンプトの漏洩につながる間接的および直接的なプロンプトインジェクション
- base64エンコードを介したCopilotのファイルアップロードタイプポリシーのバイパス
- Copilotの隔離されたLinux環境内でのコマンド実行
注目の脆弱性: ファイルアップロードポリシーの回避
特に注目すべきは、ファイルアップロード制限のバイパスです。通常、Copilotは「危険な」ファイル形式のアップロードを許可しない場合があります。しかし、ユーザーはこれらのファイルをbase64テキスト文字列にエンコードすることで、この制限を回避できるとラッセル氏は説明しています。「プレーンテキストファイルとして送信されると、コンテンツは初期のファイルタイプチェックを通過し、セッション内でデコードされ、再構築されたファイルがその後分析されます。これにより、アップロードポリシーの制御が効果的に回避されます」とラッセル氏は述べています。
業界内の見解の相違
このエンジニアの投稿を巡っては、セキュリティコミュニティ内で活発な議論が交わされました。ベテランのサイバーセキュリティ専門家であるラジ・マラテ氏は、過去に同様の問題を観察したことに触れ、今回の発見の有効性を認めました。「昨年、Word文書にプロンプトインジェクションが隠されており、Copilotにアップロードされたデモンストレーションを目撃しました。Copilotがその文書を読み込んだ際、暴走し、ユーザーをロックアウトしました」とマラテ氏は語っています。
しかし、システムプロンプトの開示を脆弱性と見なすべきかどうかについては疑問の声も上がりました。セキュリティ研究者のキャメロン・クリスウェル氏は、「これらの問題は比較的知られている。少なくともその経路は」と述べ、「有用性を排除することなくこれらを完全に排除することは一般的に難しいでしょう。これらが示しているのは、LLMがデータと指示を分離できないというだけです」と主張しました。クリスウェル氏は、このような振る舞いは、大規模言語モデルがユーザーから提供されたデータと指示を確実に区別することに苦労するという、より広範な限界を反映していると論じています。これは、潜在的な指示が注入されると、データ汚染や意図しない情報開示といった問題につながる可能性があることを意味します。
これに対し、ラッセル氏は、競合するAIアシスタントであるAnthropic Claudeは、Copilotで機能したこれらの方法を「すべて拒否した」と反論し、問題は不十分な入力検証にあると主張しました。
システムプロンプトとは、AIエンジンの振る舞いを導く隠れた指示を指し、不適切に設計されている場合、攻撃者を助ける内部ルールやロジックが含まれる可能性があります。OWASP GenAIプロジェクトは、よりニュアンスのある見解を示しています。システムプロンプトの漏洩は、プロンプトが機密データを含んでいる場合やセキュリティ制御として依存している場合にのみ潜在的なリスクとして分類しており、プロンプトの開示自体を独立した脆弱性とは見なしていません。「要するに、システムプロンプト自体の開示が真のリスクを提示するわけではありません。セキュリティリスクは、機密情報の漏洩、システムガードレールのバイパス、不適切な権限分離など、根底にある要素にあります。正確な文言が公開されなくても、システムとやり取りする攻撃者は、アプリケーションの使用中、モデルへの発話の送信、結果の観察を通じて、システムプロンプト言語に存在する多くのガードレールとフォーマット制限をほぼ確実に判断できるでしょう」
Microsoftの公式見解
Microsoftは、AIの欠陥に関するすべての報告を、公に利用可能なバグバーに基づいて評価しています。Microsoftの広報担当者はBleepingComputerに対し、報告はレビューされたものの、同社の「脆弱性サービス提供基準」を満たさなかったと語りました。「私たちは、潜在的な問題を調査し報告してくださるセキュリティコミュニティの皆様の活動に感謝しています。この発見者が報告したいくつかのケースは、公開されている基準によれば範囲外と評価されました。セキュリティ境界が越えられていない場合、影響が要求元のユーザーの実行環境に限定されている場合、または、脆弱性とは見なされない低権限の情報が提供されている場合など、ケースが範囲外となる理由はいくつかあります」
AIリスク定義の課題
最終的に、この論争は定義と視点の問題に行き着きます。ラッセル氏はプロンプトインジェクションやサンドボックスの振る舞いを意味のあるリスクと見ていますが、Microsoftはこれらを、不正アクセスやデータ流出などの明確なセキュリティ境界を越えない限り、予想される限界として扱っています。AIリスクの定義におけるこのギャップは、これらのツールがエンタープライズ環境でより広く展開されるにつれて、繰り返し摩擦のポイントとなる可能性が高いでしょう。
