Envio de registos, alertas e telemetria através de um diodo de dados

Descubra como
Utilizamos inteligência artificial para as traduções dos sítios e, embora nos esforcemos por garantir a exatidão, estas podem nem sempre ser 100% precisas. Agradecemos a sua compreensão.

O recente hack da ESLint eleva as preocupações comSupply Chain Software para o próximo nível

Por Vinh Lam, Gestor Técnico Sénior do Programa
Última atualização:
Partilhar esta publicação

Em 18 de julho de 2025, uma biblioteca JavaScript confiável com mais de 31 milhões de downloads semanais, eslint-config-prettierfoi 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/coree napi-postinstall

    Captura de ecrã de código que mostra alterações suspeitas de scripts e ficheiros relacionadas com um ataque à cadeia de fornecimento de software num resumo de ataque

    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

    Código malicioso destacado em JavaScript que mostra uma chamada require ofuscada, ilustrando um ataque à cadeia de fornecimento de software

    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.exee 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.
    Painel de controlo OPSWAT que mostra os riscos de ataque à cadeia de fornecimento de software, vulnerabilidades e deteção de ameaças para pacotes npm
    A tecnologia OPSWAT SBOM detecta o CVE-2025-54313 no eslint-config-prettier v10.1.7
    Painel de controlo OPSWAT que mostra as ameaças detectadas no Node gyp.dll, salientando os riscos de ataque à cadeia de fornecimento de software
    O node-gyp.dll foi detectado pela tecnologia OPSWAT Metascan

    O vetor de ataque começou com o e-mail, e é aí que MetaDefender Email Security ™ entra em cena.

    • 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.
    Comparação de dois e-mails npm que destacam URLs suspeitos para ilustrar um risco de ataque à cadeia de fornecimento de software
    Um exemplo sobre o «e-mail original» versus «a utilização da tecnologia ESG + Deep CDR™»

    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 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.

    Mantenha-se atualizado com OPSWAT!

    Inscreva-se hoje para receber as últimas actualizações da empresa, histórias, informações sobre eventos e muito mais.