ストアこそが脅威のとき — 108本の悪意あるChrome拡張機能、1台のC2、2万件のインストール
たった一人のオペレーターが、5つの偽のパブリッシャー名義でChrome Web Storeに108本の悪意ある拡張機能を送り込み、およそ2万件のインストールを集め、それらすべてを1台のコマンド・アンド・コントロール・サーバーへと中継しました。レビュー体制はこれを見抜けませんでした。セキュリティ優先のブラウザがもっと強い立場を取らなくてはならない理由は、ここにあります。
ブラウザ拡張機能とは、あなたが訪れるすべてのページを読み、ブラウザが持つあらゆるトークンを読み取り、あなたの名義で操作ができる——そんなプログラムのことです。Chrome Web Storeは、それらのプログラムを審査すると約束しています。2026年4月、たった一人のオペレーターがそれを108本も公開し、およそ2万件のインストールを収穫し、すべてを単一のサーバーを通過させました。ストアは気づきませんでした。
4月14日、アプリケーション・セキュリティ企業のSocketは、Chrome Web Storeにおける組織化された悪意ある拡張機能キャンペーンを公表しました。研究者のKush Pandya氏は、Yana Project、GameGen、SideGames、Rodeo Games、InterAltという5つの偽のパブリッシャー名義で公開された108本の拡張機能を見つけました。これらはすべて144.126.135[.]238にある共通のコマンド・アンド・コントロール(C2)サーバーを指していました。合計で、これらの拡張機能はおよそ2万回インストールされていました。同日、The Hacker Newsが数字を裏付けました。
これらの拡張機能は、壊れたURLによる嫌がらせでも、本物のソフトウェアに申し訳程度の広告詐欺を足しただけのものでもありません。ひとつのツールキットでした。
- 54本の拡張機能は、ログイン中のユーザーのGoogleアイデンティティを盗んでいました。タブが読み込まれた瞬間に、ChromeがあなたをGoogleサービスに向けて識別するために送る短命な文字列である、OAuth2のBearerトークンをこすり取っていたのです。
- 45本の拡張機能は、Socketが「ユニバーサル・バックドア」と呼ぶものを搭載していました。ブラウザの起動時に、C2から取得したコマンドに基づいて任意のURLを開きます。これはクリック詐欺、ドライブバイ・ダウンロード、あるいはエクスプロイト・ページへの静かな誘導のためのプリミティブです。
- 他の拡張機能は、本物のサイトに攻撃者が制御するHTMLを注入し、注入されたコンテンツが実際に動作できるようにHTTPセキュリティヘッダーを剥がし、15秒刻みでTelegram Webのセッションを乗っ取り、翻訳リクエストを攻撃者を経由させたり、YouTubeやTikTokのページをギャンブルのオーバーレイで包んだりしていました。
コードの認証とセッション窃取の経路には、ロシア語のコメントが含まれていました。研究者は、オペレーターの身元は不明であり、インフラはContaboのVPS上でホストされ、サブドメインが機能別(ID収集、コマンド実行、収益化、セッション乗っ取り)に分かれていたと述べています。
この話が出た時点で、108本の拡張機能のいずれもWeb Storeから削除されていませんでした。
拡張機能とは実のところ何か、そしてなぜこれが単なる次のマルウェアの話ではないのか。
ほとんどの人は、ブラウザ拡張機能をフォントを入れるのと同じように入れます——便利そうなものを見つけ、青いボタンを押し、忘れてしまうのです。時々現れる「アクセス許可」ダイアログは、もっと初期の、もっと分かりやすかった時代の名残です。Chromeの現在の拡張機能モデルでは、本物の拡張機能のかなり大きな部分が、次のようなことに近いものを要求し、ユーザーには「一部だけ拒否する」という意味のある手段がありません。
拡張機能は、タブ同士を隔離するsame-originポリシーの上に座っています。それはまさに拡張機能の存在理由です。広告ブロッカーは、すべてのサイトの広告を読めなければ機能しませんし、パスワードマネージャーも、あらゆるログインフォームを見張れなければ機能しません。ブラウザは、至極まっとうに、「バナーを隠すためにページを読む広告ブロッカー」と「あなたのセッショントークンを盗むためにページを読む悪意ある拡張機能」を、実行時には区別しません。別の理由で付与された、同じ能力なのです。
だからSocketが暴いた108本の拡張機能がやっていたのは、Chromeのセキュリティを巧みに回避することではありません。それは拡張機能プラットフォームの、文書化された通常の動作を、ユーザーの利益ではなくオペレーターのサーバーに向けて使った、というだけのことです。
5つの偽のパブリッシャー、1台のサーバー、2万件のインストール。
大事なのはこのキャンペーンの形です。たった一人のアクター、一握りのソックパペットのパブリッシャー・アカウント、表面だけは多彩に見えるよう仕立てられたカタログ——スロットやkenoのゲーム、YouTubeやTikTokの「強化ツール」、Telegramサイドバーのユーティリティ、翻訳ツール、カーソル装飾——そのすべてが同じIPへと戻っていきます。個別に見れば、どの拡張機能も品質の低いジャンクウェアに見えます。合わせて見れば、それは工業化された収穫機です。
5つのパブリッシャーは、このパターンの外縁ではなく、むしろその表面にすぎません。Socketの公表と並行して、LayerX Security社はGhostPosterと呼ぶキャンペーンの拡張版を公開しました。そこではChrome、Firefox、Edgeにまたがる関連した悪意ある拡張機能が追跡されており、累計ダウンロード数は数十万件にのぼり、起源は2020年までさかのぼります。教訓は「ある特定のギャングが捕まった」ということではありません。教訓は、拡張機能ストアのモデル——ユーザーがストアを信頼し、ストアが提出時に審査し、その後はおおむねパブリッシャーの身元を信頼する——が、静かに、しかし大規模に、何年も失敗し続けてきたということなのです。
Bromureの答え——拡張機能をまったく許可しない。
Bromureはセキュリティ優先のブラウザです。Mac上で、各タブは使い捨てのLinux VM(バーチャルマシン——それ自身の独立したコンピュータで、ウィンドウを閉じると消える)の中で動きます。そのVMの中で、私たちは絞り込んだポリシーとともにChromiumをインストールしています。このポリシーのうち、今回の話にとって重要なのは2行です。
chrome://extensionsはブロック。chromewebstore.google.comはブロック。
「ユーザーに警告して、それでも続行させる」フローもなければ、「それでも許可する高度な設定」もなく、フィッシングページがあなたを案内できるデベロッパー・モードの例外もありません。ユーザーはBromureのセッションからはWeb Storeに到達できませんし、仮にディスクに.crxファイルをすでに持っていたとしても、それを読み込む拡張機能ページに到達できません。GhostPosterキャンペーンが依存した攻撃面は、ここには存在しないのです。
念のために言っておくと、これは見落としではなく、意図的な設計判断です。Bromureの立場は、ユーザーがインストール可能な拡張機能を許すブラウザはすべて、このようなキャンペーンに対して構造的に脆弱だ、というものです。「ストアの審査が緩くなったら脆弱」ではありません。構造的に脆弱なのです。ストアの審査こそが、ユーザーと、ページ全域にアクセスできるプログラムとの間に立つ唯一の壁であり、その「ストアの審査」は今、名前のあるキャンペーン、名前のあるオペレーター・インフラ、2万件のインストールとともに、工業規模で公然と失敗したばかりです。ユーザーにGoogleのレビュアー・チームより良い判断を求めるのは、セキュリティ・モデルとは呼べません。
この立場の厳しい版——Bromure版——は、そもそも機能そのものを取り除くことです。ユーザーがインストール可能な拡張機能は、なし。高度な切り替えスイッチも、なし。「非公開の拡張機能を.crxから読み込む、パワーユーザー向け」のような道も、なし。ブラウザが提供しない機能を、攻撃者が悪用することはできません。
何を犠牲にするのか、そしてなぜそのトレードオフが正直なのか。
正直に言いましょう。これは本当のトレードオフで、はっきり名指しする価値があります。
uBlock Originはなし
BromureはVMレベルとネットワークレベルで独自のコンテンツ・フィルタ層を備えていますが、もしあなたが特にuBlock Originを使っていたのなら、ここには存在しません。Bromureが広告をどう扱うかについては別の記事がありますので、そちらをご覧ください。要するに、広告ブロックはブラウザから外に出て、その下のインフラに引っ越したということです。
1Password、Bitwarden、LastPassの拡張機能はなし
あなたのパスワードマネージャーのブラウザ拡張機能は、Bromureではインストールされません。パスワードマネージャーはMac上のネイティブアプリとしてきちんと動きますし、ほとんどのものは外からブラウザにコピー・ペーストや自動入力を問題なく行えます。ワークフローの変化ではありますが、ツールそのものを失うわけではありません。
Grammarly、React DevTools、Web3ウォレットはなし
「ブラウジングに機能を足す拡張機能」と「あなたのデジタル生活の鍵を握る拡張機能」の両方のカテゴリーが、そろってなくなります。ほとんどのユーザーにとって、前者の喪失は小さなものです。開発者や暗号ユーザーにとっては、もっと大きいでしょう。その喪失が致命的なら、Bromureはあなたの主ブラウザではありません——そしてそれもまた、公正な答えです。
見返りに得られるもの
108本の悪意ある拡張機能があなたのMacに着地することはありません。インストールする経路そのものがないからです。5つの偽のパブリッシャーは、存在しない審査プロセスを欺くことはできません。そもそもあなたがレビュアーを信頼するよう招かれていないからです。この話の攻撃面——その中心——は、閉じられています。
はっきり言っておくべき一点があります。Bromureはたしかに、VMの中に少数のファースト・パーティ拡張機能を読み込んでいます——Macのパスワードマネージャーと対話するための資格情報ブリッジ、以前に書いたIPリークの件のためのWebRTCブロッカー、それにいくつかの計測用ヘルパーです。これらはブラウザ自身のアーキテクチャの一部で、ディスクイメージに焼き込まれており、稼働中のセッションが付け足したり差し替えたりできるものではありません。ユーザー拡張機能をそこから入れるための抜け道でもありません——ブラウザがブラウザらしくあるための仕組みです。これらを「拡張機能」と呼ぶのは、仕組みに対する正直な命名であって、秘密のストアではありません。
壊れているのはレビュー・モデルの方です。
108本の拡張機能の話を、Googleに特有の物語として読みたくなる誘惑があります。けれど、そうではありません。LayerXのより広い追跡によると、Mozillaのアドオンストアも、MicrosoftのEdgeストアも、関連するキャンペーンを何年もホストしてきました——場合によっては、Edgeで生まれ、のちにChromeへ広がったものもあります。共通因子は特定のレビュアー・チームではありません。モデルそのものなのです。提出し、承認され、公開し、その後はインストール済みユーザーに向けて自動更新を押し出す——継続的な監視はほぼないまま。このモデルのもとで数百万台のマシンで動くプログラムは、いずれは必ず、その隙を工業化したい人々を引き寄せます。
その決断のせいで、これは小ぶりなブラウザです。それこそが狙いです。Web Storeのすべての拡張機能にいまだ「はい」と答えるセキュリティ優先のブラウザは、セキュリティ優先のブラウザではなく、ロゴだけ違う普通のブラウザにすぎません。ストアが脅威であるとき、唯一正直な答えは、ストアから拡張機能を受け取らないことです。私たちの見立てでは、あなたのMacはそのほうが安全になります。
Bromureがすることを求めているなら、インストールして、ブラウジングの中でもリスクの高い半分——グループチャットから飛ばされてくるリンク、ちょっと怪しい検索結果、いつも「あるページ」を開くようにできている仕事のメールの添付——のデフォルトとして試してみてください。もしGhostPosterのオペレーターがまだ外にいて、次の108本の拡張機能が明日着地するとしても、Bromureのセッションはそのことを知らずに済みます。