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

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

概要

  • 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%未満のブラウザを使うと、最新のウェブ技術を逃すことになるって言ってたよね!

2ヶ月くらい前にそれについての記事を書いたよ。なぜそうなるのか、どうやってそれを防ぐかも説明してる。https://javascript.plainenglish.io/the-extensions-you-use-ar...

確認なんだけど、君は「なぜそれが可能なのか」について話してるだけで、「なぜLinkedInがそれをやってるのか」については言ってないよね?それとも、僕の記事で何か見逃した?

さくっとCDP接続を設定して。Claude CodeにPage.addScriptToEvaluateOnNewDocumentにJSを追加してもらう。ページの前に読み込まれるよ。典型的な早いフックはこんな感じ: • fetchラッパー • XMLHttpRequest.prototype.open/sendラッパー • WebSocketコンストラクタラッパー • history.pushState/replaceStateラッパー • EventTarget.addEventListenerラッパー(オプション、重い) • DOMの差分用のMutationObserver • エラー + unhandledrejectionキャプチャ

これって何をするの?

この記事やここでの議論には関係ないよね。変なコピペの箇条書きもあるし。

最近、LinkedInが拡張機能を調べるために使っているテクニックについてブログを書いたよ。副作用が少ない他の方法についても触れてる。https://blog.castle.io/detecting-browser-extensions-for-bot-...

いいまとめだね、まさにその通り。

Chromeって今のIE6みたいだよね。Googleは次のMicrosoftになろうとしてるし、広告会社だから、いろんな意味で「広告フレンドリー」なんだよね。セキュリティに関しては、広告ブロッカーの機能を弱めたり、マルウェアが消費者に悪さをするのを許したりしてるだけ。

広告を支配する者が、インターネットを支配する。

Googleは次のMicrosoftになろうとしてる。 Googleは独占企業になった。独占企業はみんなこうなる。

LinkedInは、全ての中で最悪の囲い込みだね。

これ、2019年から知られてたみたいだね。https://www.nymeria.io/blog/linkedins-war-on-email-finder-ex...