Installer toutes les extensions Firefox
(jack.cab)- 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
searchpermet 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 commecreated,rating,hotnessetupdatedpour retrouver les extensions manquantes - Le paramètre
exclude_addonsa 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__gteetcreated__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
- Le jeu de données contenait de nombreuses extensions de phishing de portefeuilles crypto
-
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
- 34,3 % des extensions n’ont aucun utilisateur quotidien
Tentative d’installation de toutes les extensions
- Le fichier
.xpide chaque extension a été enregistré dans le dossier de profil sous un nom GUID, puisextensions.jsona été modifié - La suppression de
addonStartup.json.lz4et la manipulation deextensions.jsonont 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.lz4a limité l’activation réelle à environ 1 000 extensions - En consultant
about:addons, Firefox se figeait et ne redémarrait plus
- L’oubli de suppression de
-
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.jsonatteignait 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:addonspouvait 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.jsonest 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:addonset celle du non-chargement deexample.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.