リンクedin は、拡張機能を 6,278 つスキャンし、その結果を全てのリクエストに暗号化して含めています。

2026/05/01 4:40

リンクedin は、拡張機能を 6,278 つスキャンし、その結果を全てのリクエストに暗号化して含めています。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

LinkedIn は、同意なく特定の Chrome 拡張機能を検出し処罰するために、ユーザーのブラウザを秘密裏にスキャンしており、基本的なプライバシー原則違反となっています。2026 年 4 月現在、そのスキャンカタログには 6,278 の拡張機能エントリが含まれており、少なくとも 2017 年から(当初は 38 から)積極的に維持されています。各拡張機能について、LinkedIn は chrome-extension:// URL に対して fetch() リクエストを發行し、失敗した場合はエラーがログに記録され、成功した場合は無視されて解決し、1 回の訪問あたり最大 6,278 のデータポイントが発生します。~1.6 MB の minified(圧縮された)かつ部分的に暗号化された JavaScript ファイルには、ハードコードされた拡張機能 ID と特定の web_accessible_resources パスが埋め込まれています。スキャンは 2 つのモードで実行されます:Promise.allSettled() を使用した同時並列リクエストと、設定可能な遅延( 때로는 requestIdleCallback に委譲される場合もあり)を持つ順次リクエストであり、パフォーマンスへの影響を隠蔽するためです。二次的なシステム「Spectroscopy」は、ハードコードされたリストに含まれていなくても chrome-extension:// URL を参照するアクティブなインタラクションを検出するために、独立して DOM ツリーを行進します。

拡張機能のみならず、LinkedIn の APFC/DNA ファフィンガープリントでは、キャンバスフィンガープリント、WebGL レンダラー、音声処理、インストール済みフォント、画面解像度、ピクセル比率、ハードウェア並列性、デバイスメモリ、バッテリーレベル、WebRTC によるローカル IP、タイムゾーン、言語など 48 の特性を収集し、これらを開示なしに収穫します。検出された拡張機能 ID は AedEvent および SpectroscopyEvent オブジェクトにパッケージ化され、RSA 公開鍵で暗号化され、LinkedIn の li/track エンドポイントに送信され、セッション中の後続のすべての API リクエストにおいて HTTP ヘッダーとして注入されます。

これらの実践により、求職ツール、政治コンテンツ拡張機能、宗教活動ツール、障害者支援ソフトウェア、神経多様性関連アプリケーションへの執行措置が可能となり、また LinkedIn は個人の詳細(例:アクティブな求職活動)を推測し、従業員間の組織ツールおよびワークフローをマッピングすることが可能です。この暗黙的なスキャンは LinkedIn のプライバシーポリシーに開示されておらず、EU デジタル市場法に違反しており、ゲートキーパーであるマイクロソフト(2024 年に指定)に対し、サードパーティツールを許可し、差別的な執行を禁止することを求めています。browsergate.eu によって公開準備が整っている完全な裁判所文書を通じて、法律当局——バイエルン州中央サイバー犯罪捜査庁(バーミング)など——は刑事調査を開始しました。ユーザーおよび企業は今後、プライバシー侵害とセキュリティ構成の暴露に対するリスクが高まっています。

本文

企業がこのような行為に気づかれた際、反応はほぼ常に同じです。「私たちはこの技術を使って不正を防いでいるのです」「ユーザー体験を向上させるために活用しています」「計算リソースを節約するためです」など、実に荒唐無稽な言い訳がつぎつぎと繰り出されます。しかし真実はシンプルです:サービスにログインしていないユーザーの個人情報を特定する可能性があるデータを集約することには正当な理由がありません。エクスペリアンやリンクトインのような企業が、すべてのウェブトラフィックを特定の個人と照合できる事態は、その危害がいかに深刻であるかを想像するのは容易です。

ただ一つ、シンプルな問いが存在します:私の上場活動に関与している企業が、私の明確な同意なしに取得された個人的情報へのアクセス権を持てるべきでしょうか? 答えは明確です:持てない。終わり。

これは新たな問題ではありません。ブラウザゲート.eu が文書化した記録や、GitHub リポジトリ上で拡張機能のリストを追跡しているプロジェクトによると、リンクトインの拡張機能スキャンは少なくとも 2017 年に遡り、当時のリストに含まれていたエントリは 38 つに過ぎませんでした。

  • 私の検証結果:2026 年 4 月現在、リンクトインが特定・追跡している拡張機能は 6,278 に上ります。
  • このリストは現在もアクティブに維持され、さらに拡大しています。

この規模であれば、カタログを手作業で作成するはずがありません。誰かが Chrome ウェブストアの拡張機能パッケージをクローリングするツールを開発し、各マニフェストからウェブアクセシブルなリソースを解析し、プローブターゲットを特定してリストに追加するシステムを構築したのです。これは実にほぼ 10 年にわたって存在していたインフラストラクチャです。

私はこの事実を独自に確認しました:

  • クロムでリンクトインを開きました。
  • 開発者ツール(F12 キーまたは Inspect)を開くと、コンソールエラーが溢れ出ました。
  • エントリのすべては私がインストールしていない拡張機能です。つまり、リンクトインが集めている私のデータポイントは少なくとも 6,278 もあります。
  • それぞれのエラーは、リンクトインが「ご質問の特定の拡張機能がインストールされていますか」とお使いのコンピュータに確認していることを意味します。

詳細な技術情報を確認するには文章の最後までお読みください。

リンクトインがすでにあなたについて知っていることの多さ;さらに知るのはなぜなのか?

大多数のフィンガープリンティング作動は匿名訪問者に対して行われます。このフィンガープリントにより、ウェブサイトはクッキーを使わずにリターニングブラウザを認識できます。得られるプロファイルは技術的には特定できるものの、必ずしも個人として識別されるとは限りません。サイトはデバイスを把握しているだけで、人物とは直接結びついていません。問題の程度には差がありますが、固有の個人情報と必然的に関連付けられているわけではありません。

しかし、リンクトインは匿名訪問者ではありません。リンクトインはあなたの氏名、雇用主、役職、キャリア履歴、給与範囲、プロフェッショナルなネットワーク、所在地を知っています。すべてあなたが提供した情報です。リンクトインの拡張機能スキャンがあなたのブラウザで実行される際、それは未知の訪問者へのデバイスプロフィールを作成するものではありません。すでにあなたの検証された職業的アイデンティティを含むプロフィールに対して、詳細なソフトウェア棚卸しを追加しているのです。危害は具体的であり:

  • 数百もの就活用拡張機能がスキャンリストに含まれています。リンクトインは、従業員が雇用主にまだ伝えていない段階で静かに仕事を探しているユーザーを把握します。
  • 政治的内容、宗教的実践、障害者支援、神経多様性と関連する拡張機能もリストに含まれています。あなたのブラウザソフトウェアが個人の生活に関する推測の源泉となり、それらがあなたの知識なしに職業的アイデンティティに取り付けられてしまいます。

さらに、リンクトインが各ユーザーが働く場所を知っているため、こうした状況は単一個人のみに限定されるものではありません。スキャン結果が一人の従業員から得られれば、その組織全体のプロ像を描くことになります。十分な数の従業員を対象とすれば、リンクトインは組織の知識や同意を得ずに、企業の内部ツール、セキュリティ製品、競合他社のサブスクリプション、そしてワークフローをマッピングできます。あなたのブラウザは雇い主への窓へとなり得ます。

これらは一切、リンクトインのプライバシーポリシーには開示されていません。公開されている文書においても拡張機能スキャンに関する言及はありません。ユーザーに対する同意も求められず、誰にも周知されることもありませんでした。

なぜこれがリンクトインを超えて重要なのか?

先例

リンクトインはこの拡張機能リストを使用して、インストールされているユーザーに対して推論を行い、処置を下しています。browsergate.eu によると、ミリンダ・ラッカムは法廷で「リンクトインは特定の拡張機能をインストールしたユーザーに対して措置を講じた」と宣誓して確認しました。自分のソフトウェアが棚卸しされ、その棚卸しが自分達に対して利用されていることに全く気がつかず、かつリンクトインのプライバシーポリシーにそのような事柄が一切記載されていないため、それが起きていることに気づく術のなかったユーザーたちがいました。

フィンガープリンティングエコシステムの課題

ブラウザのフィンガープリンティングは通常、単一のサイトに限定された追跡問題として論じられます。サイトはシグナルを集め、プロフィールを作成し、セッションを超えてあなたを認識します。問題は局所的にとどまります。その枠組みでは、実際には起こっていることが軽視されています。

  • リンクトインの拡張機能スキャンは、検証されたアイデンティティとリンクした詳細なソフトウェア棚卸しを生成します。このプロフィールがリンクトインで有用である必要はありません。もしリンクトインがサードパーティの行動データセットを購入し、あなたのフィンガープリントが含まれていた場合、それらはあなたがすでに知覚している情報に追加できます。LinkedIn 外での閲覧行為、購買履歴、位置パターン、関心—all of it—はすべて、あなたの LinkedIn アカウントとリンクされたプロフィールの一部となります。
  • 逆もまた真です。リンクトインは Google の reCAPTCHA Enterprise を含むサードパーティのスクリプトを統合しており、各ページ訪問時にロードされます。プラットフォーム間でのデータフローが存在します。LinkedIn で検証されたアイデンティティにリンクされたフィンガープリントは、linkedin.com 以外の広告および追跡システムに情報を提供します。一度 LinkedIn にログインするだけで、その訪れた際生成されたフィンガープリントがウェブ全体を追跡します。

これが大きなエコシステムの課題です:ブラウザのフィンガープリンティングは現代の監視経済を繋ぎ合わせる接着剤です。一つのプラットフォームで構築されたプロフィールが別のプラットフォームからのデータで富化される方法こそがこれです。Instagram や Facebook で、直前に Google で検索したアイテムに対する広告が表示される理由はこのためです。あなたの職業的アイデンティティ、閲覧行動、インストールされたソフトウェア、そして位置履歴が、単一のプラットフォームでは構築できなかった何かへと組み合わされます。

この問題は誰にとって現実的な脅威なのか?

ジャーナリスト、弁護士、研究者、人権調査官にとって、この区別は運用上の重要性を持っています。あなたの LinkedIn プロファイルとは、ウェブ上におけるあなたについての最も詳細な検証済みアイデンティティドキュメントの一つです。あなたはそれを意図的に構築し、職業的目的のため、実名を付けて作成しました。拡張機能スキャンにより、そのプロフィールにはブラウザにインストールされているプライバシーツール、セキュリティ拡張機能、研究ツール、生産性アプリケーションの記録が追加され、あなたの知識なしに収集され、検証されたアイデンティティとリンクされ、プラットフォーム上であなたが取る各行動ごとにリンクトインのサーバーへ暗号化して送信されます。

もしあなたが LinkedIn と Chrome を使用しているなら、このことは今まさにあなたが起こっていることです。

高度な JavaScript フィンガープリンティング

拡張機能スキャンは独立した機能ではありません。リンクトインが「APFC(不正防止プラットフォーム機能コレクション)」と呼んでいるより広範なデバイスフィンガープリンティングシステムの一部です。内部では DNA(デバイスネットワーク分析)とも呼ばれています。リンクトインはこの追跡方法について商業ウェブサイトに一般的に含まれるようにやや開示的ですけれども、これはある種の行動パターンを確立しています。そのシステムは各訪問ごとに 48 のブラウザおよびデバイス特性を集めます:キャンバスフィンガープリント、WebGLレンダラーとパラメータ、音声処理挙動、インストールされたフォント、画面解像度、ピクセル比率、ハードウェア並列処理能力、デバイスメモリ、バッテリーレベル、WebRTC を通じたローカル IP アドレス、タイムゾーン、言語など。拡張機能スキャンはより大きなプロフィールへの一つの入力です。

技術的には何が起こっているのか?

リンクトインのコードは

chrome-extension://
URL に対して
fetch()
リクエストを発行し、クロムにインストールされた特定ファイルを探します。拡張機能がインストールされていない場合、クロムはリクエストをブロックし、失敗ログを残します。インストールされている場合、リクエストは無音で解決し、リンクトインはそれを記録します。

このスキャンは私のコンピュータで約 15 分間実行され、6,000 を超える拡張機能を検索しました。あなたは自分で検証できます:

  1. クロムで LinkedIn を開く。
  2. 開発者ツールを開く。
  3. コンソールタブに行く。
  4. 何が起きているかを観察する。各赤色のエラーはあなたのフィンガープリントの一部です。

コードの詳細: このシステムを担うのは、リンクトインがあらゆるクロム訪問者のブラウザで実行する JavaScript コードの内のいくつかにあります。ファイルサイズは約 1.6 メガバイトで(browsergate の分析以降に変更されています)、圧縮され部分的に暗号化された JavaScript です。標準的なマージネーションはパフォーマンスのためにコードを圧縮します。暗号化とは別のステップで、コードを読んだり理解したりしにくくします。リンクトインは拡張機能スキャンシステムを含む正確なモジュールを暗号化する一方、数千行ある JavaScript ファイルの中にそれを埋め込みました。

そのファイルの内部にはハードコーディングされたブラウザ拡張機能 ID の配列があります。2026 年 2 月時点で、その配列は 6,278 のエントリを含んでいました。各エントリには 2 つのフィールドがあります:

  • Chrome ウェブストア拡張機能 ID。
  • その拡張機能パッケージ内の特定のファイルパス。

ファイルパスは偶然ではありません。Chrome 拡張機能は

web_accessible_resources
フィールドを通じて内部ファイルをウェブページに露出します。拡張機能がインストールされ、アクセシブルなファイルとして宣言されている場合、
chrome-extension://{id}/{file}
への
fetch()
リクエストが成功します。インストールされていない場合、クロムはリクエストをブロックします。リンクトインはそのリストの 6,278 の拡張機能それぞれについて特定のアクセシブルなファイルを特定し、それに対して直接プローブを行いました。

スキャンは二つのモードで実行されます:

  1. 第一に、すべてのリクエストを同時発火させ、
    Promise.allSettled()
    を使用して並列に全ての拡張機能をプローブします。
  2. 第二に、各リクエスト間に設定可能な遅延を加えてシーケンシャルに発火させ、ネットワークアクティビティを時間的に広げ、監視ツールでの可視性を低下させます。

リンクトインは内部機能フラグを使用してモード間を切り替えることができます。スキャンはまた

requestIdleCallback
に延期でき、ブラウザがアイドル状態になるまで実行を待機させ、ユーザーはパフォーマンスへの影響を感じません。

第二の検知システムである Spectroscopy は拡張機能リストから独立して動作します。これは DOM ツリー全体を行脚し、各テキストノードと要素属性に対して

chrome-extension://
URL の参照を検出します。これがリンクトインのハードコーディングされたリストに含まれていなくてもページを修飾する拡張機能を捉えます。両システムは単にインストールされている拡張機能と能動的にページと相互作用する拡張機能の両方をカバーします。

両システムは同じテレメトリパイプラインに供給されます。検出された拡張機能 ID は

AedEvent
および
SpectroscopyEvent
オブジェクトにパッケージ化され、RSA 公開鍵で暗号化されてリンクトインの
li/track
エンドポイントに送信されます。暗号化されたフィンガープリントは次にセッション中の各 API リクエストに対して HTTP ヘッダーとして注入されます。リンクトインはその暗号化されたフィンガープリントをあなたの訪問全体を通じて、あなたが取る各行動で受領します。

法的文脈

browsergate.eu は法的論争の詳細を文書化しており、その作業は完全な形で読む価値があります。ここで関連する文脈は以下の通りです:2024 年、Microsoft は EU のデジタル市場法(DMA)下でのゲートキーパーに指定されました。リンクトインも規制対象製品の一つです。DMA はゲートキーパーに対してサードパーティのツールがユーザーデータへのアクセスを許容することを求め、かつそれらのツールのユーザーに対して処置を下さないことを禁止します。browsergate.eu は、リンクトインによるサードパーティツール使用者に対する体系的な取締合と、彼らを特定するために使用された密かな拡張機能スキャンを組み合わせることで、その規制違反に該当すると主張しています。その主張が成立するかどうかは法的質問です。

疑問であることはありません:刑事調査が現在開示されています。バイエルン州中央サイバー犯罪検察庁のサイバー犯罪ユニット(バンベルク)が調査を確認しました。該当局は法域を越えた重大なサイバー犯罪事件を処理します。これはコンプライアンス紛争ではなく、犯罪事件です。

私はこの記事を準備しながら browsergate.eu に直接連絡を取りました。彼らは刑事調査を確認し、事件番号を提供し、完整的な裁判所文書が公開リリースのために準備されていると示しました。それらが利用可能になった時点でこの記事を更新します。

同じ日のほかのニュース

一覧に戻る →

2026/05/01 1:09

PyTorch Lightning の AI トレーニングライブラリに、神話上の風化獣「シャイ・フールード」をテーマにしたマルウェアが検出された

## Japanese Translation: 人気の PyPI パッケージ「lightning」の脆弱なバージョン 2(2.6.2 および 2.6.3)が、2026 年 4 月 30 日に公開されたことが、"Shai-Hulud"というテーマのオブフスクエードされた JavaScript 負荷を含むサプライチェーン攻撃で利用されました。マルウェアはモジュールをインポートするだけで自動的に実行され、認証情報、認証トークン、環境変数、クラウドシークレット(AWS、Azure Key Vault、GCP Secret Manager)、およびローカルファイルシステムの認証情報ファイルを盗みます。また、「EveryBoiWeBuildIsaWormBoi」という特定の命名規則と、"EveryBoiWeBuildIsAWormyBoi"で始まるコミットメッセージを用いて、公開の GitHub リポジトリを毒付けようとし、さらに C2 サーバーへの HTTPS POST、二重 base64 符号化されたトークンを伴う GitHub コミット検索デッドドロップ、攻撃者による公開リポジトリの利用、および `ghs_` トークンを用いて被害者のリポジトリに直接プッシュする、4 つの並列データ流出チャネルを利用しています。 この攻撃は、悪用された npm 認証情報を使用して公開されるあらゆるパッケージに対して、14.8 MB の `setup.mjs` ドロッパー(Bun ランタイム v1.3.13 をブートストアップする)と `router_runtime.js` ファイルを注入することで、PyPI から npm へと感染を広げます。永続性を確保するために、マルウェアは人気のある開発ツール設定ファイルにフックを注入します:Claude Code の `.claude/settings.json` への "SessionStart"フックと、VS Code の `.vscode/tasks.json` への `runOn: folderOpen` タスクです。攻撃者が書込みアクセス権を持っている場合、「Formatter」という名前の悪意のある GitHub Actions ワークフローがプッシュされ、「format-results」というダウンロード可能なアーティファクトとしてシークレットがダンプされます。さらに、`_runtime/`ディレクトリや `start.py`のようなファイルに隠れたフックも注入されます。 セキュリティ企業 Semgrep は、特定の検出規則を含む緊急のアドバースを発表しており、詳細は https://semgrep.dev/orgs/-/advisories で入手できます。影響を受けたユーザーは、直ちにすべての盗まれた認証情報(GitHub トークン、クラウドキー、API キー)の再発行を行い、`.claude/`、`.vscode/`、`_runtime/`ディレクトリなどに注入された悪意のあるスクリプトを含むプロジェクトを監査し、将来のサプライチェーン侵害を防ぐために厳格な依存関係フィルタを実装する必要があります。

2026/05/01 5:33

アップル、第四半期業績を発表

## Japanese Translation: アップルは、2026 年 3 月 28 日に終了した fiscal second quarter(第 2 四半期)で史上最高益を記録し、売上高は 1,112 億ドル(前年同期比 17% 増)、一株当たり利益は 2.01 ドル(同 22% 増)となりました。この業績は、iPhone 17 シリーズ(新 iPhone 17e を含む)への特異な需要から生じた iPhone 売上高の歴代最高記録、サービスの歴史的な成長、そして M4チップ搭載 iPad Air と MacBook Neo の成功した発売によって牽引されました。稼働キャッシュフローは四半期史上最高の 280 億ドルを超え、アップルの既存基盤はすべての主要製品カテゴリーおよび地域で史上最高に達しました。このモメンタムを報いるため、アップルは一株当たり 0.27 ドルの配当(4% 増)を宣告し、2026 年 5 月 14 日に記録日(レコードデー)として 2026 年 5 月 11 日の株主に対して支払い可能にするほか、追加の 1,000 億ドル規模の自社株式買回プログラムを承認しました。アップルの利益発表会合は、2026 年 4 月 30 日午後 2 時(太平洋標準時間)にライブストリーミング開始され、約 2 週間後のリプレイも利用可能です。詳細は apple.com/investor/earnings-call で確認できます。同社は堅調な財務体質とすべての主要セグメントにおける消費者の積極的な関与を強調しました。

2026/05/01 2:14

F# でゲームボーイエミュレータを作りました。

## Japanese Translation: Nick Kossolapov の「Fame Boy」は、個人的な学習プロジェクトとして F# で構築された Game Boy エミュレータであり、デスクトップ環境(Raylib)および Web 環境(Fable/JavaScript)の両方をサポートしています。Kossolapov は以前「From NAND to Tetris」や CHIP-8 エミュレータ(Fip-8)の学習経験を活かし、F# の強力な型付けを用いて CPU 命令を代数型でモデル化し、概念上 512 のopcode を 58 のドメインに削減しました。シングルスレッドのコアでは、「stepper」という関数を用いてコンポーネントをシーケンシャルに実行することで並列なハードウェア動作を模倣しており、音声アクティブ時のオーディオサンプリング(32,768 Hz)またはターゲットフレームレート(約 60 FPS に相当する CPU サイクル数は約 17,500)のいずれかに基づいてサイクルを同期します。このエミュレータは、フロントエンドとのインターフェースとして `framebuffer` と `audiobuffer` という 2 つの配列および `stepEmulator()` と `getJoypadState()` という 2 つの関数を提供します。フラグ処理をモジュール化可能な構成に再設計するリファクタリングにより、 Heap アロケーションが減少し、従来のアプローチと比較してデスクトップ環境での FPS が約 10% 向上しました。技術仕様の基盤からテストケースを AI で生成することで厳格なテストレジの開発が可能となり、このプロセスは Tetris の著作権画面にある「timer winter」といった重要なバグも修正する助けとなりました。パフォーマンスベンチマークでは現代のデバイス(例:Ryzen 9 7900を搭載した Windows PC、M4 MacBook Air)で最高 1,000 FPS を達成し、「Roboto」などの特定の ROM では最適化後のデスクトップ環境で 1,943 FPS、Web 環境で 883 FPS という数値を記録しました。当初の Blazor ベースの Web バージョンは約 8 FPS に苦しんでいましたが、変換された JavaScript における 8 ビット無符号整数のビット演算截断エラーを修正することで解決されました。残る制限事項として、実際のハードウェアに対する PPU ピクセル FIFO タイミングの正確さに欠ける点が挙げられ、低レベル動作を利用したゲームでギルチを引き起こす可能性があります;今後のアップデートではこれらの不一致をパッチ適用し、パフォーマンスを損なうことなく完全なハードウェア忠実度を実現を目指します。

リンクedin は、拡張機能を 6,278 つスキャンし、その結果を全てのリクエストに暗号化して含めています。 | そっか~ニュース