Claude

Anthropic社のChrome用ブラウザ拡張機能「Claude」に存在する脆弱性により、悪意のある拡張機能がユーザーのクリックを偽装して、あらかじめ定義されたAIアクションをトリガーしてしまう可能性があります。これにより、Gmail、Google Docs、Googleカレンダー、Salesforceなどの連携サービスに対するClaudeのアクセス権が悪用される恐れがあります。

この問題は、Manifold SecurityのAx Sharma氏によって発見されたもので、同氏によると、この問題は「Claude」拡張機能が、ユーザーが組み込みタスクのいずれかを意図的に要求したかどうかを判断する方法に起因しているという。

Webサイト上で実行する権限を持つChrome拡張機能は、ページにJavaScriptを挿入することができ、それによってページのコンテンツを読み取ったり変更したりすることが可能です。これには、ページ要素の変更、サイトに表示されている情報の読み取り、およびプログラムによるクリックやキーボードイベントの生成が含まれます。

image

Manifoldの報告書によると、Claude拡張機能は、組み込みのAIワークフローの1つを起動する特定のページ要素に対するクリックイベントを監視しています。これらのワークフローは、ClaudeがGmail、Googleドキュメント、Googleカレンダー、Salesforceなどの連携サービスでアクションを実行できるようにする、あらかじめ定義されたタスクです。

サポートされているワークフローには以下が含まれます:

  • usecase-gmail: 最近のGmailを読み取り 、プロモーションメールを識別し、「購読解除」をクリックする
  • usecase-gdocs:ユーザーの最新のGoogleドキュメントを開き、すべてのコメントやフィードバックを読み取る
  • usecase-calendar:Googleカレンダーを読み取り、空き時間を検索し、会議を作成する
  • usecase-salesforce:Salesforceのリードを修正し、商談に変換する

研究者らは、この拡張機能が、実際のユーザーによるものかどうかを確認することなく、JavaScriptによって生成されたクリックイベントを受け入れていたことを発見しました。

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

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

その代わりに、「claude.ai」ドメイン上のコンテンツを変更する権限を持つ悪意のある拡張機能は、サポートされている9つのタスク識別子のいずれかを含むページ要素を挿入し、合成クリックイベントを生成することが可能でした。

ブラウザは当該イベントを「信頼できない」と正しく判定したものの、Sharma氏によると、Claude拡張機能はこれを正当なユーザーのクリックとして扱い、要求されたAIアクションを実行してしまったという。

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

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

その拡張機能は、ウェブページを操作し、Claude拡張機能のワークフローをトリガーすることが可能になる。

悪意のあるブラウザ拡張機能は、実行可能なウェブページに対してすでに広範なアクセス権を持っていますが、研究者らは、この脆弱性により、Claudeが認証済みでアクセスできるさまざまな連携サービスへのアクセス権を悪用できると述べています。

影響の程度は、Claude拡張機能の設定や、ユーザーが機密性の高いアクションを承認するか、あるいは事前定義されたワークフローを自動的に実行できるようにするClaudeのオプション設定「確認なしに実行」を有効にしているかどうかに依存します。

2つ目の発見として、研究者らは、拡張機能を起動する際に特定の権限チェックをバイパスする内部パラメータ「skipPermissions=true」を発見しました。

ただし、研究者らは、このメカニズム単体では直接悪用できず、特別に細工されたURLを作成するには別の脆弱性が必要であることを認めている。 

研究者らは、同社のバグ報奨金プログラムを通じて、これら2つの発見をAnthropicに報告した。Anthropicは報告を受け入れ、合成クリックに関する報告については、すでに広範な問題として追跡中であるとして、その件をクローズした。内部パラメータ「skipPermissions=true」に関連する2つ目の脆弱性は、情報提供レベルに分類された。

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

「Manifoldは7月7日、両方の脆弱性がバージョン1.0.80でも再現可能であることを確認した。我々が指摘したコンテンツスクリプトおよびサイドパネルハンドラは、v1.0.72のソースコードとバイト単位で同一である」と報告書には記されている。