- LinkedIn のウェブサイトは、ページを読み込むたびに 2,953個の Chrome 拡張機能の存在を検出している
- このリポジトリでは、LinkedIn が確認している すべての拡張機能 ID、名前、Chrome Web Store のリンクを文書化している
- 全拡張機能のうち 約78%は Chrome Web Store で、約22%は Extpose を通じて確認された
- 提供されている スクリプト(fetch_extension_names.js) は拡張機能名を自動収集し、削除された拡張機能は Extpose で代替参照する
- このデータは、ウェブサイトがユーザーのブラウザー拡張機能を識別する行為の規模を示す資料である
LinkedIn Chrome Extension Fingerprinting
- LinkedIn は各ページ読み込み時に 2,953個の Chrome 拡張機能を密かに確認している
- この処理は、ユーザーのブラウザーにインストールされた拡張機能を識別するための fingerprinting の一形態として行われる
- このリポジトリには、LinkedIn が確認する すべての拡張機能リストと関連ツールが含まれている
chrome_extensions_with_names_all.csv ファイルには、拡張機能 ID、名前、Chrome Web Store または Extpose のリンクが整理されている
データ構成
- データファイルには Extension ID、Name、URL の3つの列が含まれる
- Extension ID は32文字の識別子で、URL は Chrome Web Store または Extpose のリンクにつながる
- 全リストは
chrome_extensions_with_names_all.csv ファイルで確認できる
スクリプト
- fetch_extension_names.js は Chrome Web Store から拡張機能名を取得し、削除済みまたはアクセス不能な場合は Extpose を通じて代替参照する
- コマンド例:
node fetch_extension_names.js, node fetch_extension_names.js --offset 0 --limit 500
- test_fetch.js は最初の3件の拡張機能を処理し、詳細出力(verbose) モードでテストできる
統計
- LinkedIn の fingerprint リストには 合計2,953個の拡張機能が含まれる
- このうち 約78%は Chrome Web Store で、約22%は Extpose を通じて確認された
ソースファイル
chrome_extension_ids.txt : LinkedIn の fingerprint.js から抽出した 生の拡張機能 ID リスト
fingerprint.js : LinkedIn ページに含まれる 拡張機能検出用スクリプト(短縮版)
fetch_extension_names.js : 拡張機能名を自動収集する 補助スクリプト
要約
- LinkedIn がブラウザー拡張機能の情報を大規模に調査しており、
このリポジトリはその 完全な一覧と収集方法を透明性高く公開している
1件のコメント
Hacker Newsのコメント
Firefoxは今回の問題に耐性があるようだ
Chromeは拡張機能のWebアクセス可能リソースを
chrome-extension://[PACKAGE ID]/[PATH]の形で公開するが、Firefoxは
moz-extension://<extension-UUID>/myfile.pngの形でアクセスする。この
<extension-UUID>はブラウザごとにランダム生成されるため、サイトがインストール済み拡張機能を通じてブラウザをフィンガープリンティングするのを防げる関連ドキュメント: Chromeドキュメント, Firefoxドキュメント
「このブラウザにはX、Y、Zの拡張が入っている」から「これはJim Bobのブラウザだ」に変わるだけでは?
拡張機能の一覧を見ると、ほとんどがLinkedInデータのスクレイピングや自動化に関する拡張だ
LinkedInで働いていたときもこうした乱用は深刻で、内部の検知・防止システムをかなり精巧に作っていたが、終わりのない戦いだった
これはChrome Web StoreのTOS違反かもしれない
Chromeはもう新しいIE6のようだ
Googleは自らを次のMicrosoftにしてしまい、広告寄りの方向へ進んでいる。
セキュリティ向上というより、広告ブロッカーの無力化やマルウェア許容に貢献してきた印象だ
パッチ速度やセキュリティテストも悪くない
LinkedInを開いてF12を押すと、エラーカウントが増え続ける
スクリーンショットはこちらで確認できる
最近、LinkedInの拡張機能検出手法と副作用の少ない別の方法についてブログにまとめた
Castleブログ記事
navigator.webdriverが常にfalseになるようにすればリモート操作は可能だ。検出は難しいが、入力速度のパターンではまだ検知できる
数か月前に関連する記事を書いた。
なぜこうしたことが可能なのか、そして防ぐ方法まで説明した
記事リンク
LinkedInは最近奇妙なダークパターンを多用している
こうした挙動の理由を知っている人がいれば聞きたい
Webクローリングから人手による手作業に至るまで、多様な防御戦略を講じている最中だ
こうした手法はすでに2019年から知られていた
Nymeriaブログ記事
LinkedInがスキャンしている拡張機能の一覧は明確だが、むしろスキャンしていない拡張機能のほうが興味深い
たとえば「Contact Out」はスキャン可能なのに、LinkedInは無視しているような態度を見せている。
裏取引があったのではないかと疑ってしまう
Contact Out拡張リンク
「このリポジトリはLinkedInが検査するすべての拡張機能を文書化し、それらを識別できるツールを提供する」とあるが、
LinkedInが実際にこれらのIDを検査しているとどう確認したのか気になる。
また、これが非Chromeユーザーにも関係するのかも知りたい
自分たちのアプローチのほうが「より静かで、目立たず、大規模実行しやすい」と自慢していた
Castleブログ記事