- 自動化されたMITM(中間者攻撃)ベースのスキャンパイプラインにより、287件のChrome拡張機能がユーザーのブラウジング履歴を外部へ送信する行為を検知
- これらの拡張機能は合計約3,740万回インストールされており、これは世界のChromeユーザーの約1%に相当
- データ流出行為にはSimilarweb、Curly Doggo、Offidocs、Big Star Labsなどの主要なデータブローカーと、多数の小規模事業者が関与
- 分析の結果、一部の拡張機能はROT47、AES‑256、LZ‑stringなどの暗号化手法を使ってURLデータを隠蔽して送信
- 単なるプライバシー侵害を超え、企業内部ネットワーク・管理コンソールURLの露出などのセキュリティリスクにつながり得る深刻な脅威
自動化スキャンパイプラインの構築
- 研究チームはDocker環境のChromeブラウザをMITMプロキシで囲み、URL長に応じた出力トラフィックの相関関係を測定する自動化システムを構築
- URL長に比例して送信量が増加すれば、その拡張機能がURLを外部へ送信していると判断
- スキャンは2段階で実施され、合計930 CPU日を要した
- 1次で4つのURL長をテストし、疑わしい比率(
0.1 ≤ R < 1.0)が検出されると、追加の6つの長さで再検証
データ流出の検知と分析
- 287件の拡張機能がブラウジング履歴を外部サーバーへ送信していることを確認
- これらの拡張機能の総インストール数は約3,740万回で、世界のChromeユーザーの約1%規模
- 流出したデータはSimilarweb、Curly Doggo、Offidocs、Big Star Labsなどへ送られ、一部はKonteraスクレイパーを通じて再収集される
- ハニーポットサーバーを運用して実際のデータ収集IPを追跡した結果、HashDit、Blocksi AI Web Filter、Konteraなど5つの主要IP帯が繰り返しアクセス
主な関係者と関連性
- OSINT分析により、各拡張機能の開発者メール、プライバシーポリシー、証明書情報などを調査
- Similarwebの「Similar Sites」拡張機能がKonteraスクレイパーおよびCurly Doggo、Offidocsとつながっていることを確認
- Big Star LabsはSimilarwebと同じコードパターンを共有しており、同一組織である可能性が高い
代表的な流出事例
- Poper Blocker: ROT47でURLを難読化して
api2.poperblocker.comへ送信
- Stylish: AES‑256とRSA公開鍵暗号を用いてURLを暗号化し、
userstylesapi.comへ送信
- BlockSiteおよびVideo Ad Blocker Plus: LZ‑string UTF16圧縮を使ってURLを送信し、同一のデータスキーマを使用
- Similarweb:
rank.similarweb.comへ多重URLエンコードされたブラウジングデータを送信
- WOT (Web of Trust): XORベースのカスタムエンコーディングでURLを暗号化し、Similarwebと同一の構造
- Smarty、CrxMouse、ApkOnline、Knowee AI、Super PiPなども、それぞれURLパラメータ、ヘッダー、Google Analytics APIなどを通じてデータを送信
脅威規模と影響
- 約3,740万人のユーザー、すなわちポーランドの人口規模に相当する利用者が影響を受ける
- 一部の拡張機能は機能上ブラウジング履歴へのアクセスが必要な場合もあるが、多くは明示的な同意なしにデータを収集
- 流出したデータは広告ターゲティング、企業スパイ行為、セッション乗っ取りなどに悪用され得る
- 特に企業環境で「生産性向上」拡張機能を使う従業員には、内部URL露出のリスクがある
結論と警告
- 分析された拡張機能の多くは、意図的な暗号化と隠蔽手法を用いて検知を回避
- これは単なるバグではなく、データ収集を基盤とするビジネスモデルと判断される
- 無料でもオープンソースではないソフトウェアでは、ユーザー自身が「製品」になり得ることを想起すべき
- Chrome拡張機能をインストールする際は、権限の確認と提供元の検証が不可欠
1件のコメント
Hacker News の意見
15年ほど前、特定の機能だけを持つ Chrome 拡張機能 を作ったことがあり、かなり人気があった
数千ドルで売ってそのまま忘れていたが、今になって見ると、悪意ある人たちがこうした 正規の拡張機能を買い取り、ユーザーデータで金を稼ぐ パターンがはっきり見える
実際にそうした事例をいくつも目撃してきた
関連する議論は GitHub ディスカッション にまとまっている
ゲーマーが高レベルのキャラクターを売ったり、SNS アカウントの持ち主が変わったりするのと似た構図だ
いまやセキュリティの新たな前線は、ブラウザ拡張機能、クラウド連携、アプリのアクセス権限といった領域にある
Gmail や Google Drive への全面的なアクセス権をどんなアプリにも与えると、ランサムウェア にさらされる可能性がある
ローカル OS には痕跡が残らず、ウイルススキャナでも検出できない
セキュリティ点検の手順が煩雑すぎて、アクセス権を一つずつ外していくのは苦行だ
もっと良い方法が必要だ
拡張機能の売買そのものを止めることはできないが、Chrome Web Store の検証手順 は強化すべきだ
ただし、その責任は個人ではなく ストア運営者 が管理すべきだ
信頼していた拡張機能が悪性化したときに備えて、自衛策をまとめた
brave://flags/#brave-extension-network-blocking機能でトラフィックフィルタリング規則を自分で設定できるもし 拡張機能のコードベースを決定論的に監査できるツール があれば知りたい
私は オープンソースの拡張機能 しか使わない
uBlock Origin や SponsorBlock のように、コードが公開されていて、開発者が匿名ではないものだけを信頼している
Chrome Web Store は事実上 無規制の市場 で、Google は利益だけを取っている
オープンソースだけが、インストール前にコードを自分で確認できる最低限の安全装置だ
pip、npm、rpm のような他のオープンソース配布チャネルでも同じだ
関連する議論は GitHub ディスカッション にある
「Google を信用するな」よりも「制度を改善しよう」のほうが現実的なアプローチだ
Chrome より Firefox や Safari のほうがこうした設定には向いている
ほとんどの拡張機能のコードは 難読化されているが、ソースコード自体は誰でも見られる
方法は このリンク にまとまっている
私も約2,000人が使う小さな拡張機能を運営しているが、悪性コードに変えようという買収提案 が頻繁に届く
例としては One Click Image Saver がある
小学生の娘が学校で Chromebook で Google Classroom を使っているが、拡張機能の制限がほとんどない
ログインするたびに Chrome が「悪意ある活動のため拡張機能が削除されました」という通知を出す
だからいっそ オープンソースの拡張機能だけを使うか、自分で作るほうがよい と思う
単純な機能なら Tampermonkey で自作 できるし、コードも自分で確認できる
最近は私もほとんどの拡張機能を自作して使っている
Tampermonkey はコードの修正と確認が簡単で、AI ツールでセキュリティ点検 するのも楽だ
私はすべてのソフトウェアで自動更新を 無効化 している
「すぐ更新しないとハッキングされる」という話は幻想だ
むしろ更新後にハッキングされる可能性のほうが高いと感じる
信頼できない拡張機能は、いつか 売却されて悪性コードに変わる可能性 が高い
だから私は uBlock Origin しか入れていない
すべて Google が強制した公開メールアドレス宛てだ
役に立つメールは一通もなかった
だから私も uBlock Origin、Bitwarden、それに自作の拡張機能しか信頼していない
例としては Old Reddit Redirect がある
以前は Tree Style Tab を使っていたが、Firefox が 縦タブ機能を標準サポート するようになったので、今は不要だ
新しい拡張機能を入れるのは危険すぎる
開発者の Raymond Hill が再びフォークして作ったものだ
多くの拡張機能は、検索クエリの
"u": "https://www.google.com/search?q=target"のような URL パラメータを収集 しているこれは単なる閲覧履歴を超えて、認証トークンまで盗める ことを意味する
そうしたトークンは常に公開状態だからだ
世界で最も裕福な企業の一つである Google が、なぜこの問題を自力で解決しなかったのか 疑問だ
広告ブロッカーを止めることにはあれほど熱心なのに、こういう問題は放置している
だとすれば、「なぜ公表しなかったのか」がより重要な問いになる
macOS でインストールされている すべての Chrome 拡張機能 ID を列挙 するコマンドが共有されている
結果を 悪意ある拡張機能の一覧 と照合すればよい
bad_browser_extension_check_osx.sh はターミナルからそのまま実行できる