Resposta rápida: Os ataques à cadeia de suprimentos do npm funcionam comprometendo uma conta de mantenedor confiável ou um CI/CD token, publicar uma versão maliciosa de um pacote em que os desenvolvedores já confiam e deixar que os scripts de instalação ou a lógica do worm desse pacote façam o resto. Entre agosto de 2025 e meados de 2026, esse padrão produziu a maior onda de ataques à cadeia de suprimentos de pacotes npm na história do registro, incluindo o sequestro do chalk/debug, o Verme Shai-Hulude malware estatal oculto em um pacote baixado 100 milhões de vezes por semana. A solução não é analisar o código depois que ele é baixado. É detectar pacotes maliciosos antes que sejam instalados e monitorar o pipeline para o comportamento exato que esses ataques compartilham.
Cada instalação é um ato de confiança, e os atacantes sabem disso.
Um desenvolvedor executa npm installPor trás desse único comando, existe uma árvore de dependências com centenas, às vezes milhares, de pacotes, a maioria deles escritos e mantidos por pessoas que o desenvolvedor jamais conhecerá. Ninguém revisa essa árvore linha por linha. Ninguém tem tempo para isso.
Essa confiança é o alvo. Para um atacante, é mais barato aplicar phishing em um mantenedor do npm com 2.6 bilhões de downloads semanais do que encontrar uma vulnerabilidade zero-day no firewall de uma empresa da Fortune 500. Os ataques à cadeia de suprimentos do npm exploram exatamente essa assimetria, e a onda de 2025-2026 mostra o quanto essa exploração se expandiu: de typosquatting isolado para vermes autopropagáveis que publicam seus próprios pacotes maliciosos mais rápido do que qualquer ser humano consegue reagir.
O que é considerado um ataque à cadeia de suprimentos do npm?
Um ataque à cadeia de suprimentos do npm é qualquer incidente em que um invasor insere código malicioso na distribuição do npm. pipeline em vez de se infiltrar no código-fonte do alvo, o malware chega disfarçado de atualização de dependência de rotina. O ponto de entrada geralmente é um destes três: credenciais roubadas de um mantenedor, uma publicação roubada ou CI/CD token, ou uma versão comprometida pipeline que é enganada para publicar em nome do atacante. Como os pacotes npm incluem dependências transitivas automaticamente, um único pacote comprometido pode atingir aplicações que nunca o declararam como dependência direta.
Cronologia: os maiores ataques à cadeia de suprimentos do npm em 2025-2026
O padrão por trás de cada ataque à cadeia de suprimentos de pacotes npm
Se deixarmos de lado os detalhes específicos, quase todos os incidentes acima seguem os mesmos quatro passos:
- Comprometa uma identidade, não um sistema. Um administrador vítima de phishing, um token npm vazado, um PAT do GitHub roubado ou um token OIDC obtido de CI/CD memória do executor. O atacante não invade o registro. Ele pega emprestada a chave de acesso de alguém.
- Publique sob um nome em que os desenvolvedores já confiam. Não é necessário usar typosquatting quando o nome real do pacote funciona. É isso que torna esses ataques tão eficazes contra atualizações automáticas. pipelines: a atualização parece completamente legítima.
- Execute o teste antes que alguém o analise. Scripts de instalação maliciosos, payloads ofuscados ou código latente que só se ativa sob condições específicas são executados no momento em que são iniciados. npm install O programa é executado, geralmente no laptop de um desenvolvedor, muito antes de uma verificação de segurança agendada sequer o detectar.
- Persistir e, cada vez mais, propagar. Shai-Hulud e seus descendentes usam as credenciais roubadas para publicar automaticamente o próximo pacote infectado, transformando uma única violação em uma reação em cadeia em toda a rede de dependências.
Por que as defesas usuais não funcionam?
A maioria das ferramentas de segurança de aplicativos foi criada para analisar o que já está no repositório: CVEs conhecidas, padrões de código estático, problemas de licença. Isso é necessário, mas estruturalmente chega tarde demais para essa classe de ataque. Quando um scanner detecta uma dependência, o script de instalação já pode ter sido executado na máquina do desenvolvedor. Os antivírus e EDR tradicionais monitoram o sistema operacional, não os registros de pacotes, portanto, não consideram uma "nova versão do npm" como uma unidade de risco. E, como mostram os incidentes da TanStack e da Red Hat, até mesmo atestados de integridade de compilação como SLSA provenance Não adianta quando o atacante capturou legitimamente a identidade que os assina: a assinatura é válida, mas o pacote continua sendo malicioso.
A brecha explorada por esses ataques à cadeia de suprimentos do npm reside especificamente no momento da publicação e da instalação, antes que exista uma assinatura para o malware e antes que o pacote seja executado em qualquer lugar onde um scanner tradicional o procuraria.
Como impedir o próximo ataque à cadeia de suprimentos do npm
Parte disso é disciplina de processo, algo que toda equipe de engenharia pode adotar hoje:
- Dependências de pinos e commit arquivos de bloqueioPortanto, uma atualização automática não pode instalar silenciosamente uma versão maliciosa recém-publicada.
- Desativar ou isolar scripts pós-instalação em um ambiente isolado (sandbox). Por padrão, a maioria dos pacotes não precisa executar código arbitrário durante a instalação.
- Impor autenticação multifator (MFA) com suporte de hardware para contas de publicação do npm., fechando o caminho exato de phishing que comprometeu a conta do Chalk, do Debug e do Qix.
- Ângulo de visão e rotação CI/CD tokens agressivamenteE trate os tokens OIDC na memória do executor como credenciais que valem a pena proteger, e não como um detalhe de implementação.
- Fique atento ao padrão de desbloqueio-injeção-bloqueio novamente. in CI/CD: uma regra de proteção de ramificação desativada, uma commit A regra foi reativada, tudo em um curto espaço de tempo. É uma característica recorrente de pipeline-compromisso da cadeia de suprimentos de nível.
Onde a disciplina de processo se esgota
A disciplina de processos reduz a exposição. Ela não detecta um pacote malicioso no momento em que é publicado, nem um worm que já está se propagando pela rede mais rápido do que um humano consegue triar. É para essa camada que a Segurança da Cadeia de Suprimentos da Xygeni foi criada.
Xygeni MEW (Alerta Antecipado de Malware) Analisa continuamente novos pacotes publicados no npm, PyPI e Maven, detectando malware antes mesmo da existência de uma assinatura, e enviando as ameaças confirmadas de volta para o sistema. Xygeni mecanismo de detecção próprio. O Firewall de dependência Analisa em tempo real o npm, PyPI, Maven, NuGet e RubyGems e bloqueia instalações maliciosas antes que elas cheguem à máquina do desenvolvedor ou a uma compilação. CI/CD detecção de anomalia relógios pipelineé possível identificar exatamente o padrão comportamental por trás de incidentes como a violação do TanStack, incluindo a sequência de desbloqueio-injeção-bloqueio novamente, com um registro de auditoria completo. E porque o Xygeni's Triagem e remediação com inteligência artificial Isso também se aplica às descobertas de scanners de terceiros; as equipes não precisam substituir as ferramentas existentes para preencher essa lacuna.
FAQ: ataques à cadeia de suprimentos do npm
O que é um ataque à cadeia de suprimentos do npm?
É um ataque em que um código malicioso atinge uma aplicação alvo por meio de uma dependência npm confiável, em vez de por meio do próprio código da aplicação alvo, geralmente porque um atacante comprometeu a conta de um mantenedor, um token de publicação ou um recurso. CI/CD pipelineidentidade de.
Qual foi o maior ataque à cadeia de suprimentos do npm?
Em termos de alcance, o sequestro do pacote chalk/debug em setembro de 2025 está entre os maiores: 18 pacotes, com um total de 2.6 bilhões de downloads semanais, foram comprometidos por meio de uma única conta de mantenedor alvo de phishing. Em termos de novidade técnica, o Shai-Hulud representou um ponto de virada mais significativo, sendo o primeiro worm autopropagável na história do npm.
Como geralmente começa um ataque à cadeia de suprimentos de pacotes npm?
Quase sempre com uma identidade roubada: um mantenedor vítima de phishing, um token de publicação vazado ou um token roubado. CI/CD credenciais como um token OIDC extraído da memória de um executor, em vez de uma invasão técnica ao próprio npm.
Um antivírus ou EDR consegue impedir um ataque à cadeia de suprimentos do npm?
Não de forma confiável. O EDR monitora o sistema operacional e não entende os registros de pacotes, e o antivírus é baseado em assinaturas, o que o torna ineficaz contra malware publicado antes da existência de qualquer assinatura. Impedir esse tipo de ataque exige monitoramento no ponto de publicação e instalação, não apenas no endpoint.
Será que SLSA provenance Ou será que a atestação de construção impede isso?
Isso prova que pipeline O próprio arquivo não foi adulterado durante a compilação. Isso não prova que a identidade que iniciou a compilação não foi comprometida, como demonstraram os incidentes da TanStack e da Red Hat com atestados válidos anexados a pacotes maliciosos.
Como uma equipe pode detectar um pacote npm malicioso antes que ele seja instalado?
Ao executar análises contínuas de malware antes da assinatura em pacotes recém-publicados, que é o que um sistema de alerta precoce de malware e um firewall de dependências são projetados para fazer, em vez de depender exclusivamente da verificação posterior de vulnerabilidades em código já presente em um repositório.
Por onde começar
Os ataques à cadeia de suprimentos do npm não estão diminuindo, e a tendência desde o caso Shai-Hulud aponta para mais automação, não menos. As equipes mais bem posicionadas para a próxima campanha são aquelas que pararam de tratar cada instalação do npm como um evento rotineiro e começaram a monitorar o registro, o pipelinee o ponto final como uma superfície de ataque conectada.
O plano Developer da Xygeni inclui cobertura para MEW e Dependency Firewall. Para até 25 repositórios, sem custo algum. É um bom lugar para ver o que já existe em uma árvore de dependências.





