Claudeのブラウザ拡張機能「Claude for Chrome」に脆弱性、悪意ある拡張機能がAIの動作を不正操作可能

AnthropicのブラウザベースAIエージェント「Claude for Chrome」拡張機能に脆弱性が見つかりました。悪意ある拡張機能がユーザーのクリックを模倣することで、あらかじめ組み込まれたAI操作を発動できてしまい、GmailやGoogle Docs、Googleカレンダー、Salesforceなどの連携サービスに対するClaudeのアクセス権限を悪用される恐れがあります。

この問題を発見したのは、Manifold SecurityのAx Sharma氏です。同氏によると、原因はClaude拡張機能が組み込みタスクの実行をユーザーが意図的に要求したものかどうかを判定する仕組みにあるといいます。

あるウェブサイト上での実行権限を持つChrome拡張機能は、そのページにJavaScriptを注入できます。これにより、ページの内容を読み取ったり改変したりできるほか、ページ要素の変更、サイト上に表示された情報の読み取り、さらにはクリックやキーボード入力イベントをプログラムで生成することも可能になります。

Manifoldの報告書によると、Claude拡張機能は、組み込みのAIワークフローの一つを起動する特定のページ要素上でクリックイベントを監視しています。これらのワークフローは、Gmail、Google Docs、Googleカレンダー、Salesforceといった連携サービス上でClaudeが操作を実行するための、あらかじめ定義されたタスク群です。

対応しているワークフローは以下の通りです。

  • usecase-gmail: 最近のGmailを読み取り、宣伝メールを特定して配信停止をクリックする
  • usecase-gdocs: ユーザーが最後に作成したGoogleドキュメントを開き、すべてのコメントとフィードバックを読み取る
  • usecase-calendar: Googleカレンダーを読み取り、空き時間を見つけて会議を作成する
  • usecase-salesforce: Salesforceのリードを変更し、商談へと変換する

研究者たちは、この拡張機能がクリックイベントを、それが実際のユーザーに由来するものかどうか検証せずに、JavaScriptで生成されたものであっても受け入れてしまうことを発見しました。

ブラウザは、マウスクリックやキー入力といった実際のユーザー操作からイベントを生成する際、Event.isTrustedプロパティをtrueに設定し、これを「信頼できる」ものとしてマークします。一方、JavaScriptを使ってイベントを生成した場合、ブラウザは自動的にEvent.isTrustedfalseに設定します。これにより、ウェブページや拡張機能は、実際のユーザー操作とJavaScriptによって生成されたイベントとを区別できる仕組みになっています。

Manifold Securityによると、Claudeのブラウザ拡張機能は、あらかじめ定義されたワークフローの一つを実行する前に、そのクリックイベントがブラウザのEvent.isTrustedプロパティを確認して実際のユーザーに由来するものかどうかを検証していませんでした。

そのため、「claude.ai」ドメイン上でコンテンツを改変する権限を持つ悪意ある拡張機能は、9つの対応タスク識別子のいずれかを含むページ要素を注入し、擬似的なクリックイベントを生成することができました。

Sharma氏によると、ブラウザ自体はこのイベントを正しく「信頼できない」ものとしてマークしていたものの、Claude拡張機能側ではこれを正規のユーザークリックとして扱い、要求されたAI操作を実行してしまったといいます。

同研究者は、この脆弱性によって任意のプロンプトインジェクションが可能になるわけではなく、攻撃対象は拡張機能に組み込まれた9つの定義済みタスクに限定されると指摘しています。

また、この攻撃はウェブサイトがClaude拡張機能を直接侵害できるというものではありません。攻撃者はまず、claude.ai上でコードを実行できる悪意ある拡張機能をユーザーにインストールさせる必要があります。

その拡張機能がインストールされて初めて、ウェブページを操作し、Claude拡張機能のワークフローを発動させることができるのです。

悪意あるブラウザ拡張機能はもともと、実行権限を持つウェブページに対して広範なアクセス権を持っていますが、研究者たちは、この脆弱性によって、様々な連携サービスに対するClaudeの認証済みアクセス権限までもが悪用可能になると指摘しています。

実際の影響度は、Claude拡張機能の設定内容や、機微な操作の実行時にユーザーが承認を求められる設定になっているか、あるいは定義済みワークフローを自動実行できるオプション設定「確認せずに実行(Act without asking)」が有効になっているかどうかによって変わってきます。

研究者たちは2つ目の発見として、拡張機能の起動時に特定の権限チェックを回避してしまう内部パラメータ「skipPermissions=true」を発見しました。

ただし、この仕組み単体では直接悪用することはできず、悪用するには特別に細工したURLを作成するための別の脆弱性が必要になる、と研究者たちは認めています。

研究者たちはこの2件の発見を、Anthropicのバグバウンティプログラムを通じて同社に報告しました。Anthropicはこれらの報告を認め、擬似クリックに関する報告についてはすでに、より広範な問題として追跡していたとして対応を終了しました。もう一方の内部パラメータ「skipPermissions=true」に関する脆弱性は、情報提供扱いに分類されています。

Manifoldによると、これらの脆弱性は、7月7日にリリースされたブラウザ拡張機能の最新版であるバージョン1.0.80でも依然として悪用可能な状態にあるといいます。

報告書には次のように記されています。「Manifoldは7月7日、両方の発見が依然としてバージョン1.0.80で再現することを確認した。我々が指摘したコンテンツスクリプトとサイドパネルのハンドラーは、バージョン1.0.72のソースコードとバイト単位で同一である」

攻撃者に先んじて、すべてのレイヤーをテストする

セキュリティチームが記録できている攻撃成功事例は54%にとどまり、アラートが上がるのはわずか14%です。残りは環境内を検知されないまま通過しています。

Picusのホワイトペーパーでは、侵害・攻撃シミュレーション(BAS)によってSIEMやEDRのルールをテストし、検知をすり抜ける脅威を防ぐ方法を解説しています。

ホワイトペーパーを入手する

翻訳元: https://www.bleepingcomputer.com/news/security/claude-chrome-extension-flaw-lets-malicious-extensions-trigger-ai-actions/

ソース: bleepingcomputer.com