公式ストアが「安全」という常識は、もう通用しない。アプリケーションセキュリティ企業Socketの調査により、Chrome Web Storeに100本を超える悪意ある拡張機能が存在し、Google OAuth2 Bearerトークンの窃取、バックドアの設置、広告詐欺を組織的に行っていることが明らかになった。ユーザーが「公式ストアにある」という理由でインストールしたものが、実は情報窃取ツールだった——という事態が、今まさに現実として広がっている。

キャンペーンの全体像:5つの顔を持つ脅威アクター

Socketが発見したこのキャンペーンは、単発の悪性拡張機能ではなく、単一のC2(コマンド&コントロール)インフラを共有する組織的な作戦だ。脅威アクターは5つの異なる公開者IDを使い分け、以下のカテゴリに偽装して拡張機能を公開した。

  • Telegramのサイドバークライアント
  • スロットマシン・ケノゲームなどのギャンブル系ゲーム
  • YouTubeおよびTikTokの機能拡張ツール
  • テキスト翻訳ツール
  • 汎用ユーティリティ

一見すると「便利な日常ツール」の体裁を装いながら、バックエンドではContabo社のVPS上にC2サーバーを構え、複数のサブドメインでセッション乗っ取り・身元情報収集・コマンド実行・収益化の各オペレーションを管理している。コード内のコメントから、ロシア系のMaaS(Malware-as-a-Service)オペレーションである可能性が高いと分析されている。

3種類の攻撃手法:それぞれの危険度

1. innerHTML注入による78本のクラスター

最大のグループは、innerHTMLプロパティを悪用して攻撃者が制御するHTMLをブラウザのUIに挿入する。フィッシングページの埋め込みや、正規サイトを装ったクレデンシャル詐取に応用できる手口だ。

2. chrome.identity.getAuthTokenによる54本のクラスター

chrome.identity.getAuthToken APIを使い、被害者のメールアドレス・氏名・プロフィール画像・GoogleアカウントIDを収集する。さらにGoogle OAuth2 Bearerトークンを窃取する。このトークンは、Googleサービス全体へのアクセスを一時的に許可する鍵であり、奪われれば正規ユーザーとして成りすましてGmail・Drive・Calendarなどを操作される可能性がある。

3. バックドア型の45本:ユーザー操作不要で発動

最も静かで危険なグループは、ブラウザ起動時に自動実行される隠し関数を持つ。ユーザーが何も操作しなくてもC2からコマンドを受け取り、任意のURLを開くことができる。

4. Telegramセッション完全乗っ取り(最重大)

Socketが「最も深刻」と位置づける拡張機能は、15秒ごとにTelegram Webのセッション情報を窃取する。localStorageからセッションデータとTelegramセッショントークンを抜き取り、C2に送信するのみならず、逆方向の操作——被害者のlocalStorageを攻撃者が指定したデータで上書きし、Telegramを強制リロードすることで、被害者のブラウザを別のTelegramアカウントに切り替えられる。被害者は気づかぬまま、自分のブラウザが攻撃者のアカウントとして動作する状態に置かれる。

実務への影響:日本のエンジニア・IT管理者が取るべき行動

すぐに確認すべきこと: Socketが公開した悪性拡張機能のIDリストに対して、自分のChromeにインストール済みの拡張機能を照合し、一致するものは即座にアンインストールする。

組織として対応すべきこと:

  • 拡張機能の許可リスト管理: Google WorkspaceのChrome管理機能(Chrome Enterprise)で、業務上承認された拡張機能以外はインストール禁止にするポリシーを設定する。これが現状で最も確実な防線だ
  • OAuth2トークンのスコープ監視: Google管理コンソールのセキュリティダッシュボードで、不審なサードパーティアクセスが発生していないかを確認する
  • セキュリティヘッダーの状態確認: このキャンペーンにはContent-Security-Policyなどのセキュリティヘッダーを剥ぎ取る拡張機能も含まれる。Webアプリのヘッダーが意図した通りに機能しているか、定期的な検証を
  • Telegramを業務利用している場合: ウェブ版Telegramのセッション管理を強化し、不審なアクティブセッションがないか確認する

今回の事例で特に危険なのは、被害者が何もしなくても攻撃が始まるという点だ。バックドア型の拡張機能はブラウザ起動のたびにC2と通信し、ユーザーのクリックや操作を一切必要としない。エンドポイント保護の視点では、ブラウザ拡張機能はネットワーク上の「未管理のエージェント」として扱うべき時代に来ている。

筆者の見解

「公式ストアにある=安全」という感覚的な信頼が、今回の根本的な問題だと思う。App StoreであれChrome Web Storeであれ、プラットフォームのレビューには限界があり、100本超が長期間野放しだった事実は、その限界を明確に示している。

ゼロトラストの原則から言えば、拡張機能は「信頼するかどうかを毎回検証する対象」であるべきだ。インストールした時点で一定の信頼を与えたまま忘れてしまうのが最大のリスクで、これはVPNトンネルを「一度つながれば安全」と思うのと構造的に同じ過ちだ。

Non-Human Identity(NHI)管理の文脈でも、OAuth2トークンの取り扱いは重要な論点だ。人間のアカウントに紐づくトークンが拡張機能経由で漏れ出せば、その後の業務自動化フローやAIエージェントが汚染された認証情報を使ってしまうリスクもある。トークンのスコープを最小化し、有効期限を適切に管理し、異常なアクセスパターンを検知する仕組みを整えることが、もはや「理想論」ではなく「実務上の必須要件」になってきている。

結局のところ、「禁止する」だけでは人はツールを使い続ける。組織として業務に必要な拡張機能を把握・承認し、それ以外はポリシーで管理する——という「安全に使える仕組みを作る」アプローチが、セキュリティと利便性を両立する唯一の現実的な道だと考えている。


出典: この記事は Over 100 Chrome extensions in Web Store target users accounts and data の内容をもとに、筆者の見解を加えて独自に執筆したものです。