はじめに:HashJackとは
サイバーセキュリティ研究機関Cato CTRLは、AIブラウザを標的とした新たな間接的プロンプトインジェクション攻撃「HashJack」を発見しました。この革新的な攻撃手法は、URLの「#」以降に続くフラグメント部分に悪意のあるコマンドを隠蔽し、信頼されたウェブサイトをAIブラウザアシスタントに対する武器に変えてしまいます。特に、PerplexityのComet、MicrosoftのCopilot (Edge)、GoogleのGemini (Chrome)といった主要なAIブラウザがその標的となります。
攻撃の仕組みと巧妙さ
HashJackは、URLフラグメントがブラウザ側で完全に処理され、サーバーには到達しないというWeb標準の特性を悪用します。このため、従来のIDS/IPS、CSPルール、ネットワークログによる検出を回避することが可能です。AIブラウザがウェブページを読み込み、ユーザーが埋め込みアシスタントと対話する際、隠されたフラグメントを含む完全なURLがLLM(大規模言語モデル)のコンテキストウィンドウに追加されます。これにより、あたかもウェブサイト自体からの情報であるかのように、注入された悪意のある指示がトリガーされ、アシスタントの応答が不正に改ざんされるのです。
この攻撃は以下の5つのステップで展開されます。
- 汚染されたURLの作成: 攻撃者が悪意のあるフラグメントを含むURLを作成します。
- 正規サイトへのユーザー誘導: ユーザーが正規のウェブサイトへアクセスします。
- ページコンテキストでのAIアシスタント起動: AIアシスタントがページのコンテキスト内で有効化されます。
- プロンプトへのフラグメント注入: URLフラグメントがAIアシスタントのプロンプトに注入されます。
- 悪意のある実行: リンク挿入やデータ抽出などの悪意のある動作が実行されます。
対象ブラウザへの影響
特にAgenticブラウザ(例:Comet)の場合、AIが自律的にスクレイピングしたアカウント番号やメールアドレスなどの詳細情報を攻撃者のエンドポイントに送信するデータ抜き取りにエスカレートする可能性があります。非Agenticブラウザ(例:Copilot、Gemini)でも、フィッシングリンクの表示や虚偽情報の拡散といった脅威があります。ただし、Edgeではクリックが制限され、Chromeでは検索結果にリダイレクトされる場合が多いとのことです。
間接的なプロンプトインジェクションは、モデルが取り込む外部データにコマンドを埋め込む点で直接攻撃とは異なり、モデルが信頼できない入力に対する分離メカニズムを欠いているため、LLMに対するリスクが高まっています。
具体的な脅威シナリオとベンダーの対応
Catoはデモサイトでのテストを通じて、URLフラグメントがベースURLのみをパケットで伝送するため、防御メカニズムをバイパスできることを確認しました。Catoが詳細に述べた6つのシナリオには、以下のようなものがあります。
- コールバックフィッシング: 偽のサポート電話番号(WhatsAppリンクなど)を注入。
- データ抜き取り: 融資審査中にプロフィールデータを攻撃者に送信(Cometの場合)。
- 誤情報: 株価の急騰を捏造。
- マルウェア: ポートの開放やSSHキーの追加を誘導。
- 医療情報改ざん: 誤った投薬量を推奨。
- 認証情報窃取: 偽のログインプロンプトを表示。
このURLフラグメントに関する開示は2025年7月に開始されました。各ベンダーの対応は以下の通りです。
- Perplexity: Bugcrowdのトリアージ後、11月18日までに修正済み。
- Microsoft: 10月27日に多層防御のパッチを適用済み。
- Google: 「意図された動作」であると判断(S4の重大度)し、11月25日時点では未解決。
対策と今後の課題
CatoのSASEプラットフォームは、AIに対するCASB(クラウドアクセスセキュリティブローカー)、フィッシングに対するIPS、マルウェアに対するNGAMを通じて、クライアントサイドの特性を持つこの攻撃に対抗しています。この脆弱性は、AIブラウザが完全なURLに依存していることを浮き彫りにしており、フラグメントのサニタイズ(無害化)が不可欠であることを示唆しています。
Edgeが2億7400万人のユーザーを抱え、Cometも数百万ユーザーを目指すなど、AIブラウザの普及が進むにつれて、プロンプトの保護がますます重要になるでしょう。
