Instalar todas las extensiones de Firefox
(jack.cab)- Se realizó un experimento a gran escala para recopilar e instalar las más de 84,000 extensiones de Firefox usando la API de Add-ons de Mozilla
- Mediante scraping se obtuvieron 84,235 extensiones únicas, con un tamaño total de 49.3 GB, y el dataset se publicó en Hugging Face
- Durante el proceso de instalación se encontraron numerosas extensiones maliciosas, incluyendo phishing, spam y PUA (aplicaciones potencialmente no deseadas)
- Finalmente se logró instalar 84,194 extensiones, pero el navegador quedó prácticamente inutilizable
- El experimento es visto como un caso que expuso de forma integral la escala, calidad y problemas de seguridad del ecosistema de extensiones de Firefox
Experimento de instalar todas las extensiones de Firefox
- Experimento a gran escala que recopiló, analizó e instaló las más de 84,000 extensiones para Firefox
- Se hizo scraping de la lista completa de extensiones mediante la API pública de Add-ons de Mozilla y luego se realizó la instalación real
- El dataset se publicó en Hugging Face, por lo que cualquiera puede acceder a él
- Tras varios intentos, se logró instalar 84,194 extensiones, pero el navegador quedó prácticamente inutilizable
- El experimento dejó en evidencia la escala del ecosistema de extensiones, su calidad, las extensiones maliciosas, el spam y las PUA (aplicaciones potencialmente no deseadas)
Scraping de extensiones de Firefox
- La addons-server API de Mozilla permite acceso sin autenticación, y con el endpoint
searchse puede consultar la lista de extensiones por páginas - Con el orden predeterminado (
recommended,users) solo se podían consultar unas 30,000, así que se combinaron distintas opciones de orden comocreated,rating,hotnessyupdatedpara recuperar las extensiones faltantes - También se usó el parámetro
exclude_addonspara recolectar extensiones después de la página 600 - Con solicitudes paralelas por categoría se obtuvieron 84,235 extensiones únicas, con un tamaño promedio de 584.9 KB y un total de 49.3 GB
- El dataset final se subió a Hugging Face y quedó público
- En la actualización del 11 de abril de 2026 se implementó un scraping preciso y eficiente de todo el catálogo usando los filtros
created__gteycreated__lte
Análisis de extensiones de Firefox
- La extensión más grande fue dmitlichess (196.3 MB), que incluye más de 2,000 archivos de audio
- La mayoría de las 10 extensiones más grandes contienen modelos de IA, apps de Unity y recursos de imagen, entre otros contenidos pesados
- La extensión más pequeña fue theTabs-saver (7.5 KB), sin código
- La extensión con peor calificación fue Tab Stack for Firefox
- La extensión más antigua fue Web Developer
- La extensión con más capturas de pantalla fue RDS Bar (54)
- La extensión con más solicitudes de permisos fue FalscheLaden (3,695 solicitudes de permisos), seguida de Google Dark Theme (2,675)
- El desarrollador que publicó más extensiones fue Dr. B (84 extensiones), la mayoría con README y sin ícono
-
Phishing y extensiones maliciosas
- En el dataset se encontraron numerosas extensiones de phishing de billeteras de criptomonedas
- Ejemplo: “Іron Wаllеt” obtenía una URL desde NocoDB 3 segundos después de instalarse y redirigía a una página de phishing
- Algunas extensiones pedían la seed phrase y la enviaban al servidor
- Tras ser reportadas, Mozilla eliminó la mayoría al día siguiente
- También se encontraron casos de claves API con permisos de escritura, y se realizó eliminación de datos directamente
- En el dataset se encontraron numerosas extensiones de phishing de billeteras de criptomonedas
-
Extensiones de spam SEO
- El enlace “Homepage” de la página de la extensión se abusaba como backlink
- Extensiones generadas por IA como Typo Sniper y Tab Fortune Teller enlazaban a sitios de casino
- Había muchas extensiones del tipo “Code Injector”, con la misma estructura de código y dominios aleatorios
- Se confirmó que la mayoría fueron creadas en 2025
-
Extensiones PUA (aplicaciones potencialmente no deseadas)
- Se encontraron más de 20 extensiones con el patrón “Custom Web Search”, con más de 700,000 usuarios en total
- Todas compartían la misma estructura y dominios, e indicaban “Innover Online Group Ltd”
- Mozilla desactivó algunas de ellas, incluidas las que tenían 115,000 usuarios
- Usaban el código de afiliado de Yahoo
safeplexsearchy existía una versión exclusiva para Firefox - La empresa similar Atom Apps también distribuía extensiones del mismo modo, con un total de 220,000 usuarios diarios
-
Resumen estadístico
- 34.3% de las extensiones tenían 0 usuarios diarios
- Con 10 o más usuarios: 25.1%; con 100 o más: 10.6%; con 1,000 o más: 3.2%; con 10,000 o más: 0.7%
- 76.7% eran de código abierto (según licencias SPDX)
- 23% fueron creadas después de redactar el texto
- De esas, 19% no tenían usuarios, reseñas, ícono ni descargas
- 2.4% eran extensiones de pago, y de ellas 38.1% eran de código abierto
- 34.3% de las extensiones tenían 0 usuarios diarios
Intento de instalar todas las extensiones
- El archivo
.xpide cada extensión se guardó en la carpeta del perfil con nombre GUID y luego se modificóextensions.json - Se eliminó
addonStartup.json.lz4y se manipulóextensions.jsonpara activarlas automáticamente -
Intento 0: 65,335 (Windows VM)
- Se intentó instalar mediante Enterprise Policy, pero hubo falta de memoria y congelamiento del sistema
-
Intento 1: unas 1,000
- Se descargaron directamente y se colocaron manualmente; la instalación tuvo éxito
- Algunas extensiones cambiaban todo el texto por una cadena específica
- Debido a numerosas extensiones de seguridad, eran frecuentes los bloqueos de dominios y los pop-ups de advertencia
-
Intento 2: 65,335
- Al no eliminar
addonStartup.json.lz4, en realidad solo se activaron unas 1,000 - Mientras se revisaba
about:addons, Firefox se congeló y ya no pudo reiniciarse
- Al no eliminar
-
Intento 3: 65,335 (Mac)
- La descarga en paralelo redujo la velocidad y tomó 6 horas en total
- Al iniciar Firefox quedaba sin responder, y
extensions.jsonalcanzó un tamaño de 144 MB - Se generaron más de 400 GB de escritura en disco
-
Intentos 4~10: 1,000~6,000
- Hasta 3,000 aún era posible cargar páginas web
- A partir de 4,000 todos los sitios quedaban bloqueados, y con 6,000 solo cargaba
about:addons
-
Intento 11: 84,194 (6 meses después)
- Se usó una máquina virtual (VM) en un entorno con 16~24 GB de RAM
- La descarga tomó 1 hora 43 minutos, y algunas extensiones fueron detectadas por Defender
- Al iniciar Firefox,
extensions.jsoncreció hasta 189 MB y se forzó el cierre tras 39 minutos - Después se reintentó ejecutando
enable.js -
Resultados de Launch 1~3
- Launch 1: se esperaron 39 minutos sin renderizado y luego se interrumpió
- Launch 2: el navegador apareció pero se cerró por fallo en menos de 3 minutos
- Launch 3: tras una larga espera logró estabilizarse, confirmando la carga de 84,194 extensiones
Prueba de uso con todas las extensiones
-
about:addons
- La página de configuración no cargó; la página de índice terminó de cargar por completo después de 6 horas
- El uso de memoria se mantuvo entre 27~37 GiB
- No se mostraban íconos y la respuesta era extremadamente lenta
-
about:support
- Se mostraban 84,205 extensiones en total, pero incluían las extensiones integradas
- Se confirmó que las extensiones externas realmente instaladas eran 84,194
-
about:preferences
- Había muchas opciones de New Tab, con conflictos y fallos
-
New Tab
- Solo Firefox Home cargó correctamente; el resto de las extensiones falló
-
moz-extension
- La extensión buyPal reemplazó automáticamente la pestaña y fue la única que cargó correctamente
- Después Firefox volvió a fallar
-
example.com
- Incluso tras 24 horas la página no cargó; se estima que había muchas extensiones de bloqueo
-
about:telemetry
- Al hacer clic en Environment Data, fallaba de inmediato
Evaluación de usabilidad
- Imposible
- Firefox queda prácticamente inoperable con 84,000 extensiones instaladas
Sugerencias para exploración adicional
- Analizar por qué
about:addonstarda 6 horas en cargar y por quéexample.comno carga - Probar el experimento en otros navegadores que soporten
.xpi, como Kagi Orion y GNOME Web - Hacer pruebas instalando todos los temas (más de 500,000) o todos los user scripts y estilos
- Instalar todas las extensiones de Chrome Web Store es inviable por escala
Resumen de notas al pie
- En total, 8 extensiones no se recopilaron o fueron eliminadas
- Después de la versión inicial escrita en septiembre de 2025, las cifras se actualizaron en abril de 2026
- “Foreshadowing” se menciona como un recurso literario de anticipación
1 comentarios
Comentarios en Hacker News
Recibió el premio de la "calcomanía de emoji de dedo medio"
Resumió brevemente el proceso y lo publicó en su blog
El texto original puede verse aquí
Me recordó a las antiguas guerras de barras de herramientas de Internet Explorer
Recuerdo que en cada cibercafé había instaladas al menos dos barras de Ask.com, Google, Yahoo y después Bing
Investigué por qué tardó tanto
Hace 13 años no era extensions.json sino extensions.sqlite
Ahora la estructura vuelve a serializar y reescribir el archivo completo cada 20 ms, así que está bien para 15 extensiones, pero con 84,194 es un problema
Me da curiosidad cómo decidieron este valor de debounce. Me pregunto qué extensión escribiría en extensions.json varias veces por segundo
En realidad casi ninguna página abre bien, pero el texto en sí estuvo buenísimo
Me hizo reír mucho la parte de “activé el crash reporting”. Desde la perspectiva del equipo de Mozilla, debe parecer una historia de terror
Pero no pude encontrar el que subió el autor. Se pueden ver en crash-stats.mozilla.org
Si todavía queda el perfil, puedes encontrar el crash ID con esta guía
El texto es realmente extraño pero genial
En especial, me impresionó que encontrara un bug de rendimiento en una o más páginas de about:. Definitivamente necesita investigación adicional
La lista de extensiones también puede verse como sitemap
También se puede consultar Firefox Add-ons sitemap,
Chrome Web Store sitemap,
y Edge sitemap
El video da tanta risa que me hizo llorar
Supongo que así se siente la navegación web de personas mayores que casi no saben de computadoras. Ojalá alguien hiciera esto también en Chrome
“Este service mesh está sobreingenierizado para nuestro caso de uso, pero el broker es demasiado lento para 84,205 microservicios”
Esta tensión interminable me resulta demasiado familiar
Me recordó al legendario paquete de NPM que dependía de todos los paquetes de NPM
Si ves este artículo relacionado, de verdad da mucha risa
Me identifiqué muchísimo con la frase “instalé casi todas las extensiones con esto y ahora todo lo que hice antes parece tonto”
Yo también sentí una sensación parecida de vacío