PaPoo
cover

Claude Chrome拡張の穴、悪質な拡張機能がAIを勝手に動かせる問題

ClaudeのChrome拡張に、ちょっとゾッとする不具合が見つかりました。
ざっくり言うと、​別の悪質な拡張機能が「本物のユーザーが押したふり」をして、Claudeに用意されたAI操作を勝手に実行させられるという話です。

これ、単なる「便利機能の不具合」ではありません。ClaudeはGmail、Google Docs、Google Calendar、Salesforceといった外部サービスにつながっているので、うまく悪用されると、AIが持っている“つながった先への権限”まで巻き込まれます。AIエージェント時代らしい、いやらしい種類の弱点だと思います。

まず押さえたいポイント

何が起きたのか

今回の話は、AnthropicのClaude for Chrome拡張機能が、ユーザーのクリックを正しく確認していなかったことから始まります。
発見したのは Manifold Security の Ax Sharma 氏です。

Chrome拡張機能は、許可されたサイト上で動くと、そのページにJavaScriptを差し込めます。これ自体は珍しくありません。ページの内容を読んだり、表示を変えたり、ボタンを押したようなイベントを作ったりできるわけです。便利な反面、悪用されるとかなり面倒です。

今回問題になったのは、Claude拡張が「この操作は本当に人間がやったのか」を見るときに、​**Event.isTrusted** をちゃんと使っていなかったことです。

image_0003.jpg

この isTrusted は、ブラウザがイベントに付ける印みたいなものです。
人間が実際にマウスでクリックしたなら true、JavaScriptで無理やり作ったクリックなら false になります。つまり、見分けるための基本中の基本、という感じです。

ところがClaude拡張は、JavaScriptで作られた偽クリックでも「正規のユーザー操作」とみなしてしまった。ここがまずい。

どう悪用されるのか

研究者の説明によると、攻撃者はまず、ユーザーに悪質なChrome拡張機能を入れさせる必要があります。これはかなり重要で、いきなりWebサイトを開いただけでClaude本体が乗っ取られる話ではありません。

ただし、その悪質な拡張が claude.ai ドメイン上でコードを動かせれば、ページ内に特定の要素を仕込み、さらに偽のクリックイベントを投げて、Claudeのワークフローを発動できるそうです。

ここで動くのは、Claude拡張に最初から入っている定義済みのAIタスクです。記事では次のようなものが挙がっています。

image_0004.jpg

要するに、Claudeが「ユーザーの代わりにやってくれるはずだった便利作業」を、別の拡張機能が横取りできる、という構図です。
ここがかなり怖い。AIが直接しゃべり出すより、こういう**“権限のある自動操作”**のほうが現実的な被害につながりやすい気がします。

ただし、何でもできるわけではない

この手の話で大事なのは、盛りすぎないことです。今回の欠陥は、​任意のプロンプト注入を可能にするわけではありません。
つまり、攻撃者がClaudeに好き放題の命令を流し込める、というよりは、​拡張機能に最初から用意されている9つのタスクを誤作動させるタイプです。

ここは少し安心材料でもあります。
とはいえ、「9個しかないから大したことない」と切り捨てるのは早いです。Gmail、Docs、Calendar、Salesforceに触れるタスクが入っている時点で、被害の幅は十分に広い。悪用の方向性がはっきりしているぶん、むしろ現実味があるとも言えます。

「Act without asking」があると、もっと面倒

記事では、影響はClaude拡張の設定にも左右されるとしています。
特に気になるのが “Act without asking” というオプションです。これは名前の通り、Claudeが事前定義されたワークフローを、確認なしで実行できる設定です。

この設定が有効だと、ユーザーに逐一確認を求める壁が薄くなるので、悪質な拡張がワークフローを起動したときの被害が大きくなります。
逆に、重要な操作ごとに確認を挟むなら、被害はやや抑えられるはずです。とはいえ、最初から確認をすり抜ける設計に近いなら、心理的なブレーキとしてはあまり強くないでしょう。

もうひとつ見つかった内部パラメータ

image_0005.jpg

研究者は、skipPermissions=true という内部パラメータも見つけています。名前からしてもう、あまり気持ちよくない感じです。
これは一部の権限チェックを飛ばすものでした。

ただし、研究者自身も単体では直接悪用できないと認めています。別の脆弱性があって、特殊なURLを作れる場合に意味が出る、という位置づけです。なので、メインの話題はやはり synthetic click のほうです。

かなり今っぽい脆弱性だと思う

個人的には、今回の件は「ブラウザ拡張機能の古典的な問題」に見せかけて、実はかなりAIエージェント時代らしい事故だと思います。

昔なら、拡張機能が勝手にページをいじるだけでも十分いやらしい話でした。
でも今はそこに、AIがログイン済みの外部サービスへアクセスし、メールを読んだり予定を作ったり、営業データを触ったりする。つまり、​**“拡張機能が触れるページ”と“AIが触れる業務データ”がつながってしまう**んです。これが怖い。

人間がクリックしたかどうか、という一見地味な判定が、実はAIの安全性の分岐点になっている。そこが面白くもあり、少し嫌なところでもあります。

対応状況

image_0006.jpg

この問題はManifold SecurityからAnthropicに報告され、バグバウンティ経由で共有されました。
Anthropicは報告を認めたものの、synthetic-click の件についてはすでにより広い問題として追跡中としてクローズ。skipPermissions=true のほうはinformational、つまり参考情報扱いでした。

ただ、Manifoldによれば、記事時点でも最新の 1.0.80 で再現できたとのことです。
7月7日にリリースされた版でも、該当箇所は以前のソースと実質同じだった、と報告しています。ここは少し気になります。修正が追いついていないなら、当面は使い方に注意したほうがよさそうです。

どう受け止めるべきか

この手の問題で「悪質な拡張機能を入れなければいい」で終わらせるのは簡単です。けれど現実には、拡張機能はつい入れてしまうものですし、見た目だけでは怪しさが分からないことも多い。そこが厄介です。

AIアシスタントに業務権限を持たせるなら、​**“人間の操作の確認”をどこでどう担保するか**は、もう本体機能の一部として考えるべき段階に来ているのではないかと思います。
便利さのために一歩だけ信頼を広げたら、その一歩がそのまま横から突かれる。今回の話は、その典型に見えます。


参考: Claude Chrome extension flaw lets malicious extensions trigger AI actions

同じ著者の記事