4 points par GN⁺ 2026-02-12 | 1 commentaires | Partager sur WhatsApp
  • Un pipeline de scan automatisé basé sur une MITM (attaque de l’homme du milieu) a permis de détecter 287 extensions Chrome qui transmettent l’historique de navigation des utilisateurs vers l’extérieur
  • Ces extensions totalisent environ 37,4 millions d’installations, soit près de 1 % des utilisateurs de Chrome dans le monde
  • Les fuites de données impliquent d’importants courtiers en données comme Similarweb, Curly Doggo, Offidocs, Big Star Labs, ainsi que de nombreux acteurs plus modestes
  • L’analyse montre que certaines extensions utilisent des techniques de chiffrement comme ROT47, AES‑256, LZ-string pour dissimuler puis transmettre les données d’URL
  • Au-delà d’une simple atteinte à la vie privée, il s’agit d’une menace grave pouvant entraîner des risques de sécurité comme l’exposition d’URL de réseaux internes d’entreprise ou de consoles d’administration

Mise en place d’un pipeline de scan automatisé

  • L’équipe de recherche a construit un système automatisé enveloppant le navigateur Chrome dans un environnement Docker avec un proxy MITM, puis mesurant la corrélation du trafic sortant en fonction de la longueur des URL
    • Si le volume transmis augmente proportionnellement à la longueur de l’URL, l’extension est considérée comme envoyant l’URL vers l’extérieur
  • Le scan s’est déroulé en deux phases et a nécessité un total de 930 jours-CPU
    • Une première phase a testé 4 longueurs d’URL, puis si un ratio suspect (0.1 ≤ R < 1.0) était détecté, une nouvelle vérification était effectuée avec 6 longueurs supplémentaires

Détection et analyse des fuites de données

  • 287 extensions ont été confirmées comme transmettant l’historique de navigation à des serveurs externes
  • Le nombre total d’installations de ces extensions atteint environ 37,4 millions, soit près de 1 % des utilisateurs de Chrome à l’échelle mondiale
  • Les données exfiltrées sont envoyées à Similarweb, Curly Doggo, Offidocs, Big Star Labs, entre autres, et certaines sont de nouveau collectées via le scraper Kontera
  • En exploitant un serveur honeypot pour tracer les IP réellement chargées de la collecte, l’étude a constaté des accès répétés depuis cinq grands blocs d’adresses IP, dont HashDit, Blocksi AI Web Filter et Kontera

Principaux acteurs et liens entre eux

  • Une analyse OSINT a examiné les e-mails des développeurs, politiques de confidentialité et informations de certificats de chaque extension
  • Il a été confirmé que l’extension “Similar Sites” de Similarweb est liée au scraper Kontera ainsi qu’à Curly Doggo et Offidocs
  • Big Star Labs partage les mêmes motifs de code que Similarweb, ce qui suggère fortement qu’il pourrait s’agir de la même organisation

Exemples représentatifs de fuite

  • Poper Blocker : obscurcit les URL avec ROT47 puis les transmet à api2.poperblocker.com
  • Stylish : chiffre les URL avec AES‑256 et un chiffrement à clé publique RSA avant de les envoyer à userstylesapi.com
  • BlockSite et Video Ad Blocker Plus : transmettent les URL avec une compression LZ-string UTF16 et utilisent le même schéma de données
  • Similarweb : envoie des données de navigation avec encodage multiple d’URL vers rank.similarweb.com
  • WOT (Web of Trust) : chiffre les URL avec un encodage personnalisé basé sur XOR, avec une structure identique à celle de Similarweb
  • Smarty, CrxMouse, ApkOnline, Knowee AI, Super PiP et d’autres transmettent également des données via des paramètres d’URL, des en-têtes, l’API Google Analytics, etc.

Ampleur de la menace et impact

  • Environ 37,4 millions d’utilisateurs, soit l’équivalent de la population de la Pologne, sont concernés
  • Certaines extensions peuvent avoir besoin, pour leurs fonctionnalités, d’accéder à l’historique de navigation, mais beaucoup collectent des données sans consentement explicite
  • Les données exfiltrées peuvent être exploitées pour le ciblage publicitaire, l’espionnage d’entreprise ou le détournement de session
    • En particulier dans les environnements professionnels, les employés utilisant des extensions d’“amélioration de la productivité” risquent d’exposer des URL internes

Conclusion et avertissement

  • Un grand nombre des extensions analysées utilisent des techniques délibérées de chiffrement et de dissimulation pour éviter la détection
  • Cela semble relever non d’un simple bug, mais d’un modèle économique fondé sur la collecte de données
  • Il faut garder à l’esprit qu’avec un logiciel gratuit mais non open source, l’utilisateur peut devenir le “produit”
  • Lors de l’installation d’extensions Chrome, il est essentiel de vérifier les autorisations et l’origine

1 commentaires

 
GN⁺ 2026-02-12
Commentaires sur Hacker News
  • Il y a environ 15 ans, j’avais créé une extension Chrome qui ne faisait qu’une fonction précise et qui était devenue assez populaire.
    Je l’ai vendue pour quelques milliers de dollars puis je l’ai oubliée, mais en regardant aujourd’hui, on voit clairement un schéma où des acteurs malveillants rachètent des extensions légitimes pour monétiser les données des utilisateurs.
    J’ai vu plusieurs cas de ce genre de mes propres yeux.

    • Je maintiens depuis plus de 10 ans une extension multi-navigateurs populaire, et les propositions de monétisation n’arrêtent pas.
      Les discussions à ce sujet sont résumées dans cette discussion GitHub.
    • C’est une attaque de la chaîne d’approvisionnement (supply-chain attack) tout à fait typique.
      C’est comparable aux joueurs qui vendent des personnages de haut niveau, ou aux comptes sur les réseaux sociaux qui changent de propriétaire.
      Le nouveau front de la sécurité, ce sont désormais les extensions de navigateur, les intégrations cloud et les permissions d’accès des applications.
      Si vous accordez à n’importe quelle application un accès complet à Gmail ou Google Drive, vous pouvez vous exposer à un rançongiciel.
      Cela ne laisse aucune trace sur l’OS local, et aucun antivirus ne le détectera.
      Les procédures de vérification de sécurité sont tellement fastidieuses que retirer les accès un par un est une corvée.
      Il faut une meilleure méthode.
    • Il y a 15 ans, ce type de transaction devait justement commencer à émerger.
      On ne peut pas empêcher la vente d’extensions en soi, mais il faut renforcer les procédures de vérification du Chrome Web Store.
    • Même si le vendeur n’a pas d’intention malveillante, je pense qu’il devrait y avoir une part de responsabilité juridique pour les problèmes survenus après la vente.
      Cela dit, cette responsabilité devrait être gérée non par des particuliers, mais par l’exploitant de la boutique.
  • J’ai récapitulé des moyens de se protéger soi-même au cas où une extension en laquelle on avait confiance deviendrait malveillante.

    • On peut surveiller les mises à jour avec Extensions Update Notifier et vérifier s’il y a eu un changement de propriétaire.
    • Dans Brave, on peut définir soi-même des règles de filtrage du trafic avec brave://flags/#brave-extension-network-blocking.
    • Une autre méthode consiste à cloner le dépôt GitHub, faire un audit de sécurité avec Claude Code, puis compiler soi-même et faire les mises à jour manuellement.
      • Je trouve cette approche vraiment bonne.
        Je me demande s’il existe des outils permettant d’auditer de façon déterministe une base de code d’extension.
  • Je n’utilise que des extensions open source.
    Je ne fais confiance qu’à des outils comme uBlock Origin ou SponsorBlock, où le code est public et les développeurs ne sont pas anonymes.
    Le Chrome Web Store est en pratique un marché sans régulation, et Google ne fait qu’en tirer des revenus.
    L’open source est le minimum de sécurité permettant de vérifier soi-même le code avant l’installation.

    • Une extension open source développée par une personne non anonyme et digne de confiance est un bon signal, mais cela ne garantit pas que le paquet réellement distribué soit exactement identique au code public.
      C’est pareil pour d’autres canaux de distribution open source comme pip, npm ou rpm.
    • Du coup, je me demande comment vérifier que le code de l’extension installée correspond exactement au code publié.
    • C’est pour cela que je trouve dommage que Tampermonkey ne soit pas open source.
      La discussion liée se trouve dans cette discussion GitHub.
    • Comme on ne peut pas tout auditer soi-même, je pense qu’il faut un système de vérification par une institution de confiance.
      « Ne faisons pas confiance à Google » est moins réaliste que « améliorons le système ».
    • Désactiver les mises à jour automatiques et verrouiller une version (version lock) est aussi plus sûr.
      Firefox ou Safari sont plus adaptés que Chrome à ce type de réglage.
  • Le code de la plupart des extensions est obfusqué, mais tout le monde peut voir le code source.
    La méthode est expliquée dans ce lien.
    J’exploite moi aussi une petite extension utilisée par environ 2 000 personnes, et je reçois souvent des offres de rachat pour la transformer en code malveillant.
    Exemple : One Click Image Saver.

  • Ma fille, qui est en primaire, utilise Google Classroom sur un Chromebook à l’école, et il n’y a presque aucune restriction sur les extensions.
    À chaque connexion, Chrome affiche un message disant qu’« une extension a été supprimée en raison d’une activité malveillante ».

    • Il est possible qu’elle ne se rende pas compte qu’une extension peut voler l’accès à la caméra ou l’historique de recherche.
      Je pense donc qu’il vaut mieux n’utiliser que des extensions open source, ou les créer soi-même.
      Pour des fonctions simples, on peut les écrire soi-même avec Tampermonkey et examiner directement le code.
      Ces temps-ci, je crée moi-même la plupart de mes extensions.
      Avec Tampermonkey, il est simple de modifier et de relire le code, et c’est aussi plus facile de faire un audit de sécurité avec des outils d’IA.
  • Je désactive les mises à jour automatiques pour tous les logiciels.
    Dire que « si on ne met pas à jour immédiatement, on se fera pirater » est une illusion.
    J’ai plutôt l’impression qu’on a davantage de chances d’être compromis après une mise à jour.

    • Au final, qu’on mette à jour ou non, la situation reste risquée.
  • Les extensions auxquelles on ne peut pas faire confiance ont de fortes chances d’être revendues un jour et de devenir malveillantes.
    C’est pourquoi je n’installe que uBlock Origin.

    • Moi aussi, je maintiens une extension utilisée par plus de 100 000 personnes, et j’ai reçu des centaines d’e-mails de proposition de rachat.
      Ils arrivent tous à l’adresse e-mail publique imposée par Google.
      Je n’y ai jamais reçu un seul message utile.
      C’est pourquoi je ne fais confiance qu’à uBlock Origin, Bitwarden et aux extensions que j’ai moi-même créées.
      Exemple : Old Reddit Redirect.
    • Moi aussi, je n’utilise que uBlock Origin.
      Avant, j’utilisais Tree Style Tab, mais Firefox prend désormais en charge les onglets verticaux nativement, donc ce n’est plus nécessaire.
      Installer une nouvelle extension est devenu trop risqué.
    • À noter que le projet uBlock, à l’origine de uBlock Origin, est un temps passé entre les mains d’une personne peu digne de confiance,
      avant que le développeur Raymond Hill ne le reforke.
  • Beaucoup d’extensions collectent des paramètres d’URL de requêtes de recherche comme "u": "https://www.google.com/search?q=target";.
    Cela signifie qu’elles peuvent faire plus que récupérer l’historique de navigation : elles peuvent voler des jetons d’authentification.

    • Si un service transmet un jeton d’authentification dans un paramètre d’URL, il ne faut tout simplement pas utiliser ce service.
      Un tel jeton est alors toujours exposé publiquement.
  • Je me demande pourquoi Google, l’une des entreprises les plus riches du monde, n’a pas réglé ce problème directement.
    Ils mettent tant d’énergie à bloquer les bloqueurs de pub, mais laissent passer ce genre de choses.

    • Peut-être que Google était déjà au courant de ce problème.
      Dans ce cas, la vraie question devient : « pourquoi ne l’ont-ils pas rendu public ? »
  • Partage d’une commande pour lister tous les identifiants d’extensions Chrome installées sur macOS :

    find "$HOME/Library/Application Support/Google/Chrome" \
      -type d -path "*/Extensions/*" -not -path "*/Extensions/*/*" \
      -print 2>/dev/null | sed 's#.*/Extensions/##' | sort -u
    

    Il suffit ensuite de comparer le résultat avec la liste des extensions malveillantes.