1 points par GN⁺ 18 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Expérience à grande échelle consistant à collecter et installer l’ensemble des quelque 84 000 extensions Firefox à l’aide de l’API Add-ons de Mozilla
  • 84 235 extensions uniques récupérées par scraping, pour une taille totale de 49,3 Go ; le jeu de données a été publié sur Hugging Face
  • Le processus d’installation a révélé de nombreuses extensions malveillantes, notamment du phishing, du spam et des PUA (applications potentiellement indésirables)
  • Au final, 84 194 extensions ont été installées avec succès, mais le navigateur est devenu pratiquement inutilisable
  • L’expérience est considérée comme un cas révélateur de l’ampleur, de la qualité et des problèmes de sécurité de l’écosystème des extensions Firefox

Expérience d’installation de toutes les extensions Firefox

  • Expérience à grande échelle consistant à collecter, analyser et installer l’ensemble des quelque 84 000 extensions pour Firefox
  • La liste complète des extensions a été extraite via l’API publique Add-ons de Mozilla, puis l’installation réelle a été effectuée
  • Le jeu de données a été publié sur Hugging Face et est accessible à tous
  • Après plusieurs tentatives, l’installation de 84 194 extensions a réussi, mais le navigateur est devenu pratiquement inutilisable
  • L’expérience a mis en lumière la taille de l’écosystème, sa qualité, les extensions malveillantes, le spam et les PUA (applications potentiellement indésirables)

Scraping des extensions Firefox

  • L’API addons-server de Mozilla est accessible sans authentification, et son endpoint search permet d’interroger la liste des extensions page par page
  • Avec le tri par défaut (recommended,users), seules environ 30 000 extensions étaient récupérables ; il a donc fallu combiner différents critères de tri comme created, rating, hotness et updated pour retrouver les extensions manquantes
  • Le paramètre exclude_addons a permis de collecter aussi les extensions situées au-delà de la page 600
  • Grâce à des requêtes parallèles par catégorie, 84 235 extensions uniques ont été récupérées, avec une taille moyenne de 584,9 Ko et un volume total de 49,3 Go
  • Le jeu de données final a été mis en ligne sur Hugging Face et rendu public
  • Une mise à jour du 11 avril 2026 a permis d’implémenter un scraping complet plus précis et plus efficace grâce aux filtres created__gte et created__lte

Analyse des extensions Firefox

  • La plus grosse extension est dmitlichess (196,3 Mo), qui contient plus de 2 000 fichiers audio
    • La plupart des 10 plus grosses extensions embarquent des contenus volumineux tels que des modèles d’IA, des applications Unity ou des ressources d’image
  • La plus petite extension est theTabs-saver (7,5 Ko) et ne contient aucun code
  • L’extension la moins bien notée est Tab Stack for Firefox
  • La plus ancienne extension est Web Developer
  • L’extension avec le plus de captures d’écran est RDS Bar (54)
  • L’extension demandant le plus d’autorisations est FalscheLaden (3 695 demandes d’autorisation), suivie de Google Dark Theme (2 675)
  • Le développeur ayant publié le plus d’extensions est Dr. B (84 extensions), dont la plupart incluent un README mais n’ont pas d’icône
  • Phishing et extensions malveillantes

    • Le jeu de données contenait de nombreuses extensions de phishing de portefeuilles crypto
      • Exemple : “Іron Wаllеt” récupérait une URL depuis NocoDB trois secondes après l’installation, puis redirigeait vers une page de phishing
      • Certaines extensions demandaient la phrase de récupération puis l’envoyaient à un serveur
    • Après signalement, la plupart ont été supprimées par Mozilla dès le lendemain
    • Des cas de clés API disposant de droits en écriture ont également été trouvés, ce qui a permis d’effacer directement des données
  • Extensions de spam SEO

    • Le lien “Homepage” sur la page d’une extension était détourné pour générer des backlinks
    • Des extensions générées par IA comme Typo Sniper et Tab Fortune Teller redirigeaient vers des sites de casino
    • Il existe de nombreuses extensions du type “Code Injector”, avec une structure de code identique et des domaines aléatoires
    • La plupart ont été créées en 2025
  • Extensions PUA (applications potentiellement indésirables)

    • Une vingtaine d’extensions suivant le schéma “Custom Web Search” totalisaient plus de 700 000 utilisateurs
    • Elles présentaient toutes la même structure et les mêmes domaines, avec la mention “Innover Online Group Ltd”
    • Mozilla en a désactivé certaines (dont une comptant 115 000 utilisateurs)
    • Elles utilisent le code d’affiliation Yahoo safeplexsearch, avec une version dédiée à Firefox
    • Une entreprise similaire, Atom Apps, diffusait aussi des extensions selon la même méthode, pour un total de 220 000 utilisateurs quotidiens
  • Résumé statistique

    • 34,3 % des extensions n’ont aucun utilisateur quotidien
      • Utilisateurs ≥ 10 : 25,1 % ; ≥ 100 : 10,6 % ; ≥ 1 000 : 3,2 % ; ≥ 10 000 : 0,7 %
    • 76,7 % sont open source (sur la base des licences SPDX)
    • 23 % ont été créées après la rédaction de l’article
      • Parmi elles, 19 % n’ont ni utilisateurs, ni avis, ni icône, ni téléchargements
    • 2,4 % sont des extensions payantes, dont 38,1 % sont open source

Tentative d’installation de toutes les extensions

  • Le fichier .xpi de chaque extension a été enregistré dans le dossier de profil sous un nom GUID, puis extensions.json a été modifié
  • La suppression de addonStartup.json.lz4 et la manipulation de extensions.json ont permis l’activation automatique
  • Tentative 0 : 65 335 (VM Windows)

    • Installation tentée via la méthode Enterprise Policy, mais panne de mémoire et gel du système
  • Tentative 1 : environ 1 000

    • Téléchargement direct puis déploiement manuel, installation réussie
    • Certaines extensions remplaçaient tout le texte par une chaîne spécifique
    • De nombreuses extensions de sécurité provoquaient fréquemment blocages de domaines et fenêtres d’alerte
  • Tentative 2 : 65 335

    • L’oubli de suppression de addonStartup.json.lz4 a limité l’activation réelle à environ 1 000 extensions
    • En consultant about:addons, Firefox se figeait et ne redémarrait plus
  • Tentative 3 : 65 335 (Mac)

    • Les téléchargements parallèles ont ralenti les performances, pour une durée totale de 6 heures
    • Au lancement de Firefox, le navigateur était sans réponse et extensions.json atteignait 144 Mo
    • Plus de 400 Go d’écritures disque ont été générés
  • Tentatives 4 à 10 : 1 000 à 6 000

    • Jusqu’à 3 000, les pages web pouvaient encore se charger
    • À partir de 4 000, tous les sites étaient bloqués ; à 6 000, seul about:addons pouvait encore se charger
  • Tentative 11 : 84 194 (6 mois plus tard)

    • Utilisation d’une machine virtuelle (VM) dans un environnement avec 16 à 24 Go de RAM
    • Le téléchargement a pris 1 h 43, et certaines extensions ont été détectées par Defender
    • Au lancement de Firefox, extensions.json est monté à 189 Mo ; arrêt forcé au bout de 39 minutes
    • Nouvel essai ensuite via l’exécution de enable.js
    • Résultats des lancements 1 à 3

      • Lancement 1 : attente de 39 minutes sans rendu, puis arrêt
      • Lancement 2 : affichage du navigateur, puis crash en moins de 3 minutes
      • Lancement 3 : après une longue attente, stabilisation réussie, avec confirmation du chargement de 84 194 extensions

Test d’utilisation de toutes les extensions

  • about:addons

    • Échec du chargement de la page de paramètres ; la page d’index ne s’est entièrement chargée qu’au bout de 6 heures
    • La consommation mémoire restait entre 27 et 37 GiB
    • Les icônes ne s’affichaient pas et les délais de réponse étaient très importants
  • about:support

    • Un total de 84 205 extensions était affiché, mais cela incluait les extensions intégrées
    • Le nombre réel d’extensions externes installées a été confirmé à 84 194
  • about:preferences

    • De nombreuses options de New Tab étaient présentes, avec conflits et crashes
  • New Tab

    • Seul Firefox Home se chargeait correctement ; toutes les autres extensions échouaient
  • moz-extension

    • L’extension buyPal remplaçait automatiquement l’onglet et était la seule à se charger correctement
    • Firefox a ensuite de nouveau crashé
  • example.com

    • Même après 24 heures d’attente, la page ne se chargeait pas ; on soupçonnait la présence de nombreuses extensions bloquantes
  • about:telemetry

    • Un clic sur Environment Data provoquait un crash immédiat

Évaluation de la possibilité d’utilisation

  • Impossible
  • Avec 84 000 extensions installées, Firefox devient en pratique inutilisable

Pistes d’exploration supplémentaires

  • Analyser la cause des 6 heures de chargement de about:addons et celle du non-chargement de example.com
  • Tester d’autres navigateurs prenant en charge les .xpi, comme Kagi Orion et GNOME Web
  • Mener une expérience d’installation complète sur les thèmes (plus de 500 000) ou sur les scripts et styles utilisateur
  • Installer l’ensemble du Chrome Web Store est impossible à cette échelle

Résumé des notes

  • Au total, 8 extensions n’ont pas pu être récupérées lors du scraping ou ont été supprimées
  • Les chiffres ont été mis à jour en avril 2026 après une première version rédigée en septembre 2025
  • “Foreshadowing” est mentionné comme procédé littéraire d’anticipation

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.