1 Punkte von GN⁺ 2026-05-02 | 1 Kommentare | Auf WhatsApp teilen
  • LinkedIn sendet in Chrome Anfragen an chrome-extension://-URLs, um zu prüfen, ob bestimmte Erweiterungen installiert sind; nicht installierte Einträge erscheinen als fehlgeschlagene Anfragen mit Fehlern in der Entwicklertools-Konsole
  • Da LinkedIn bereits Name, Arbeitgeber, Berufsbezeichnung, Berufserfahrung und Standort eines Nutzers kennt, ist das Scannen von Erweiterungen kein anonymes Device-Fingerprinting, sondern das Anreichern einer verifizierten beruflichen Identität mit einer Softwareliste
  • Laut den Aufzeichnungen von browsergate.eu und dem GitHub-Tracking-Repository läuft der Scan mindestens seit 2017; die Zielliste wuchs von 38 auf 6.278 Einträge mit Stand April 2026
  • Der Scan ist Teil von LinkedIns APFC-System zur Geräte-Fingerprinterfassung und erstellt zusammen mit 48 weiteren Browser- und Gerätemerkmalen ein Profil, darunter Canvas-Fingerprint, WebGL, Audioverhalten, Schriftarten, Bildschirminformationen, Gerätespeicher und lokale IPs über WebRTC
  • Die Erkennungsergebnisse werden als AedEvent und SpectroscopyEvent verpackt, mit einem öffentlichen RSA-Schlüssel verschlüsselt und an LinkedIns Endpunkt li/track gesendet; browsergate.eu erklärt, diese Methode verstoße gegen den EU Digital Markets Act, und es sei eine strafrechtliche Untersuchung eingeleitet worden

Eine Softwareliste, angehängt an ein persönlich identifizierbares Profil

  • Gewöhnliches Fingerprinting wird typischerweise als Methode beschrieben, den Browser anonymer Besucher ohne Cookies wiederzuerkennen
  • In diesem Fall kann das Profil auf Geräteebene identifizierbar sein, ist aber nicht zwingend mit einer persönlichen Identität verknüpft
  • LinkedIn besitzt jedoch bereits Name, Arbeitgeber, Berufsbezeichnung, Berufserfahrung, Gehaltsspanne, berufliches Netzwerk und Standort eines Nutzers, also nicht nur Daten anonymer Besucher
  • LinkedIns Erweiterungs-Scan erstellt daher kein Geräteprofil eines unbekannten Besuchers, sondern ergänzt eine bereits verifizierte berufliche Identität um eine detaillierte Softwareliste
  • LinkedIns Scan-Liste enthält Hunderte Erweiterungen rund um die Jobsuche und kann damit erkennen, ob jemand still nach einer neuen Stelle sucht, bevor der Arbeitgeber davon erfährt
  • Auch Erweiterungen zu politischen Inhalten, religiöser Praxis, Hilfen bei Behinderungen und Neurodiversität stehen auf der Liste, sodass Browser-Software Rückschlüsse auf das Privatleben zulassen kann
  • Da LinkedIn den Arbeitgeber des Nutzers kennt, kann das Scan-Ergebnis eines einzelnen Mitarbeiters nicht nur die Person selbst, sondern auch interne Tools, Sicherheitsprodukte, Wettbewerber-Abonnements und Arbeitsabläufe der Organisation offenlegen
  • In LinkedIns privacy policy wird das Scannen von Erweiterungen nicht offengelegt; Nutzer werden weder um Zustimmung gebeten noch darüber informiert

Ein Problem, das über LinkedIn hinausgeht

  • Durchsetzung und Präzedenzfälle

    • LinkedIn nutzte die Erweiterungsliste, um Rückschlüsse auf Nutzer mit bestimmten installierten Erweiterungen zu ziehen und Maßnahmen gegen sie zu ergreifen
    • Laut browsergate bestätigte Milinda Lakkam unter Eid: „LinkedIn took action against users who had specific extensions installed.“
    • Nutzer haben keine Möglichkeit zu erfahren, dass ihre Software katalogisiert wird, dass diese Liste gegen sie verwendet wird und dass dies nicht in LinkedIns Datenschutzrichtlinie auftaucht
  • Das Fingerprinting-Ökosystem

    • Browser-Fingerprinting wird meist als Problem behandelt, bei dem eine Website Signale sammelt, ein Profil erstellt und Nutzer über Sitzungen hinweg wiedererkennt
    • LinkedIns Erweiterungs-Scan erzeugt jedoch eine detaillierte Softwareliste, die mit einer verifizierten Identität verknüpft ist, und dieses Profil muss nicht innerhalb von LinkedIn bleiben
    • Wenn LinkedIn Verhaltensdatensätze von Dritten kauft und der Fingerprint eines Nutzers darin enthalten ist, kann LinkedIn diese Daten den bereits vorhandenen Nutzerinformationen hinzufügen
    • Surfverhalten außerhalb von LinkedIn, Kaufhistorie, Standortmuster und Interessen könnten so Teil eines mit dem LinkedIn-Konto verknüpften Profils werden
    • Umgekehrt integriert LinkedIn Skripte von Drittanbietern, darunter Google reCAPTCHA Enterprise, das bei jedem Seitenaufruf geladen wird, wodurch Daten zwischen Plattformen fließen
    • Ein Fingerprint, den LinkedIn mit einer verifizierten Identität verknüpft hat, könnte daher auch Werbe- und Tracking-Systeme außerhalb von linkedin.com beeinflussen
    • Wer sich einmal bei LinkedIn anmeldet, könnte einen bei diesem Besuch erzeugten Fingerprint potenziell im gesamten Web mit sich tragen
  • Nutzergruppen mit realem Risiko

    • Für Journalisten, Anwälte, Forscher und Menschenrechtsermittler kann ein LinkedIn-Profil eines der detailliertesten verifizierten Identitätsdokumente im Netz sein
    • Ein LinkedIn-Profil wird bewusst unter Klarnamen zu beruflichen Zwecken aufgebaut
    • Der Erweiterungs-Scan verknüpft dieses Profil ohne Wissen des Nutzers mit installierten Datenschutz-Tools, Sicherheits-Erweiterungen, Recherche-Werkzeugen und Produktivitäts-Apps
    • Wer LinkedIn und Chrome verwendet, ist von dieser Erfassung derzeit betroffen

APFC und fortgeschrittenes JavaScript-Fingerprinting

  • Der Erweiterungs-Scan ist keine isolierte Funktion, sondern Teil eines größeren Geräte-Fingerprinting-Systems, das LinkedIn intern APFC nennt
  • APFC steht für Anti-fraud Platform Features Collection und wird intern auch als DNA, Device Network Analysis, bezeichnet
  • LinkedIn ist bei dieser Art von Tracking offener als beim Scan von Erweiterungen, doch solche Verfahren sind auf kommerziellen Websites weit verbreitet
  • Dieses System erfasst bei jedem Besuch 48 Browser- und Gerätemerkmale
  • Dazu gehören Canvas-Fingerprint, WebGL-Renderer und -Parameter, Audioverarbeitungsverhalten, installierte Schriftarten, Bildschirmauflösung, Pixeldichte, Hardware-Konkurrenzfähigkeit, Gerätespeicher, Batteriestand, lokale IP-Adressen über WebRTC, Zeitzone und Sprache
  • Der Erweiterungs-Scan ist nur einer der Eingaben, aus denen das größere Profil zusammengesetzt wird

Was technisch passiert

  • LinkedIns Code sendet fetch()-Anfragen an chrome-extension://-URLs, um bestimmte Dateien in in Chrome installierten Erweiterungen zu finden
  • Ist eine Erweiterung nicht installiert, blockiert Chrome die Anfrage und protokolliert den Fehler
  • Ist die Erweiterung installiert, gelingt die Anfrage unauffällig und LinkedIn protokolliert dies
  • In einer bestätigten Umgebung lief der Scan etwa 15 Minuten lang und suchte nach mehr als 6.000 Erweiterungen
  • Nutzer können dies selbst prüfen, indem sie LinkedIn in Chrome öffnen und in den Entwicklertools den Konsolen-Tab ansehen
  • Jeder rote Fehler in der Konsole entspricht einem Teil des Fingerprints des Nutzers

Codestruktur und Erkennungsmethode

  • LinkedIn führt JavaScript-Code im Browser aller Chrome-Besucher aus; das System für den Erweiterungs-Scan ist darin enthalten
  • Die betreffende Datei ist eine minimierte und teilweise verschleierte JavaScript-Datei von etwa 1,6 MB Größe
  • Normale Minimierung komprimiert Code zur besseren Performance, während Verschleierung ein zusätzlicher Schritt ist, um das Lesen und Verstehen des Codes zu erschweren
  • LinkedIn verschleiert genau das Modul, das das System zum Scannen von Erweiterungen enthält, und versteckt es in einer JavaScript-Datei mit Tausenden Zeilen
  • In der Datei befindet sich ein hartcodiertes Array von Browser-Erweiterungs-IDs
  • Mit Stand Februar 2026 enthielt dieses Array 6.278 Einträge
  • Jeder Eintrag hat zwei Felder: die ID einer Chrome-Web-Store-Erweiterung und einen spezifischen Dateipfad innerhalb des Erweiterungspakets
  • Der Dateipfad ist kein Zufallswert, denn Chrome-Erweiterungen können interne Dateien über das Feld web_accessible_resources für Webseiten zugänglich machen
  • Wenn eine Erweiterung installiert ist und eine bestimmte Datei als zugänglich deklariert, ist eine fetch()-Anfrage an chrome-extension://{id}/{file} erfolgreich
  • Ist sie nicht installiert, blockiert Chrome die Anfrage
  • LinkedIn identifiziert und erkennt direkt eine bestimmte zugängliche Datei für jede der 6.278 Erweiterungen auf der Liste
  • Die Liste wird fortlaufend gepflegt und erweitert; offenbar gab es ein Tool, das Chrome-Web-Store-Erweiterungspakete crawlt und in jedem Manifest nach webzugänglichen Ressourcen sucht, um neue Erkennungsziele hinzuzufügen

Zwei Scan-Modi und Spectroscopy

  • Der Erweiterungs-Scan arbeitet in zwei Modi
  • Im ersten Modus werden mit Promise.allSettled() alle Anfragen gleichzeitig gesendet, um die gesamte Erweiterungsliste parallel zu erkennen
  • Im zweiten Modus werden Anfragen sequenziell mit konfigurierbarer Verzögerung zwischen den Requests gesendet, wodurch die Netzwerkaktivität über die Zeit verteilt und für Monitoring-Tools weniger auffällig wird
  • LinkedIn kann per internem Feature-Flag zwischen beiden Modi umschalten
  • Der Scan kann außerdem über requestIdleCallback verzögert werden, sodass er im Leerlauf des Browsers läuft und Nutzer keine Performance-Einbußen bemerken
  • Ein zweites Erkennungssystem namens Spectroscopy arbeitet unabhängig von der Erweiterungsliste
  • Spectroscopy durchsucht den gesamten DOM-Baum und prüft alle Textknoten und Elementattribute auf Verweise zu chrome-extension://-URLs
  • So können auch Erweiterungen erkannt werden, die Seiten verändern, selbst wenn sie nicht in LinkedIns hartcodierter Liste stehen
  • Zusammengenommen erfassen beide Systeme sowohl installierte Erweiterungen als auch solche, die tatsächlich mit der Seite interagieren

Telemetrie-Übertragung

  • Beide Erkennungssysteme senden ihre Ergebnisse in dieselbe Telemetrie-Pipeline
  • Erkannte Erweiterungs-IDs werden in AedEvent- und SpectroscopyEvent-Objekte verpackt
  • Diese Objekte werden mit einem öffentlichen RSA-Schlüssel verschlüsselt und an LinkedIns Endpunkt li/track gesendet
  • Der verschlüsselte Fingerprint wird anschließend in die HTTP-Header aller API-Anfragen eingefügt, die während derselben Sitzung stattfinden
  • LinkedIn erhält diesen Wert zusammen mit jeder Handlung, die der Nutzer während des Besuchs ausführt

Rechtlicher Kontext

  • browsergate.eu erläutert die dazugehörige rechtliche Argumentation im Detail
  • 2024 wurde Microsoft im Rahmen des EU Digital Markets Act als Gatekeeper eingestuft; LinkedIn ist eines der regulierten Produkte
  • Der DMA verlangt von Gatekeepern, Nutzern den Zugang zu Daten durch Drittanbieter-Tools zu erlauben, und untersagt Maßnahmen gegen Nutzer solcher Tools
  • browsergate.eu ist der Ansicht, dass LinkedIn durch die systematische Verfolgung von Nutzern von Drittanbieter-Tools und den heimlichen Einsatz von Erweiterungs-Scans zu ihrer Identifizierung gegen diese Regeln verstößt
  • Ob diese Argumentation rechtlich Bestand hat, ist eine Frage der juristischen Bewertung
  • Die Cybercrime Unit der Bavarian Central Cybercrime Prosecution Office in Bamberg bestätigte, dass eine strafrechtliche Untersuchung eingeleitet wurde
  • Diese Behörde bearbeitet schwerwiegende Cybercrime-Fälle über Zuständigkeitsgrenzen hinweg
  • browsergate.eu erklärte, die strafrechtliche Untersuchung bestätigt zu haben, eine Aktennummer erhalten zu haben und die vollständigen Gerichtsunterlagen zur Veröffentlichung vorzubereiten

1 Kommentare

 
GN⁺ 2026-05-02
Hacker-News-Kommentare
  • „Dass strafrechtliche Ermittlungen eingeleitet wurden, steht außer Frage.“ Gut so. Solche Firmen verdienen es, gesteinigt zu werden, und noch Schlimmeres zu ertragen

    • Was wirklich nötig ist, ist herauszufinden, wessen Idee das ursprünglich war
      Ein Team, das eine Website nicht unterdurchschnittlich ruinieren will, sollte Bewerber anhand einer Liste bekannter Treiber der Service-Verschlechterung herausfiltern können
      Es mag schon zu spät sein, das Problem im Keim zu ersticken, aber es gibt keinen Grund, solche Personen weiter völlig ungehindert agieren und wachsen zu lassen
  • „Als ich dann auf Mastodon die Diskussion über browsergate sah, dachte ich mir nur: ‚Kann doch nicht sein‘, aber tatsächlich wurde bereits eine Klage vorbereitet.“ - un-nf
    Farrell v LinkedIn Corporation 4:26-cv-02953-KAW (N.D. Cal. Apr. 6, 2026)
    https://ia601503.us.archive.org/33/items/gov.uscourts.cand.4...

  • Warum verrät mein Chrome irgendeiner Website die Liste der von mir installierten Erweiterungen?

    • Genauer gesagt verrät es sie nicht direkt. Man erstellt eine Liste der IDs von Erweiterungen und der Dateien, von denen bekannt ist, dass sie in diesen Erweiterungen existieren, und die Website iteriert dann über jedes Paar und versucht, diese Datei zu laden
      Wenn kein Fehler auftritt, weiß man, dass die betreffende Erweiterung installiert ist. Clever und aufwendig, aber es umgeht Sicherheitsmechanismen, die genau so etwas verhindern sollen
      Soweit ich gelesen habe, wird das verwendet, um Nutzer bekannter Scraper-Erweiterungen zu blockieren, die die Nutzungsbedingungen umgehen, aber völlig überzeugend finde ich das nicht
    • Die relevante Stelle im Original ist diese:
      „Chrome-Erweiterungen können über das Feld web_accessible_resources in manifest.json interne Dateien für Webseiten freigeben. Wenn eine Erweiterung installiert ist und eine Ressource freigibt, ist eine fetch()-Anfrage an chrome-extension://{id}/{file} erfolgreich. Ist sie nicht installiert, blockiert Chrome die Anfrage und das Promise wird rejected.
      LinkedIn testet auf diese Weise jede Erweiterung auf der Liste.“
    • Dieselbe Frage kann man auch zu den schrecklichen Sicherheitsfehlern stellen, die Webbrowser seit Jahrzehnten begehen
    • Werden diese Informationen der Website tatsächlich bereitgestellt? Ich dachte, das wäre ein neuer Hack, bei dem die Seite selbst erkennt, dass bestimmte Erweiterungen installiert sind, indem sie Verhalten ausnutzt, das nur dann auftritt
      Aber das für 6.300 Erweiterungen zu tun, wäre eine Menge Arbeit. Gibt es vielleicht einen Dienst, der das als Service anbietet?
    • Brave blockiert das ausdrücklich
  • Leute, wenn ihr bei der Arbeit den Auftrag bekämt, so etwas zu implementieren: Was würdet ihr wählen — widersprechen und standhalten und am Ende den Job verlieren, oder es umsetzen und den Job behalten?
    Wo zieht man als Praktiker die Grenze zwischen Telemetrie und Überwachung?

    • Ich entscheide mich dafür, nicht bei LinkedIn, Meta oder irgendwo zu arbeiten, das Geld aus Saudi-Arabien oder Israel annimmt. Die Jobsuche wird dadurch etwas schwieriger, aber ich schlafe nachts besser
    • Es gibt noch eine dritte Option. Man sagt zu und liefert dann absichtlich nicht oder zieht alles endlos in die Länge. Absichtliche Sabotage nachzuweisen ist schwer
      Wenn man solche Spiele spielt, ist es allerdings vielleicht Zeit, sich einen neuen Job zu suchen ;)
    • Ich denke auch, dass es eine Option ist, die Welt anonym vor dem zu warnen, was passieren wird. Dann behält man den Job und die Leute wissen es wenigstens
      Wenn das aber nur etwa drei Personen wissen, ist natürlich sofort klar, wer es war
    • Ich denke da genauso. Vielleicht wurde das von Leuten gebaut, die nicht einfach einen anderen Job finden können und diese Arbeit wegen Krankenversicherung oder aus finanziellen Gründen brauchen. Vielleicht leben sie von Gehalt zu Gehalt
      Vielleicht kommt die Anweisung von Managern in einer ähnlichen Lage, und darüber sitzen wiederum Vorgesetzte, die nur steigenden Umsatz sehen und sich nicht für die Methode interessieren. Trotzdem sollte doch irgendwo jemand sagen: „Was machen wir hier eigentlich?“ Das ist seltsam
      Um die Frage zu beantworten: Natürlich würde ich widersprechen. Ich bin gerade in der glücklichen Lage, mir diese Entscheidung ohne gravierende Folgen leisten zu können. Aber wer würde schon auf HN auftauchen und sagen: „Ja, ich habe keine Moral!“? Selbst mit einem Wegwerfaccount ließe sich nicht wissen, ob das echt ist
    • Ehrlich gesagt würde ich es wohl implementieren. Dass alle Websites die installierten Erweiterungen sehen können, ist Chromes Verantwortung. Und dem Nutzer schadet es letztlich auch nicht
  • Die relevanteste Stelle, die ich im Original gefunden habe, ist diese:
    „Chrome-Erweiterungen können über das Feld web_accessible_resources in manifest.json interne Dateien für Webseiten freigeben. Wenn eine Erweiterung installiert ist und eine Ressource freigibt, ist eine fetch()-Anfrage an chrome-extension://{id}/{file} erfolgreich. Ist sie nicht installiert, blockiert Chrome die Anfrage und das Promise wird rejected.
    LinkedIn testet auf diese Weise jede Erweiterung auf der Liste.“

    • Könnte man dann eine gefälscht installierte Erweiterung bauen, die auf solche Anfragen zufällig mit Ja oder Nein antwortet? Es ist ziemlich klar, welche Dateien LinkedIn oder andere Fingerprinting-Seiten testen, und wie der Autor des Originalposts sagt, lässt sich das beobachten
      Es wäre auch interessant zu sehen, welche anderen Websites dieselben Dateien testen — hat sich das schon jemand angesehen?
    • Es wirkt falsch, dass von einer Website geladener Code — also nicht einmal Code aus einer Erweiterung — darauf zugreifen können sollte
  • Das ist bei Geräte-Fingerprinting eine ziemlich gängige Praxis. LinkedIn nutzt das wahrscheinlich, um die Plattform vor Scraping und Ähnlichem zu schützen, und die Liste der Erweiterungen hat genug Entropie, um Nutzer zu identifizieren und ein nützlicher Bestandteil des Fingerprints zu sein

    • Erweiterungen, die beim Scraping helfen, in einem Rutsch selbst zu bauen, ist ohnehin schon ziemlich einfach, und LinkedIn kann dagegen kaum etwas tun
      Ich habe gesehen, wie Leute innerhalb weniger Tage lokale Chrome-Erweiterungen gebaut und installiert haben, danach wurde eine KI in die Entwicklertools injiziert und konnte fast jede Website scrapen. Das war vor ein paar Monaten
      Ich glaube nicht, dass es dafür noch eine einfache Verteidigung gibt. Es ist nur eine Frage der Zeit, bis solche Maßnahmen des defensiven Programmierens nutzlos werden
  • Ist das eine Halluzination? Dieses Zitat lässt sich nirgends sonst finden
    „Laut browsergate bestätigte Milinda Lakkam unter Eid, dass ‚LinkedIn Maßnahmen gegen Nutzer ergriffen hat, die bestimmte Erweiterungen installiert hatten‘.“

    • Teilweise schon, aber es ist kein echtes Zitat. Weiter zurück als zu diesem Link bin ich nicht gegangen:
      https://browsergate.eu/the-evidence-pack/
      LinkedIns Systeme „könnten Maßnahmen gegen LinkedIn-Nutzer ergriffen haben, bei denen [XXXXXX] installiert war.“
      Edit: Schön! Mir ist gerade aufgefallen, dass eingerückter Text jetzt auch im mobilen Browser umbricht. Zumindest in ffm ist das so. Ich frage mich, wann das behoben wurde
  • Fairerweise muss man sagen, dass LinkedIns Datenschutzerklärung ausdrücklich erwähnt, dass diese Informationen erfasst werden. Siehe https://www.linkedin.com/legal/privacy-policy?ref=cms.hondas...
    „1.5 Gerät und Standort
    Wenn Sie unsere Dienste besuchen oder verlassen (einschließlich einiger Plugins sowie unserer Cookies oder ähnlicher Technologien auf Websites Dritter), erhalten wir die URL sowohl der Website, von der Sie kommen, als auch der Website, zu der Sie gehen, sowie den Zeitpunkt Ihres Besuchs. Wir erhalten außerdem Informationen über Ihr Netzwerk und Ihr Gerät (z. B. Ihre IP-Adresse, den Proxy-Server, das Betriebssystem, den Webbrowser und Add-ons, Gerätekennungen und Funktionen, Cookie-IDs und/oder Ihren ISP oder Mobilfunkanbieter). Wenn Sie unsere Dienste von einem Mobilgerät aus nutzen, sendet uns dieses Gerät abhängig von Ihren Telefoneinstellungen Standortdaten. Bevor wir Ihren genauen Standort mithilfe von GPS oder anderen Tools erfassen, bitten wir um Ihre Einwilligung.“
    Der relevante Teil hier ist „einschließlich einiger Plugins

  • Ich habe mein LinkedIn-Konto gelöscht, und mein Leben ist jetzt besser

    • So großspurig kann man reden, wenn man gerade einen Job hat. Sich ohne LinkedIn-Konto zu bewerben ist nicht gerade einfach