LinkedIn scanne les extensions de navigateur
(404privacy.com)- LinkedIn envoie des requêtes d’URL
chrome-extension://dans Chrome pour vérifier si certaines extensions sont installées, et les éléments non installés laissent des erreurs d’échec de requête dans la console des outils de développement - D’après les relevés de browsergate.eu et le dépôt de suivi sur GitHub, ce scan se poursuit au moins depuis 2017, et la liste des cibles est passée de 38 à 6 278 en avril 2026
- LinkedIn possède déjà le nom, l’employeur, l’intitulé de poste, l’expérience et la localisation des utilisateurs ; le scan des extensions ne crée donc pas seulement une empreinte d’appareil anonyme, mais ajoute une liste de logiciels à une identité professionnelle vérifiée
- Le scan fait partie du système de collecte d’empreinte d’appareil APFC de LinkedIn et alimente un profil avec 48 caractéristiques du navigateur et de l’appareil, dont l’empreinte canvas, WebGL, le comportement audio, les polices, les informations d’écran, la mémoire de l’appareil et l’IP locale via WebRTC
- Les résultats de détection sont empaquetés dans
AedEventetSpectroscopyEvent, chiffrés avec une clé publique RSA, puis envoyés au point de terminaisonli/trackde LinkedIn ; browsergate.eu estime que cette pratique viole le Digital Markets Act de l’UE et indique qu’une enquête pénale a été ouverte
Une liste de logiciels associée à un profil nominatif
- L’empreinte classique sert généralement à reconnaître à nouveau le navigateur d’un visiteur anonyme sans cookies
- Dans ce cas, le profil peut identifier l’appareil, sans être forcément relié à l’identité d’une personne
- LinkedIn, lui, détient déjà le nom, l’employeur, l’intitulé de poste, l’expérience, la fourchette salariale, le réseau professionnel et la localisation de l’utilisateur
- Le scan des extensions par LinkedIn ne construit donc pas le profil d’un visiteur inconnu, mais ajoute une liste détaillée de logiciels à une identité professionnelle déjà vérifiée
- La liste de scan de LinkedIn inclut des centaines d’extensions liées à la recherche d’emploi, ce qui peut permettre de savoir discrètement si un utilisateur cherche un poste avant même qu’il n’en informe son employeur
- Des extensions liées à des contenus politiques, à la pratique religieuse, à l’assistance au handicap ou à la neurodiversité figurent aussi dans la liste, ce qui signifie que le logiciel du navigateur peut servir de base à des inférences sur la vie personnelle
- Comme LinkedIn connaît l’entreprise de l’utilisateur, le résultat du scan d’un employé peut contribuer à révéler non seulement des informations sur la personne, mais aussi les outils internes, produits de sécurité, abonnements concurrents et flux de travail de son organisation
- Le privacy policy de LinkedIn ne divulgue pas ce scan des extensions, et les utilisateurs ne reçoivent ni demande de consentement ni notification
Un problème qui dépasse LinkedIn
-
Contrôle et précédent
- LinkedIn utilise la liste d’extensions pour tirer des conclusions sur les utilisateurs ayant certaines extensions installées et prendre des mesures de contrôle à leur encontre
- Selon browsergate, Milinda Lakkam a confirmé sous serment : “LinkedIn took action against users who had specific extensions installed.”
- Les utilisateurs n’ont aucun moyen de savoir que leurs logiciels sont inventoriés, que cette liste peut être utilisée contre eux, ni que cela n’apparaît pas dans la politique de confidentialité de LinkedIn
-
L’écosystème du fingerprinting
- Le fingerprinting de navigateur est habituellement présenté comme la collecte de signaux par un site afin de créer un profil et de reconnaître un utilisateur d’une session à l’autre
- Le scan des extensions par LinkedIn produit une liste détaillée de logiciels liée à une identité vérifiée, et ce profil n’a pas besoin de rester cantonné à LinkedIn
- Si LinkedIn achète des jeux de données comportementales tiers et que l’empreinte de l’utilisateur s’y trouve, LinkedIn peut l’ajouter aux informations qu’il possède déjà sur cette personne
- Les comportements de navigation hors de LinkedIn, l’historique d’achats, les schémas de localisation et les centres d’intérêt peuvent ainsi devenir des éléments d’un profil rattaché au compte LinkedIn
- À l’inverse, LinkedIn intègre des scripts tiers, dont reCAPTCHA enterprise de Google chargé sur chaque page visitée, ce qui fait circuler les données entre plateformes
- Une empreinte liée par LinkedIn à une identité vérifiée peut donc aussi avoir des effets sur les systèmes publicitaires et de suivi hors de linkedin.com
- Une fois connecté à LinkedIn, l’empreinte créée pendant cette visite peut vous suivre sur l’ensemble du web
-
Les catégories d’utilisateurs réellement exposées
- Pour les journalistes, avocats, chercheurs et enquêteurs en droits humains, un profil LinkedIn peut constituer l’un des documents d’identité vérifiée les plus détaillés en ligne
- Un profil LinkedIn rassemble des informations construites délibérément sous nom réel à des fins professionnelles
- Le scan des extensions y relie, à l’insu de l’utilisateur, l’installation d’outils de protection de la vie privée, d’extensions de sécurité, d’outils d’enquête et d’applications de productivité
- Si vous utilisez LinkedIn et Chrome, cette collecte a lieu actuellement
APFC et le fingerprinting JavaScript avancé
- Le scan des extensions n’est pas une fonction isolée, mais une partie d’un système plus large de fingerprinting d’appareil que LinkedIn appelle en interne APFC
- APFC signifie Anti-fraud Platform Features Collection et est aussi désigné en interne par DNA, pour Device Network Analysis
- LinkedIn est plus transparent sur ce type de suivi que sur le scan des extensions, mais ces techniques sont courantes sur les sites web commerciaux
- Ce système collecte 48 caractéristiques du navigateur et de l’appareil à chaque visite
- Parmi les données collectées figurent l’empreinte canvas, le renderer et les paramètres WebGL, le comportement du traitement audio, les polices installées, la résolution d’écran, le ratio de pixels, la concurrence matérielle, la mémoire de l’appareil, le niveau de batterie, l’adresse IP locale via WebRTC, le fuseau horaire et la langue
- Le scan des extensions n’est qu’une des entrées qui composent ce profil plus vaste
Ce qui se passe techniquement
- Le code de LinkedIn envoie des requêtes
fetch()vers des URLchrome-extension://pour rechercher certains fichiers présents dans les extensions installées dans Chrome - Si l’extension n’est pas installée, Chrome bloque la requête et consigne l’échec
- Si l’extension est installée, la requête réussit silencieusement et LinkedIn l’enregistre
- Dans l’environnement vérifié, le scan a tourné pendant environ 15 minutes et a recherché plus de 6 000 extensions
- L’utilisateur peut le constater lui-même en ouvrant LinkedIn dans Chrome puis l’onglet Console des outils de développement
- Chaque erreur rouge dans la console correspond à une partie de son empreinte
Structure du code et méthode de détection
- LinkedIn exécute du code JavaScript dans le navigateur de tous les visiteurs Chrome, et le système chargé du scan des extensions s’y trouve
- Le fichier concerné est un fichier JavaScript minifié et partiellement obfusqué d’environ 1,6 Mo
- La minification classique compresse le code pour des raisons de performance, tandis que l’obfuscation est une étape distincte destinée à le rendre difficile à lire et à comprendre
- LinkedIn obfusque le module exact qui contient le système de scan des extensions et le dissimule dans un fichier JavaScript de plusieurs milliers de lignes
- Ce fichier contient un tableau codé en dur d’identifiants d’extensions de navigateur
- En février 2026, ce tableau contenait 6 278 entrées
- Chaque entrée comporte deux champs : l’identifiant de l’extension du Chrome Web Store et le chemin d’un fichier précis à l’intérieur du paquet de l’extension
- Ce chemin de fichier n’est pas arbitraire, car une extension Chrome peut exposer des fichiers internes aux pages web via le champ
web_accessible_resources - Si l’extension est installée et a déclaré un fichier donné comme accessible, une requête
fetch()verschrome-extension://{id}/{file}aboutit - Si elle n’est pas installée, Chrome bloque la requête
- LinkedIn identifie donc pour chacune des 6 278 extensions de la liste un fichier accessible spécifique et la détecte directement
- La liste est continuellement maintenue et étendue, et il semble qu’un outil ait existé pour crawler les paquets d’extensions du Chrome Web Store et analyser les manifestes afin d’ajouter des cibles de détection à partir des ressources web accessibles
Deux modes de scan et Spectroscopy
- Le scan des extensions fonctionne selon deux modes
- Le premier mode utilise
Promise.allSettled()pour envoyer toutes les requêtes en même temps et détecter l’ensemble des extensions en parallèle - Le second envoie les requêtes de façon séquentielle avec un délai configurable entre chacune, répartissant l’activité réseau dans le temps pour être moins visible par les outils de surveillance
- LinkedIn peut basculer entre ces deux modes à l’aide d’indicateurs internes de fonctionnalité
- Le scan peut aussi être retardé via
requestIdleCallback, afin de s’exécuter quand le navigateur est inactif et que l’utilisateur ne perçoit pas d’impact sur les performances - Un second système de détection appelé Spectroscopy fonctionne indépendamment de la liste d’extensions
- Spectroscopy parcourt l’ensemble de l’arbre DOM et inspecte tous les nœuds texte ainsi que les attributs d’éléments à la recherche de références à des URL
chrome-extension:// - Cette méthode permet de repérer des extensions qui modifient la page, même si elles ne figurent pas dans la liste codée en dur de LinkedIn
- Ensemble, les deux systèmes couvrent à la fois les extensions installées et celles qui interagissent réellement avec la page
Envoi de télémétrie
- Les deux systèmes de détection envoient leurs résultats via le même pipeline de télémétrie
- Les identifiants d’extensions détectés sont empaquetés dans des objets
AedEventetSpectroscopyEvent - Ces objets sont chiffrés avec une clé publique RSA puis envoyés au point de terminaison
li/trackde LinkedIn - L’empreinte chiffrée est ensuite insérée dans les en-têtes HTTP de toutes les requêtes API effectuées pendant la session
- LinkedIn reçoit cette valeur avec chaque action réalisée par l’utilisateur au cours de la visite
Contexte juridique
- browsergate.eu détaille le raisonnement juridique correspondant
- En 2024, Microsoft a été désigné comme gatekeeper au titre du Digital Markets Act de l’UE, et LinkedIn fait partie des produits concernés par cette régulation
- Le DMA impose aux gatekeepers d’autoriser l’accès des outils tiers aux données des utilisateurs et leur interdit de prendre des mesures contre les utilisateurs de ces outils
- browsergate.eu estime que le fait pour LinkedIn de contrôler systématiquement les utilisateurs d’outils tiers et d’utiliser pour cela un scan furtif des extensions constitue une violation de ces règles
- La question de savoir si cette thèse sera retenue juridiquement relève de l’appréciation des autorités compétentes
- La Cybercrime Unit du Bavarian Central Cybercrime Prosecution Office in Bamberg a confirmé l’ouverture d’une enquête pénale
- Cet organisme traite les affaires graves de cybercriminalité impliquant plusieurs juridictions
- browsergate.eu indique avoir confirmé l’existence de l’enquête pénale, fourni le numéro de dossier et préparer la publication de l’intégralité des documents judiciaires
Aucun commentaire pour le moment.