Em 18 de julho de 2025, uma biblioteca JavaScript confiável com mais de 31 milhões de downloads semanais, eslint-config-prettier
foi utilizado como arma num ataque direcionado à cadeia de fornecimento que realça o quão vulneráveis podem ser os ecossistemas de código aberto. A violação começou com um e-mail de phishing que enganou o mantenedor para que ele divulgasse seu token. Usando a credencial exposta, o atacante publicou versões não autorizadas do pacote, que continha um script pós-instalação que executava uma DLL trojan em máquinas Windows durante a instalação.
Eis o que aconteceu, como funcionou o ataque e como as tecnologias OPSWAT podem ajudar a defender-se contra ameaças semelhantes no futuro.
Resumo do ataque
O popular pacote npm linter, eslint-config-prettier
é usado para desativar regras ESLint desnecessárias ou conflitantes ao usar o Prettier. É tipicamente incluído como uma dependência de desenvolvimento em IDEs locais e pipelines de CI (não enviado em código de produção), mas isso não o impediu de se tornar um veículo para malware.
O ataque desenrolou-se da seguinte forma:
1. Um e-mail de phishing falsificado para aparecer em support@npmjs.org enganou o mantenedor para que ele clicasse em um link malicioso (typosquatted como npnjs.com). Depois de seguir a ligação, o responsável pela manutenção expôs, sem saber, o seu token de acesso npm, que o atacante utilizou para publicar versões maliciosas do pacote.
2. O atacante usou então o token npm roubado para publicar versões maliciosas do eslint-config-prettier
pacote. Foram identificadas quatro versões comprometidas com base em relatórios de programadores: 8.10.1, 9.1.1, 10.1.6, versões 10.1.7
Além disso, como o atacante tinha acesso ao token comprometido, outros pacotes mantidos pelo mesmo autor também foram afectados, incluindo: eslint-plugin-prettier, synckit, @pkgr/core
e napi-postinstall
3. O atacante adicionou dois ficheiros suspeitos ao código fonte: instalar.js
e node-gyp.dll
.
Quando um utilizador descarrega e instala uma das versões ilegítimas do pacote, o instalar.js
é executado, invocando um script malicioso node-gyp.dll
em sistemas Windows através de rundll32
Técnicas de ataque utilizadas
Phishing e engenharia social
O e-mail falsificado contornou com êxito as protecções básicas de e-mail (SPF/DKIM/DMARC) e fez-se passar pelo suporte do npm.
Typosquatting
Foi utilizado um domínio enganador(npnjs.com), concebido para se assemelhar a npmjs.com, para roubar credenciais. Esta é uma técnica clássica de typosquatting.
Ofuscação de código através da concatenação de cadeias de caracteres
A versão do pacote malicioso incluía um script pós-instalação (instalar.js
) que foi executado automaticamente após a instalação.
No interior, uma função chamada logDiskSpace()
parecia inofensivo, mas não verificava o espaço em disco. Em vez disso, usava a concatenação de strings para juntar um comando que executava rundll32.exe
e carregou um ficheiro DLL (node-gyp.dll
) incluídos no pacote.
Secure proactivamente o Código Fonte e o OSS com o OPSWAT
MetaDefender Software Supply Chain™ ajuda as organizações a detetar e bloquear dependências maliciosas de código aberto antes que elas entrem no seu pipeline de CI/CD.
- Análise SBOM: Analisa automaticamente as dependências e assinala as vulnerabilidades conhecidas, como a CVE-2025-54313, associada a este ataque.
- Deteção Multi-AV: Detecta malware ofuscado como o node-gyp.dll usando mais de 30 mecanismos anti-malware integrados através do MetaScan™ Multiscanning.
- Integração do repositório de fontes: Integra-se com o GitHub, o GitLab e o JFrog Artifactory para inspecionar e verificar continuamente a integridade dos pacotes.
O vetor de ataque começou com o e-mail, e é aí que MetaDefender Email Security ™ entra em cena.
- Sanitização de arquivos: O Deep CDR™ verifica e higieniza anexos de e-mail.
- Extração de hiperligações: Todas as hiperligações são apresentadas em texto simples, expondo domínios semelhantes como npnjs.com antes de um utilizador clicar.
Principais conclusões
- A segurança do mantenedor é a segurança da cadeia de abastecimento. Um único token falsificado permitiu que os atacantes sequestrassem bibliotecas amplamente utilizadas.
- Os ecossistemas de código aberto assentam na confiança, mas um sucesso de engenharia social pode afetar milhões de projectos a jusante.
- As medidas de segurança proactivas, como a verificação de dependências e a higienização de correio eletrónico, já não são opcionais; são essenciais.
O que fazer agora
-
Evite instalar versões afectadas:
- eslint-config-prettier: 8.10.1, 9.1.1, 10.1.6, 10.1.7
- eslint-plugin-prettier: 4.2.2, 4.2.3
- synckit: 0.11.9
- @pkgr/core: 0.2.8
- napi-postinstall: 0.3.1
- Rodar segredos utilizados em compilações afectadas
- Ativar 2FA para todas as contas npm
- Realizar formação de sensibilização para o phishing
Os ataques à cadeia de fornecimento estão a tornar-se mais inteligentes e mais pessoais. Com as soluções de confiança zero da OPSWATpara e-mail e pipelines de desenvolvimento, pode ficar à frente do próximo ataque.
Saiba mais sobre o MetaDefender Software Supply Chain e MetaDefender Email Security. Entre em contacto com um dos nossos especialistas para encontrar soluções personalizadas para a sua organização.