Os mecanismos de defesa que o NPM implementou após os ataques de supply chain conhecidos como 'Shai-Hulud' apresentam vulnerabilidades que permitem agentes maliciosos contorná-los por meio de dependências Git.
Essas falhas, agrupadas sob o nome PackageGate, foram identificadas em diversas ferramentas do ecossistema JavaScript usadas para gerenciar dependências, como pnpm, vlt, Bun e NPM.
Pesquisadores da Koi, empresa especializada em segurança de endpoint e cadeia de suprimentos, descobriram os problemas e comunicaram os fornecedores.
Segundo eles, as falhas foram corrigidas em todas as ferramentas, exceto no NPM, cujo time afirmou, ao encerrar o relatório, que o comportamento estava “funcionando conforme esperado”.
O ataque self-spreading Shai-Hulud atingiu inicialmente o NPM em meados de setembro de 2025, comprometendo 187 pacotes.
Um mês depois, uma nova onda afetou 500 pacotes, expondo cerca de 400 mil segredos de desenvolvedores em mais de 30 mil repositórios GitHub gerados automaticamente.
Em resposta a esse ataque e a outros incidentes na cadeia de suprimentos, como "s1ngularity" e "GhostAction", o GitHub — que opera o NPM — anunciou planos para implementar medidas adicionais de segurança e recomendou algumas ações mitigatórias.
Entre elas estão a desativação dos lifecycle scripts durante a instalação (com a flag ‘--ignore-scripts=true’), além da ativação da verificação de integridade do lockfile e do pinning de dependências.
Os pesquisadores da Koi detectaram que, ao instalar uma dependência diretamente de um repositório Git, arquivos de configuração maliciosos, como um ‘.npmrc’, podem sobrescrever o caminho do binário do git, permitindo a execução completa de código mesmo com a flag ‘--ignore-scripts’ ativada.
“Temos evidências de que agentes maliciosos publicaram provas de conceito usando essa técnica para criar reverse shells no passado”, alertaram os pesquisadores, ressaltando que o problema não é apenas teórico.
Nos demais gerenciadores de pacotes JavaScript, o bypass da medida de segurança contra execução de scripts ocorre por outros meios e, nos casos do pnpm e vlt, também é possível contornar a verificação de integridade do lockfile.
O Bun corrigiu as vulnerabilidades na versão 1.3.5; o vlt liberou o patch poucos dias após o contato da Koi; e o pnpm lançou correções para duas falhas registradas como
CVE-2025-69263
e
CVE-2025-69264
.
A Koi Security submeteu seu relatório ao programa HackerOne do NPM, cuja cobertura inclui explicitamente a execução de scripts mesmo com a flag ‘--ignore-scripts’.
Ainda assim, o NPM rejeitou a submissão, alegando que é responsabilidade dos usuários verificar o conteúdo dos pacotes que instalam, e não respondeu às diversas tentativas de contato feitas pelos pesquisadores..
Um porta-voz afirmou que a empresa está trabalhando para resolver o problema, pois o NPM está escaneando ativamente o registro em busca de malware.
“A segurança do ecossistema NPM é um esforço coletivo.
Incentivamos fortemente que projetos adotem práticas de publicação confiáveis, tokens de acesso granulares e autenticação em duas etapas para fortalecer a cadeia de suprimentos de software”, declarou o porta-voz à reportagem.
Publicidade
Conheça a Solyd One, e tenha acesso a todos os cursos de segurança ofensiva da Solyd, todas as certificações práticas, incluindo a SYCP, 2 CTFs anuais com prêmios de até 30 mil reais, dezenas de laboratórios realísticos, suporte, comunidade e muito mais. Saiba mais...