
グーグルは、悪意を持って細工されたグーグルカレンダーの招待状が、標的のデバイス上で実行されているジェミニエージェントをリモートで乗っ取り、機密性の高いユーザーデータを漏えいさせるバグを修正した。
この攻撃は、Geminiのユーザーにとって日常的に行われているアシスタントとの典型的なやり取り以上に、ユーザーの関与を必要とせずに展開された。
Geminiは、Android、Googleウェブサービス、GoogleのWorkspaceアプリに統合されたGoogleの大規模言語モデル(LLM)アシスタントで、Gmail、カレンダー、Google Homeにアクセスできる。
多くの場合、イベントタイトルに隠されたプロンプト・インジェクションを埋め込んだカレンダー招待を送信することで、攻撃者は、電子メールコンテンツやカレンダー情報の流出、被害者の位置情報の追跡、Google Homeを介したスマートホームデバイスの制御、Android上のアプリのオープン、Zoomビデオ通話のトリガーを実行できる可能性があります。
この攻撃はSafeBreachの研究者によるレポートで実証されており、研究者は、この攻撃はホワイトボックスモデルへのアクセスを必要とせず、Geminiのプロンプトフィルタリングやその他の保護対策によってブロックされなかったと指摘している。
招待を受けた
この攻撃は、イベントタイトルに間接的なプロンプトインジェクションが含まれた、ターゲットに送信されたGoogleカレンダーのイベント招待から始まりました。
被害者が「今日の私のカレンダーイベントは何ですか」と尋ねるなどしてGeminiとやりとりすると、Geminiは攻撃者が埋め込んだ悪意のあるイベントタイトルを含むカレンダーからイベントのリストを引き出します。
これはGeminiのコンテキストウィンドウの一部となり、アシスタントはこれを会話の一部として扱い、その指示がユーザーにとって敵対的なものであることに気づくことができない。
攻撃者が使用するプロンプトによっては、カレンダーイベントの消去や編集、ターゲットのIPアドレスを取得するためのURLを開く、Zoom通話に参加する、Google Homeを使用して物理デバイスを制御する、または電子メールにアクセスして機密ユーザーデータを抽出するためのツールやエージェントをトリガーする可能性がある。

セーフブリーチ
これは、Geminiがツール間でアクションを実行するための幅広いパーミッションを持っていることの欠点である。
1つ注意すべき点は、攻撃者は、あるレベルのステルス性を維持しながら、攻撃を機能させるために6つのカレンダー招待を送信する必要があり、最後の招待にのみ悪意のあるプロンプトが含まれることである。
なぜなら、カレンダーのイベントセクションには、最新の5つのイベントしか表示されず、残りは「もっと表示」ボタンの下に隠されているからだ。しかし、プロンプトが表示されると、Geminiは悪意のあるプロンプトを含むすべてのイベントを解析する。
一方、ユーザーは、’Show more’をクリックしてカレンダー上のイベントリストを手動で展開しない限り、悪意のあるタイトルを見ることも、侵害に気づくこともない。

出典セーフブリーチ
先月、Mozillaのセキュリティ研究者であるMarco Figueroaは、Geminiをターゲットにした容易に到達可能なプロンプトインジェクション攻撃の別のケースを再び取り上げ、ターゲットに対する説得力のあるフィッシング攻撃のための基盤を築いた。
グーグルはこの報告に対して、幅広い敵対的な攻撃から守るために、ジェミニのための新しい安全策を継続的に展開しており、多くの緩和策が間もなく実装される予定であるか、すでにいくつかの展開段階にあると述べている。
「Google Workspaceのセキュリティ製品管理担当シニアディレクターであるAndy Wen氏は、「Ben Nassi氏とチームによる素晴らしい仕事と責任ある情報公開のおかげで、悪用される前にこの問題を修正することができました。
「彼らの研究のおかげで、新しい攻撃経路をよりよく理解することができ、ユーザーを保護するための新しい最先端の防御策を導入する作業を加速させることができました。これは、レッドチームと異業種コラボレーションが非常に重要である理由の素晴らしい例です。”
.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px;
width: 100%;
}
.ia_button {
width: 100%;
margin: 0px auto;
}
}




Comments