Resumo: redirecionamento condicional por User-Agent em 490.000 sites do Polyfill.io
- Os feeds de ameaças são reativos: Os feeds de ameaças não o salvaram. O Polyfill[.]io continuou a redirecionar utilizadores móveis para sites adultos e de apostas durante dias após os avisos da comunidade, porque os feeds são reativos e este payload só disparava uma vez por IP.
- Detetado onde outros falharam: O ficheiro adulterado chegou a mais de 490.000 sites, redirecionava com base no User-Agent, e a cside detetou o payload injetado onde todos os fornecedores de reputação falharam. A cside observa o comportamento dos scripts, pelo que payloads condicionados por geolocalização, hora ou sessão continuam a acionar os nossos alertas.
- Remova estes domínios já: Se o seu código ainda carregar polyfill[.]io, bootcdn[.]net, bootcss[.]com, staticfile[.]net, staticfile[.]org ou unionadjs[.]com, remova todas as referências esta semana. Se não puder remover, adicione monitorização de scripts em runtime para que a próxima mudança silenciosa de propriedade não se torne mais um ano de ataques não detetados.
Sem tempo? Veja o bloqueio de Magecart e skimmers no navegador da cside. Cobre tudo o que se segue numa única implementação.
Recentemente, mais de 490.000 sites foram alvo de um ataque à cadeia de abastecimento web. (A Censys contou de forma independente 384.773 hosts que ainda referenciavam o domínio a 2024-07-02.) Fomos os primeiros a relatar a verdadeira dimensão do ataque na nossa reportagem original. Para a história completa de 2024 a 2026, consulte a nossa cronologia e análise completas do Polyfill.io.
Alguns artigos que nos mencionaram incluem:
NOTA: Se um site estiver a referenciar hoje os domínios polyfill[.]io bootcdn[.]net, bootcss[.]com, staticfile[.]net, staticfile[.]org e unionadjs[.]com, continua exposto a este ataque.
O que era o projeto de serviço Polyfill?
O Polyfill era originalmente um projeto de código aberto que permitia aos sites usar funcionalidades modernas de JavaScript em navegadores mais antigos, como o Internet Explorer. Isto era necessário à medida que a comunidade online foi gradualmente migrando para frameworks de navegador mais modernos.
Apesar de ter-se tornado largamente desnecessário, uma vez que o tráfego do Internet Explorer passou a ser negligenciável, milhares de sites ainda referenciam este domínio.
Criado em outubro de 2014, o Polyfill recebia atualizações regulares. Em fevereiro de 2024, o colaborador Andrew Betts (@triblondon no X) alertou a comunidade quando o domínio polyfill[.]io foi adquirido por uma empresa chinesa aos seus proprietários originais:
Se o seu site usa
, remova-o IMEDIATAMENTE.
Criei o projeto de serviço polyfill, mas nunca fui proprietário do nome de domínio e não tive qualquer influência sobre a sua venda.
, Andrew Betts (@triblondon)
Como o Polyfill[.]io facilitou um ataque à cadeia de abastecimento web
Os domínios usados para servir scripts populares de terceiros representam uma grande preocupação de segurança, uma vez que podem mudar dinamicamente sem notificar ninguém nem nada. Isto inclui servir scripts totalmente diferentes com base no navegador, User-Agent, geolocalização, IP ou qualquer outro vetor. Têm total liberdade sobre o que servem, a quem, e com que critério.
O Polyfill[.]io e o Polyfill[.]com foram adquiridos por uma empresa chinesa chamada Funnull.
Após esta venda e a publicação de Andrew no X, o colaborador do GitHub "renchap" fornece algum contexto adicional sobre a transação:
"O Polyfill[.i]o pertencia à equipa web do Financial Times, passou depois para gestão comunitária, e o último mantenedor vendeu o projeto a uma estranha empresa chinesa de CDN, que o afastou da Fastly (a plataforma de CDN/edge compute que executava o código open source do serviço) e começou a alterar os ficheiros devolvidos."
O colaborador do GitHub "munierujp" mencionou que Jake Champion decidiu transferir a propriedade do Polyfill para a Funnull:

A ligação que ele refere já não está disponível. Também não existe nenhuma página do Internet Archive disponível.
Andrew Betts e Jake Champion, ambos anteriormente do Financial Times e proprietários originais do Polyfill, trabalham atualmente na Fastly.
Outros membros da comunidade, neste tópico do GitHub, mencionam que:
"A Funnull é notória por fornecer serviços às indústrias de apostas e de pornografia."
Isto foi um prenúncio do que realmente aconteceu na sequência do ataque.
Antes de tudo isto, o Polyfill funcionava na plataforma de edge compute da Fastly. Como esta não está disponível na cloud chinesa, "renchap" no GitHub reparou que o polyfill[.]io passou a ter um registo CNAME para polyfill[.]io.bsclink[.]cn.
Após a suspeita mudança de propriedade, a Fastly criou um espelho da biblioteca Polyfill como domínio alternativo, para ajudar as pessoas a continuar a usar o serviço: polyfill-fastly.io. Disponibilizaram isto apenas alguns dias depois de a venda ter sido comunicada.
Um dia após o anúncio da Fastly, a Cloudflare lançou um endpoint alternativo para o Polyfill[.]io no CDNJS, para mitigar o risco de ataque.
Esta não é uma solução 100% perfeita. As vulnerabilidades do cdnjs em 2021 mostraram ao mundo que até grandes CDNs de JavaScript de boa reputação podem sofrer risco de cadeia de abastecimento. Isto demonstra que confiar apenas nas fontes não basta; é necessária monitorização contínua para detetar anomalias. Esta é uma das razões pelas quais a cside foi fundada.
O que aconteceu no ataque Polyfill?
Um ficheiro JavaScript adulterado, injetado pelo domínio polyfill[.]io, redirecionou uma percentagem de utilizadores para sites adultos e de apostas com base no seu User-Agent. Um utilizador japonês do X, "piyokango", foi provavelmente o primeiro a relatar este ataque, a 24 de junho.
A 25 de junho, "Huli" conseguiu reproduzir este ataque e relatá-lo em inglês. Encontrou uma publicação do GitHub do dia anterior, onde um utilizador chamado "alitonium" explica como o descobriu.
Ao cumprir determinadas condições, o ficheiro JavaScript alterado revela-se. Após a descodificação, mostra uma ligação falsa do Google Analytics: googie-anaiytics[.]com/gtags.js. Repare como este domínio é um caso de typosquatting: a letra i é usada em vez de um l, tanto em "googie" como em "anaiytics". A empresa de segurança Sansec publicou uma análise forense completa do payload. (O CVE-2024-38526 relacionado foi atribuído ao pdoc, a ferramenta de documentação Python que carregava o polyfill.io, e não ao incidente como um todo.)
Este domínio de typosquatting redireciona os utilizadores para vários sites de apostas desportivas e de conteúdo adulto, aparentemente com base na sua região. Este é um dos sites para o qual fomos redirecionados:

Embora este ataque à cadeia de abastecimento web, nesta altura, apenas redirecionasse utilizadores, uma multitude de outras coisas poderia ter acontecido. De ataques watering hole à captura de dados de cartões de crédito. Um ataque watering hole é um tipo de ataque em que os hackers visam um site frequentemente visitado por um grupo específico de pessoas. Infetam o site com malware para que, quando os membros do grupo o visitem, os seus computadores fiquem infetados.
Como a maioria das medidas de segurança comuns depende apenas da verificação de fontes, ataques como este continuam a acontecer hoje em dia. Como este exemplo em particular demonstrou, os fornecedores de feeds de ameaças só listaram o domínio polyfill[.]io como malicioso dias após os relatos. Isto resulta de uma abordagem de sofrer primeiro, reagir depois, que permite fundamentalmente que ataques como este continuem a acontecer.

A cside foi fundada especificamente para desafiar a dependência dos feeds de ameaças, uma vez que o ritmo de novos métodos de ataque criativos é superior à velocidade a que os feeds de ameaças os processam. Isto tornou-se evidente recentemente com a crise da National Vulnerability Database (NVD), em que mais de 10.000 ataques conhecidos aguardavam num backlog para serem revistos e processados em Common Vulnerabilities and Exposures (CVEs).
No exemplo do Polyfill, o nosso motor conseguiu detetar os polyfills injetados e impediu que ocorressem. Protegeu o utilizador e alertou o proprietário do site sobre o código malicioso.
Assim que "Huli", do blog mencionado acima, publicou sobre a mudança de comportamento, começámos a escrever o nosso próprio relatório, que foi publicado pouco depois. Inicialmente relatámos que cerca de 110.000 sites foram afetados. Mais tarde corrigimos esta estimativa para o valor atual, que é superior a 490.000 sites.
Isto afetou marcas de destaque, como o serviço de streaming Hulu, propriedade da Disney, The Guardian, Intuit, e muitas outras.
Reparámos que o site do Polyfill[.]io adicionou um cabeçalho 'Cloudflare Security Protection' à sua página inicial entre 7 e 8 de março. Na altura, isto pareceu-nos estranho, a nós e a outros membros da comunidade. Um dia após o nosso relatório, a Cloudflare confirmou que não tinha autorizado essa utilização.

Observámos também que o redirecionamento malicioso ocorria apenas uma vez por IP. Isto foi provavelmente concebido para contornar a deteção o máximo de tempo possível.
As consequências
O domínio Polyfill[.]io tinha sido adquirido através da Namecheap. Durante a agitação, a Namecheap encerrou o domínio, conforme relatado pelo MalwareHunterTeam no X:
Atualização muito importante/grande: na última hora,
decidiu finalmente eliminar o domínio polyfill[.]io.
Nenhum 👏 para eles, de todo, porque demoraram muito mais tempo do que deveriam, mas talvez um pequeno agradecimento por o terem feito tarde em vez de nunca...
🤷♂️
, MalwareHunterTeam (@malwrhunterteam)
O site voltou depois a estar disponível em Polyfill[.]com, mas entretanto também foi encerrado.
A Google também respondeu. Deixou de exibir anúncios em sites que tivessem estes scripts, pressionando os proprietários dos sites ao retirar-lhes as receitas publicitárias para que removessem os scripts. A Google também enviou avisos que mencionavam mais alguns domínios, como notado por Michal Špaček no X:
A Google está agora a enviar um aviso sobre o carregamento de JS de terceiros a partir de domínios como polyfill.io bootcss.com bootcdn.net & staticfile.org, que podem fazer coisas más aos seus utilizadores se o seu site usar JS destes domínios.
, Michal Špaček (@spazef0rze)
O que nos traz de volta ao MalwareHunterTeam, que investigou mais a fundo. Mencionaram que todos estes domínios são geridos pelo mesmo grupo. Isto foi confirmado quando um token de API e um ZoneID da Cloudflare foram divulgados no GitHub.
Estes domínios incluíam o Polyfill[.]io, mas também bootcdn[.]net, bootcss[.]com, polyfill[.]io, staticfile[.]net, staticfile[.]org e unionadjs[.]com.
Encontraram também evidências de código malicioso a ser servido através destes domínios, afetando centenas de milhares de sites.
Atualização importante sobre a situação do ataque tipo cadeia de abastecimento ao polyfill[.]io.
Então, quando a Google começou a emitir avisos de que os anúncios de páginas/sites que usam polyfill[.]io podem ser suspensos, mencionaram mais 3 domínios:
bootcss[.]com
bootcdn[.]net
staticfile[.]org
Mas de alguma forma todos…
, MalwareHunterTeam (@malwrhunterteam)
Estes domínios também não estavam listados como maliciosos pelos fornecedores de feeds de ameaças. Apesar de alguns destes domínios estarem a servir ataques à cadeia de abastecimento desde junho de 2023. Isso equivale a mais de um ano de ataques não detetados.
Então, eu já esperava que os ataques do tipo cadeia de abastecimento a usar estes serviços/domínios estivessem a acontecer há já algum tempo do ano passado, mas só agora foi confirmado, graças a
(
), que remonta pelo menos a junho passado, portanto pouco mais de 1 ano…
, MalwareHunterTeam (@malwrhunterteam)
A cside ainda não existia para detetar isto na altura.
Numa tentativa de salvar as aparências, uma conta no X com o nome Polyfill começou a acusar a Cloudflare, os meios de comunicação e outros de difamação. A conta foi criada em fevereiro de 2024, provavelmente na altura em que ocorreu a venda do domínio.
Alguém nos difamou maliciosamente. Não temos riscos de cadeia de abastecimento porque todo o conteúdo está em cache estático. Qualquer envolvimento de terceiros poderia introduzir riscos potenciais no seu site,
mas ninguém faria isto, pois colocaria em risco a nossa própria reputação.
Já...- Polyfill (@Polyfill_Global)
A 30 de junho, o agente malicioso tentou colocar novamente o seu site online em polyfill[.]site. Este foi entretanto retirado.
A 1 de julho, voltaram a lançar o seu produto. Desta vez sob polyfillcache[.]com. Esperamos que isto seja novamente retirado em breve.
As lições aprendidas
Este ataque demonstra o risco alargado dos scripts de terceiros. Uma vez incorporados em milhares de sites, tornam-se alvos privilegiados para agentes maliciosos. Com apenas algumas linhas de código, estes sites e milhões de visitantes ficam em risco. Esta é uma área sensível da cadeia de abastecimento web, mas as ferramentas para monitorizar a superfície de ataque estão atrasadas e são pouco utilizadas.
A cside foi criada para impedir que isto aconteça. O nosso script, que carrega em primeiro lugar, faz todos os outros passarem pelo nosso motor de análise. Aí, verificamos o código completo em busca de qualquer coisa maliciosa, com base em mais de 60 parâmetros. Se o nosso motor de deteção considerar que não é seguro, o carregamento do script é bloqueado. Também otimizamos estes scripts para combater qualquer latência criada pelo proxy, tornando-os, em muitos casos, mais rápidos em vez de mais lentos.
Nota do editor (2026): Este parágrafo descreve a arquitetura original da cside, de 2024. A cside realiza agora monitorização completa de scripts do lado do cliente, um único snippet JavaScript first-party que observa o que os scripts de terceiros realmente fazem nos navegadores de visitantes reais, incluindo os payloads condicionados por geolocalização e hora (como este), que mostram código limpo a scanners e crawlers. O proxy de entrega de scripts descrito acima foi descontinuado no início de 2026.
O ataque Polyfill é um lembrete: medidas de segurança que não verificam o código completo antes de o servir aos utilizadores não conseguirão detetar novos ataques e dependerão de deteções feitas pela comunidade, colocando sites e visitantes em risco.
Neste caso, o agente malicioso optou por apenas redirecionar utilizadores para sites adultos e de apostas, mas algo muito pior poderia ter acontecido: escutar as teclas premidas numa pequena percentagem de sessões com base na geolocalização e na hora do dia, injetar malware, minerar criptomoeda, ou reescrever botões nos sites para redirecionar para portais de pagamento falsificados. De um simples redirecionamento à captura de dados de cartões de crédito, os ataques de JavaScript do lado do cliente podem fazer tudo isto. O ataque Polyfill poderia ter tido um impacto muito mais negativo; de certa forma, tivemos sorte. Que isto sirva de lembrete: temos de monitorizar os nossos scripts do lado do cliente. Explicamos com mais detalhe por que motivo isto foi mais do que um simples ataque de redirecionamento, e em 2025 a história fechou o ciclo quando a OFAC sancionou a Funnull, a empresa por trás do domínio.
Pode proteger o seu site em segundos com a cside. O nosso plano gratuito protege o seu site contra este e outros ataques semelhantes.









