AIブラウザはURLフラグメントに隠された悪意のあるプロンプトで騙される可能性がある

研究者たちは、URL内のハッシュ(#)記号の後にAI搭載ブラウザアシスタント向けの指示を追加することで、機密データの漏洩やフィッシングページ、マルウェアへの誘導など、その挙動に影響を与えられることを発見しました。

研究者たちは、AI搭載のブラウザやブラウザアシスタントに対する、フィッシングや機密データの流出、認証情報の窃取、マルウェアのダウンロードにつながる可能性のある、もう一つの間接的なプロンプトインジェクション攻撃を実証しました。この攻撃はHashJackと名付けられ、ハッシュ(#)記号の後、つまり名前付きアンカーやURLフラグメントとも呼ばれる部分に悪意のあるプロンプトを追加することに依存しています。

「HashJackは、あらゆる正規のウェブサイトを武器化してAIブラウザアシスタントを操作できる、初めて知られた間接的なプロンプトインジェクションです」とCato Networksの研究者はレポートで述べています。「その結果、Comet(Perplexity)、Edge用Copilot(Microsoft)、Chrome用Gemini(Google)などのAIブラウザが、さまざまな悪意のある攻撃を可能にするために利用される可能性があります。」

クライアントサイド攻撃

URL内の#記号には複数の用途があります。#の後の部分は、ブラウザに読み込まれたページの特定のセクションにジャンプするよう指示したり、ページ内の動的ナビゲーションシナリオでJavaScriptコードに何を表示するか伝えたり、ユーザーインターフェースの状態情報(ユーザーが選択したオプションなど)を保存するために使われたりします。

重要な点として、URLフラグメントのデータはウェブサーバーやネットワークに送信されることは決してありません。これはブラウザや、すでにクライアント側で読み込まれているコードのためだけのものです。そして、AIブラウザアシスタントは現在開いているウェブサイトのコンテキストを分析するよう設計されているため、#の後に渡されたURLフラグメントも読み取り、そこに悪意のあるプロンプトが隠されている場合があります。

この攻撃がクライアントサイドで行われるため、IPS/IDSやネットワークファイアウォールなどの従来のネットワーク防御では検出できません。サーバーログも#以降のURL部分は記録しませんし、実際のウェブページには何も変更がないため、Content Security Policy(CSP)などのブラウザ防御も発動しません。

HashJackは本質的にソーシャルエンジニアリング攻撃です。なぜなら、メールやチャット、ウェブサイト、ドキュメント内の特別に細工されたURLをユーザーにクリックさせることに依存しているからです。しかし、この攻撃は正規のウェブサイトを指しているため、非常に信頼性が高く見えます。

例えば、銀行からのふりをしたメールで、口座の不審な活動について顧客に注意を促す内容だとします。メール内のリンクにカーソルを合わせると、銀行の本物のウェブサイト(HTTPSなど)を指していることが分かりますが、リンクは長く、そのどこかに#記号があり、その後にAIアシスタント向けのプロンプトが続いています。

多くのユーザーは、そのリンクが本物の銀行のウェブサイトを指しており、パラメータやパスが多い長いリンクも珍しくないため、このようなメッセージを信用してしまうでしょう。しかし、#記号の後に続くプロンプトによって、AIブラウザアシスタントは攻撃者が改ざんした指示をユーザーに提供することになり、例えば攻撃者が管理する電話番号やWhatsAppリンクに連絡するよう案内されるなど、さらなるサポートを受けるよう誘導されます。

別のシナリオでは、リンク内に含まれたプロンプトが、エージェントのように動作するAIブラウザ(例:PerplexityのComet)に対し、開いた銀行サイトからユーザーの口座情報、取引履歴、電話番号などを取得し、それらをパラメータとして攻撃者のサーバーにリクエストするよう指示することも可能です。

他にも、プロンプトによってAIアシスタントがユーザーを誤解させる偽情報を表示する攻撃も考えられます。例えば、特定の株を推奨する偽の投資アドバイス、捏造されたニュース、薬の誤った用量などの危険な医療アドバイス、コンピュータにバックドアを開く悪意のある指示、フィッシングサイトへのリンクを含む再認証の指示、マルウェアのダウンロードリンクなどです。

URLフラグメントはページの内容を変更することはできません。既存のコードによるページ内ナビゲーションのためだけに使われるので、通常は無害です。しかし、今やこれらがブラウザ内AIアシスタントやエージェント型ブラウザの出力を変更するために使われる可能性があり、全く新しいリスクプロファイルを持つことになります。

「この発見は特に危険です。なぜなら、正規のウェブサイトをそのURLを通じて武器化できるからです」と研究者たちは述べています。「ユーザーは信頼できるサイトを見て、AIブラウザを信頼し、結果的にAIアシスタントの出力も信頼してしまうため、従来のフィッシングよりも成功する可能性がはるかに高くなります。」

AIアシスタントごとの挙動の違い影響は、テストされたAIアシスタントやシナリオによって異なりました。例えば、プロンプトインジェクションはテストしたすべての製品でテキスト出力に影響を与えることができましたが、悪意のあるリンクの注入はChrome用Gemini Assistantでは一部のリンクが検索URLに書き換えられたり、EdgeのMicrosoft Copilotではメッセージ内のリンクをクリックする際に追加の確認が求められるなど、困難でした。

PerplexityのCometは、組み込み型AIアシスタント以上の機能を持つエージェント型ブラウザであり、最も影響を受けやすいものでした。なぜなら、コンテキスト情報をパラメータとして付与した状態で、バックグラウンドで攻撃者のURLを取得することもできたからです。

MicrosoftとPerplexityは修正を行いましたが、GoogleはHashJack手法を脆弱性とは見なさず、意図された動作の一部と考えています。なお、CatoはChrome用ClaudeやOpenAIのOperatorブラウザもテストしましたが、HashJack手法はこれらでは機能しませんでした。

翻訳元: https://www.csoonline.com/article/4097087/ai-browsers-can-be-tricked-with-malicious-prompts-hidden-in-url-fragments.html

ソース: csoonline.com