Opera Neonにおけるプロンプト・インジェクションの脆弱性

Authors

この記事はエージェント型ブラウザにおけるセキュリティとプライバシーの課題に関するシリーズの第3弾の投稿です。この脆弱性調査は、Artem Chaikin(シニア・モバイルセキュリティ・エンジニア)によって実施され、ArtemとShivan Kaul Sahib(プライバシー・セキュリティVP)によって当記事を執筆しました。

先週の、AIブラウザの脆弱性に関する新たなブログ記事に続き、今回はOpera Neonで発見したプロンプト・インジェクション攻撃の詳細を共有します。私たちはこの脆弱性を責任を持ってOperaに開示しましたが、Opera側で脆弱性を修正する時間が必要なため公開を控えていました。

これまでのブログでは、様々なブラウザで容易に悪用可能な攻撃をお伝えしてきましたが、間接的プロンプト・インジェクションは、ユーザーに代わって行動するすべてのAIブラウザが直面する深刻で未解決のセキュリティ問題です。他のブラウザがこの問題を認識するようになったことは心強く、問題解決に向けて前進する手助けができたことを嬉しく思います。いつものように、私たちのセキュリティ調査に対していただいた思慮深いフィードバック、そしてすべてのWebユーザーを安全に保つためにブラウザベンダーが行ってきた(そしてこれからも行う)変更対応に心から感謝の意を捧げます。

Opera Neonにおける非表示HTML要素を介したプロンプト・インジェクション

Opera NeonのAIアシスタントは、ユーザーの質問に答えるためにWebページのコンテンツを読み込みますが、LLMのプロンプトを構築する際にページのコンテンツを信頼できないものとして適切に扱うことができていませんでした。このような場合、攻撃者はユーザーには見えないものの、AIアシスタントは読み込んでしまう非表示のHTML要素やその他のレンダリングされないマークアップに悪意のある指示を埋め込むことができます。

この攻撃では、ユーザーのOperaアカウントページからメールアドレスを抽出し、第三者に漏洩させることを実証しました。しかし、同じ攻撃手法を使用して、ユーザーが銀行のアカウントにログインしている場合には、クレジットカード情報などのさらに機密性の高い情報を抽出することも可能です。

実演(デモ)

攻撃手法:

  • 準備: 攻撃者は、視覚的なレンダリングから隠された不透明度ゼロの要素を含む、悪意のある指示をWebサイトのHTMLに埋め込みます。私たちのデモでは、非表示の指示は "opacity: 0" でスタイル設定された <span> 要素に埋め込まれています(つまり、ユーザーからは見えません)。

  • トリガー: ユーザーが攻撃者のWebページに移動し、AIアシスタントにページコンテンツの要約または分析を依頼します。

  • 注入: ブラウザは、HTMLに埋め込まれた非表示の悪意のある指示を含む、HTML構造全体を抽出して処理します。

  • 悪用: 注入されたコマンドは、AIにブラウザツールを悪意を持って使用するよう指示します。私たちの攻撃では、AIにユーザーのOperaアカウントページに移動し、ユーザーのメールアドレスを抽出して攻撃者のサーバーに漏洩させるよう求めています。ブラウザはこのリクエストに何の疑問も持たずに従います。

開示までのタイムライン

Opera Neonはまだアーリーアクセス段階にあり、一般には公開されていません。私たちは開示について彼らのセキュリティチームと調整をし、修正が機能することを確認した後にこの情報を公開しています。

2025/10/14: 非表示HTML要素を介したプロンプトインジェクションの問題をBugcrowdにてOperaに報告。

2025/10/17: Operaが「再現性なし」として問題をクローズ。

2025/10/20: Operaが脆弱性レポートを誤ってクローズしたとしてBraveに連絡し、調査中は公開を一時的に控えるよう要請。Braveはこれに応じる。

2025/10/21: Operaが修正を行なったことをBraveに連絡。Braveのフォローアップテストにより、脆弱性が修正されたことを確認。

2025/10/23: Operaがブログで発見された脆弱性の詳細を公開。

インパクトと影響

AIブラウザを使用している場合、非表示の指示が含まれるWebサイトで要約を求めるだけで、攻撃者のWebサイト → auth.opera.com → 攻撃者のWebサイト、という流れのクロスオリジン・リークが発生する可能性があります。これは、ユーザーがRedditの投稿を要約した際に、Cometユーザーのメールアドレスを彼らのPerplexityアカウントページから抽出できたケースと似ています。ブラウザを制御するAIエージェントは、事実上あなた自身として扱われます。すでにログインしているページを読み取り、データを取得し、本来は互いに分離されているべき異なるサイト間でアクションを実行できます。

ブラウザで行われる様々な操作を考えると、これは恐ろしいことです。銀行取引、仕事、メールは明らかな例ですが、オンラインで行う他のすべてのことも考えてみてください。読む記事や訪問するWebサイトなどです。ブラウザはWeb上であなたが行うすべてを見ており、多くの点であなた自身を正確に表現しています。Webにおけるプライバシーが重要であることが、これほど明確になったことはありません。これこそが、Braveがユーザーファースト、デフォルトでプライバシーを重視するブラウザである理由であり、サードパーティ・トラッカーや広告のブロックに注力した一連のプライバシー機能はそのために備わっています。

前述のとおり、私たちは研究チームおよびセキュリティチームと慎重に協力し、1億のユーザーにエージェントモードのブラウジングを安全に提供する方法の研究に取り組んでおり、今後数週間でさらなる発表を行う予定です。

Related articles