Instalar todas as extensões do Firefox
(jack.cab)- Foi realizado um experimento em larga escala para coletar e instalar todas as mais de 84 mil extensões do Firefox usando a API de Add-ons da Mozilla
- Por meio de scraping, foram obtidas 84.235 extensões únicas, com tamanho total de 49,3 GB, e o dataset foi publicado no Hugging Face
- Durante o processo de instalação, foram encontradas muitas extensões maliciosas, incluindo phishing, spam e PUA (aplicativos potencialmente indesejados)
- No fim, foi possível instalar 84.194 extensões com sucesso, mas o navegador ficou praticamente inutilizável
- O experimento é avaliado como um caso que expôs de forma abrangente a escala, a qualidade e os problemas de segurança do ecossistema de extensões
Experimento de instalar todas as extensões do Firefox
- Um experimento em larga escala que coletou, analisou e instalou todas as mais de 84 mil extensões do Firefox
- Usando a API pública de Add-ons da Mozilla, foi feito o scraping da lista completa de extensões e também a instalação real
- O dataset foi publicado no Hugging Face e está acessível a qualquer pessoa
- Após várias tentativas, foi possível instalar 84.194 extensões, mas o navegador ficou praticamente inutilizável
- O experimento revelou a escala do ecossistema de extensões, sua qualidade, extensões maliciosas, spam e PUA (aplicativos potencialmente indesejados)
Scraping das extensões do Firefox
- A addons-server API da Mozilla pode ser acessada sem autenticação, e o endpoint
searchpermite consultar a lista de extensões por página - Com a ordenação padrão (
recommended,users), só era possível consultar cerca de 30.000 extensões, então foram combinadas várias opções de ordenação, comocreated,rating,hotnesseupdated, para recuperar as extensões faltantes - O parâmetro
exclude_addonsfoi usado para coletar também as extensões após a página 600 - Com requisições paralelas por categoria, foram obtidas 84.235 extensões únicas no total, com tamanho médio de 584,9 KB e volume total de 49,3 GB
- O dataset final foi enviado ao Hugging Face e tornado público
- Na atualização de 11 de abril de 2026, foi implementado um scraping preciso e eficiente de todo o acervo usando os filtros
created__gteecreated__lte
Análise das extensões do Firefox
- A maior extensão é dmitlichess (196,3 MB), contendo mais de 2.000 arquivos de áudio
- A maioria das 10 maiores extensões inclui conteúdos pesados como modelos de IA, apps Unity e recursos de imagem
- A menor extensão é theTabs-saver (7,5 KB), sem código
- A extensão com pior avaliação é Tab Stack for Firefox
- A extensão mais antiga é Web Developer
- A extensão com mais capturas de tela é RDS Bar (54 imagens)
- A extensão com mais solicitações de permissão é FalscheLaden (3.695 solicitações), seguida por Google Dark Theme (2.675)
- O desenvolvedor que publicou mais extensões é Dr. B (84 extensões), a maioria com README e sem ícone
-
Phishing e extensões maliciosas
- No dataset, foram encontradas várias extensões de phishing de carteiras de criptomoedas
- Ex.: “Іron Wаllеt” recebia uma URL do NocoDB 3 segundos após a instalação e redirecionava para uma página de phishing
- Algumas extensões capturavam a seed phrase e a enviavam ao servidor
- Após a denúncia, a Mozilla removeu a maioria delas no dia seguinte
- Também foram encontrados casos em que chaves de API tinham permissão de escrita, o que permitiu apagar dados diretamente
- No dataset, foram encontradas várias extensões de phishing de carteiras de criptomoedas
-
Extensões de spam para SEO
- O link “Homepage” da página da extensão era abusado para backlinks
- Extensões geradas por IA, como Typo Sniper e Tab Fortune Teller, levavam a sites de cassino
- Havia muitas extensões do tipo “Code Injector”, com a mesma estrutura de código e domínios aleatórios
- A maioria foi criada em 2025
-
Extensões PUA (aplicativos potencialmente indesejados)
- Havia mais de 20 extensões com o padrão “Custom Web Search”, com mais de 700 mil usuários no total
- Todas tinham a mesma estrutura e os mesmos domínios, com menção a “Innover Online Group Ltd”
- A Mozilla desativou algumas delas, incluindo uma com 115.000 usuários
- Usavam o código de afiliado do Yahoo
safeplexsearch, e havia uma versão específica para Firefox - Uma empresa similar, Atom Apps, também distribuía extensões do mesmo tipo, somando 220 mil usuários diários
-
Resumo estatístico
- 34,3% das extensões têm 0 usuários diários
- Com 10 ou mais usuários: 25,1%; 100 ou mais: 10,6%; 1.000 ou mais: 3,2%; 10.000 ou mais: 0,7%
- 76,7% são open source (com base em licenças SPDX)
- 23% foram criadas depois da publicação do texto
- Entre elas, 19% não têm usuários, reviews, ícone nem downloads
- 2,4% são extensões pagas, e 38,1% delas são open source
- 34,3% das extensões têm 0 usuários diários
Tentativa de instalar todas as extensões
- O arquivo
.xpide cada extensão foi salvo na pasta de perfil com nome de GUID, e depois oextensions.jsonfoi modificado addonStartup.json.lz4foi apagado e oextensions.jsonfoi manipulado para ativação automática-
Tentativa 0: 65.335 extensões (Windows VM)
- Foi tentada a instalação pelo método Enterprise Policy, mas houve falta de memória e travamento do sistema
-
Tentativa 1: cerca de 1.000
- Após download direto e distribuição manual, a instalação funcionou
- Algumas extensões mudavam todo o texto para uma string específica
- Devido a várias extensões de segurança, eram frequentes os bloqueios de domínio e pop-ups de alerta
-
Tentativa 2: 65.335
- Como o
addonStartup.json.lz4não foi apagado, na prática só cerca de 1.000 foram ativadas - Ao abrir
about:addons, o Firefox congelava e não conseguia reiniciar
- Como o
-
Tentativa 3: 65.335 (Mac)
- O download paralelo reduziu a velocidade, levando 6 horas no total
- Ao iniciar o Firefox, ele ficava sem resposta, e o
extensions.jsontinha 144 MB - Houve mais de 400 GB de escrita em disco
-
Tentativas 4~10: 1.000~6.000
- Até 3.000, páginas web ainda podiam ser carregadas
- A partir de 4.000, todos os sites eram bloqueados; com 6.000, só
about:addonscarregava
-
Tentativa 11: 84.194 (6 meses depois)
- Foi usada uma máquina virtual (VM) em ambiente com 16~24 GB de RAM
- O download levou 1 hora e 43 minutos, e algumas extensões foram detectadas pelo Defender
- Ao iniciar o Firefox, o
extensions.jsoncresceu para 189 MB, e o processo foi encerrado à força após 39 minutos - Depois disso, foi feita nova tentativa executando
enable.js -
Resultados do Launch 1~3
- Launch 1: após 39 minutos de espera sem renderização, foi interrompido
- Launch 2: o navegador apareceu, mas travou em menos de 3 minutos
- Launch 3: após longa espera, a estabilização foi bem-sucedida, confirmando o carregamento de 84.194 extensões
Teste de uso com todas as extensões
-
about:addons
- A página de configurações não carregava, e a página de índice só ficou totalmente carregada após 6 horas
- O uso de memória se manteve entre 27~37 GiB
- Os ícones não eram exibidos e a resposta era extremamente lenta
-
about:support
- Foram mostradas 84.205 extensões no total, mas isso incluía as extensões integradas
- Confirmou-se que as extensões externas realmente instaladas eram 84.194
-
about:preferences
- Havia muitas opções de New Tab, causando conflitos e travamentos
-
New Tab
- Apenas o Firefox Home carregava normalmente; todas as outras extensões falhavam
-
moz-extension
- A extensão buyPal substituía automaticamente a aba e foi a única a carregar corretamente
- Depois disso, o Firefox travava novamente
-
example.com
- Mesmo após 24 horas de espera, a página não carregava, sugerindo a existência de muitas extensões de bloqueio
-
about:telemetry
- Ao clicar em Environment Data, ocorria travamento imediato
Avaliação de usabilidade
- Impossível
- O Firefox fica praticamente inutilizável com 84 mil extensões instaladas
Sugestões para exploração adicional
- Analisar por que
about:addonsleva 6 horas para carregar e por queexample.comnão carrega - Testar em outros navegadores que suportam
.xpi, como Kagi Orion e GNOME Web - Fazer experimentos instalando todos os temas (mais de 500 mil) ou todos os user scripts/estilos
- Instalar todas as extensões da Chrome Web Store é inviável pela escala
Resumo das notas
- Um total de 8 extensões não foi coletado no scraping ou foi removido
- Após a versão inicial escrita em setembro de 2025, os números foram atualizados em abril de 2026
- “Foreshadowing” é mencionado como recurso literário de antecipação
1 comentários
Comentários do Hacker News
Ganhou o prêmio de "Middle Finger Emoji Sticker"
Resumiu brevemente o processo e publicou no blog
O texto original pode ser visto aqui
Isso lembrou as antigas guerras das barras de ferramentas do Internet Explorer
Lembro que em todo cibercafé tinha pelo menos duas barras do Ask.com, Google, Yahoo e, mais tarde, Bing instaladas
Fui investigar por que isso levou tanto tempo
Há 13 anos era extensions.sqlite, não extensions.json
Hoje a estrutura reserializa e regrava o arquivo inteiro a cada 20 ms, então funciona bem com 15 extensões, mas com 84.194 vira um problema
Fico curioso sobre como definiram esse valor de debounce. É difícil imaginar que alguma extensão esteja escrevendo em extensions.json várias vezes por segundo
Nenhuma das páginas de fato abre direito, mas o texto em si foi muito divertido de ler
Ri bastante na parte do “ativei o crash reporting”. Do ponto de vista da equipe da Mozilla, isso deve soar como história de terror
Só não consegui encontrar o que o autor enviou. Dá para ver em crash-stats.mozilla.org
Se o perfil ainda existir, é possível encontrar o crash ID por meio deste guia
O texto é realmente bizarro e incrível
Fiquei especialmente impressionado com o fato de terem encontrado um bug de performance em uma ou mais páginas
about:. Isso merece investigação posteriorA lista de extensões também pode ser vista como sitemap
Firefox Add-ons sitemap,
Chrome Web Store sitemap,
Edge sitemap também podem servir de referência
O vídeo é tão engraçado que dá vontade de chorar
Deve ser assim a navegação na web de idosos que quase não entendem de computador. Queria que alguém fizesse isso também no Chrome
“Esse service mesh é projetado demais para o nosso caso de uso, mas o broker é lento demais para 84.205 microsserviços”
Essa tensão interminável é familiar demais
Isso me lembrou o lendário pacote NPM que dependia de todos os pacotes do NPM
O texto relacionado é realmente engraçado
Concordei muito com a frase “depois de instalar quase todas as extensões com isso, tudo que eu tinha feito antes parece idiota”
Eu também senti um tipo parecido de vazio