世界を動かす技術を、日本語で。

LinkedInが2953のブラウザ拡張機能をチェックしました

2026年2月6日原文(github.com)

概要

  • LinkedIn による Chrome拡張機能のフィンガープリント 手法の解説
  • 2,953個 の拡張機能を対象とした調査内容
  • 拡張機能リストや 識別ツール の提供
  • データ取得や スクリプト実行方法 の説明
  • 拡張機能の識別状況や 統計情報 の概要

LinkedInによるChrome拡張機能フィンガープリント概要

  • LinkedIn は、全ページロード時に 2,953個のChrome拡張機能 をサイレントに検出
  • このリポジトリは、LinkedInがチェックする 全拡張機能の一覧識別ツール をドキュメント化
  • chrome_extensions_with_names_all.csv に、拡張機能ID・名称・Chrome Web Store/Extposeリンクを収録
  • chrome_extension_ids.txt には、LinkedInが抽出した 生拡張機能IDリスト
  • fingerprint.js は、LinkedInのページスクリプト(最小化済み)

データ内容

  • chrome_extensions_with_names_all.csv
    • Extension ID :32文字のChrome拡張機能識別子
    • Name :拡張機能名
    • URL :Chrome Web StoreまたはExtposeへのリンク

スクリプトと使い方

  • fetch_extension_names.js

    • Chrome Web Storeから拡張機能名を取得
    • 削除済みや利用不可の場合は Extpose で補完
    • 実行例
      • 全件取得:node fetch_extension_names.js
      • サブセット取得(レート制限対策):node fetch_extension_names.js --offset 0 --limit 500
      • ショートオプション:node fetch_extension_names.js -o 500 -l 500
      • ヘルプ表示:node fetch_extension_names.js --help
  • test_fetch.js

    • 最初の3件を 詳細出力 でテスト処理
    • 実行方法:node test_fetch.js

統計情報

  • 合計2,953個 の拡張機能がLinkedInのフィンガープリントリストに含まれる
  • 78% がChrome Web Storeで発見
  • 22% がExtpose経由で発見(Web Storeから削除または利用不可)

ソースファイル一覧

  • chrome_extension_ids.txt :LinkedInのfingerprint.jsから抽出した 生IDリスト
  • fingerprint.js :LinkedInがページ内で利用する 最小化済み検出スクリプト
  • chrome_extensions_with_names_all.csv :拡張機能ID・名称・リンクの 完全リスト

Hackerたちの意見

確認したよ。LinkedInを開いて、F12を押してみて。エラーの数がどんどん増えていくのが見えるから。スクリーンショットはここにあるよ。https://x.com/DenisGobo/status/2018334684879438150

xcancelのリンク: https://xcancel.com/DenisGobo/status/2018334684879438150

リストをざっと見た感じ、ほとんどの拡張機能はLinkedInのデータをスクレイピングしたり、自動化したりするためのものみたい。LinkedInのデータでお金が稼げるから、驚くことじゃないよね。私がそこで働いていたときもスクレイピングが問題だったし、悪用対策チームがかなり洗練された検出・防止策を作ってたから、常に戦いだったよ。

誰かかわいそうなLinkedInのことを考えてあげてよ、世界で最大のデータブローカーの一つの子会社なんだから。

コードから見る限り、マッチしても何もしてないみたいだね。ただ、フィンガープリンティング用に結果をCSVに保存してるだけ?

LinkedInの拡張機能のフィンガープリンティングが機能するためのデータソースを作るために、誰か(LinkedInの人?)がほぼ確実にChromeウェブストアの利用規約を違反して、データをスクレイピングしたんじゃないかな。* もしLinkedInが既存のデータソースから取得していなければだけど。

LinkedInにとっての問題は「問題」じゃない。人々にとっての本当の問題は、LinkedInや他の企業が裏でデータを仲介してることだよ。

このリポジトリは、LinkedInがチェックするすべての拡張機能を文書化していて、それらを特定するためのツールを提供している。CSVが拡張機能のリストを示していて、ツールは作業を示すために提供されているのは分かるけど、どうやってLinkedInがこれらのIDの拡張機能をチェックすることが分かったの? それはChrome以外のユーザーにも関係あるの?

数週間前にベンダーが書いた技術的な解説で、LinkedInがどのようにやっているかを説明して、そのアプローチが「静かで、気づかれにくく、スケールで実行しやすい」と自慢している記事: https://blog.castle.io/detecting-browser-extensions-for-bot-...

Firefoxは免疫があるみたい。これは、拡張機能が提供するウェブアクセス可能なリソースを探すことで機能する。Chromeの場合、これらはURL chrome-extension://[PACKAGE ID]/[PATH] を介してウェブページで利用可能だよ。https://developer.chrome.com/docs/extensions/reference/manif... Firefoxでは、ウェブアクセス可能なリソースは「moz-extension:///myfile.png」で、これは拡張機能のIDじゃない。このIDはブラウザのインスタンスごとにランダムに生成されるから、インストールされている拡張機能を調べることでブラウザをフィンガープリンティングするのを防いでるんだ。https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...

これは多分素朴な質問なんだけど… 拡張機能特有のIDをブラウザ特有の拡張機能IDに入れ替えるってことは、ブラウザが特定されるんじゃなくて、あなた自身が特定されるってことじゃないの?つまり、「あ、彼らはX、Y、Zをインストールしてる」から「お、ジム・ボブだ、彼だけがそのユニークなIDのセットを持ってる」ってことになるよね。

そして、彼らは市場シェアが5%未満のブラウザを使うと、最新のウェブ技術を逃すことになるって言ってたよね!

Hacker Newsで議論の続きを見る