Ataque ao npm adultera pacotes como chalk e debug para trocar endereços de carteira: o que aconteceu e como se proteger
Em 8 de setembro de 2025, 18 pacotes do npm foram contaminados com código que reescreve o destino de transferências em cripto. Os criminosos ganharam pouco, segundo os primeiros relatos, mas o ataque mostra por que o endereço deve ser conferido fora da tela do site.
Referência histórica: 16 de setembro de 2025. Publicado neste site em 2 de novembro de 2026. As datas no texto identificam o período retratado.

Neste artigo
Em resumo
- Em 8 de setembro de 2025, um mantenedor do npm caiu em phishing e 18 pacotes populares, entre eles chalk e debug, receberam código malicioso; somados, passam de 2 bilhões de downloads por semana.
- O código roda no navegador, intercepta fetch, XMLHttpRequest e carteiras como a window.ethereum e troca endereços de Ethereum, Bitcoin, Solana, TRON, Litecoin e Bitcoin Cash por endereços do atacante.
- As versões ficaram no ar por cerca de duas horas e, segundo os primeiros relatos, renderam pouco aos criminosos. O método, porém, serve de modelo para golpes mais bem-sucedidos.
- A defesa prática é conferir o endereço de destino no dispositivo da carteira e por um segundo canal, e fazer um teste com valor pequeno.
São Paulo, 16 de setembro de 2025 — Na segunda-feira, 8 de setembro, desenvolvedores de todo o mundo receberam um alerta: versões novas de pacotes tão básicos que quase todo projeto JavaScript os usa, como chalk e debug, tinham sido publicadas com código malicioso. O objetivo não era roubar senhas nem derrubar servidores. Era mais simples e mais perigoso para quem lida com cripto: trocar, no navegador, o endereço de carteira para onde o usuário pretendia enviar dinheiro.
- Pacotes do mantenedor comprometidos, segundo a Aikido Security; com outros projetos, a Wiz listava 24 em 9/9
- 18
- Downloads semanais somados dos pacotes afetados
- 2 bi+
- Tempo em que as versões maliciosas ficaram disponíveis, segundo a Wiz
- ~2 h
- Redes cujos endereços o código tentava trocar: Ethereum, Bitcoin, Solana, TRON, Litecoin e Bitcoin Cash
- 6
O que aconteceu
O npm é o repositório público de pacotes JavaScript. Projetos de sites e aplicativos puxam de lá bibliotecas prontas e, com elas, as bibliotecas das quais essas dependem. Isso cria uma cadeia de suprimentos: quem invade uma peça pequena e popular chega a milhares de programas sem tocar neles.
O mantenedor Josh Junon, conhecido como Qix, recebeu um e-mail de phishing que imitava o suporte do npm, enviado de um domínio parecido (npmjs.help) registrado três dias antes, em 5 de setembro. Ao seguir o link e informar credenciais e o código de autenticação em duas etapas, entregou o controle da conta. Os atacantes publicaram versões novas de 18 pacotes, entre eles chalk 5.6.1, debug 4.4.2, ansi-styles, strip-ansi e color-convert. A empresa de segurança Aikido sinalizou as versões às 13h16 UTC (10h16 em Brasília), e o mantenedor confirmou a invasão cerca de duas horas depois. No dia seguinte, a JFrog e a Wiz relataram que a mesma campanha também tinha atingido pacotes do DuckDB, de outro projeto.
- 05/09/2025Registro do domínio de phishing que imita o suporte do npm.
- 08/09, cerca de 13h UTCA conta do mantenedor é tomada e versões maliciosas dos pacotes são publicadas.
- 08/09, 13h16 UTCA Aikido sinaliza as versões adulteradas.
- 08/09, 15h15 UTCO mantenedor confirma a invasão e começa a limpeza; as versões ficaram disponíveis por cerca de duas horas, segundo a Wiz.
- 09/09/2025JFrog e Wiz relatam que a campanha também atingiu pacotes do DuckDB; empresas de segurança publicam listas de indicadores.
Como o código trocava os endereços
O código só agia em navegadores, quando uma página que usava os pacotes estava aberta. Ele se encaixava em funções que o site usa para conversar com a rede e com a carteira, e alterava os dados no meio do caminho.
A semelhança é o ponto central. Quem confere só o começo e o fim do endereço pode ser enganado por um endereço escolhido justamente por ter início e fim parecidos. É a mesma lógica do envenenamento de endereço, mas aplicada dentro do software, e não no histórico da carteira.
Quanto os criminosos levaram
Pouco, segundo os primeiros relatos. A Wiz, citando relatos de pesquisadores nas redes sociais, descreveu o ganho como “mínimo”, e não há um valor consolidado por fonte primária. Dois fatores ajudam a explicar: as versões ficaram no ar por cerca de duas horas, e o código afetava só páginas de aplicações que atualizaram a dependência e foram publicadas nesse intervalo, muitas delas sem nenhum fluxo de pagamento em cripto.
O alcance técnico foi enorme. Se uma empresa tivesse publicado sua página de pagamento com uma versão contaminada, a ordem teria sido desviada sem aviso na tela. O ataque foi um ensaio de escala, não um fracasso do método.
Como se proteger quando se paga em cripto
Para quem desenvolve, as regras são: fixar versões com arquivo de bloqueio (package-lock.json), instalar com npm ci, esperar alguns dias antes de adotar versões recém-publicadas e proteger contas de publicação com chaves de segurança físicas, que não se entregam num site falso como um código digitado. Para quem apenas paga, o princípio é outro: a tela do computador não é prova do endereço. Foi a mesma lição do ataque à Bybit, em que a tela mostrava o destino certo e a assinatura autorizava outro.
- Confira o endereço no dispositivo da carteira (carteira de hardware ou aplicativo do celular), não no site ou na extensão do navegador.
- Compare o endereço inteiro, caractere a caractere, com o que o fornecedor informou por um canal fora do computador, como uma ligação para um telefone já conhecido.
- Na rede TRON, o endereço TRC-20 começa com T e tem 34 caracteres; veja como lê-lo em o que é a rede TRON.
A conferência fora do computador vale porque quebra a dependência da mesma máquina. Um navegador adulterado pode mostrar um endereço trocado igualmente no site, no e-mail aberto no webmail e na tela de confirmação, mas não altera a mensagem enviada por telefone nem o que aparece no dispositivo da carteira. O envio de teste, a lista de carteiras aprovadas e a dupla aprovação completam a rotina e estão no guia contra o envenenamento de endereço.
O que o episódio mostra
O caso reforça um padrão visto em 2025: o elo mais fraco costuma ser uma pessoa ou uma credencial, e não a criptografia. Um e-mail convincente a uma única pessoa bastou para atingir bibliotecas presentes em incontáveis projetos. A resposta passou por mantenedores, empresas de segurança e o próprio npm, e as versões saíram do ar em cerca de duas horas, mas a conferência final do destino continua sendo responsabilidade de quem envia o dinheiro.
Perguntas frequentes
O que foi o ataque ao npm de setembro de 2025?
Em 8 de setembro de 2025, um mantenedor foi vítima de phishing e 18 pacotes populares, como chalk e debug, receberam versões maliciosas. O código atuava no navegador e trocava endereços de carteira em transações de cripto. As versões ficaram disponíveis por cerca de duas horas.
Quanto dinheiro foi roubado no ataque?
Pouco, segundo os primeiros relatos: a Wiz, citando pesquisadores, descreveu o ganho como “mínimo”, e não há valor consolidado. O alcance técnico, porém, foi enorme: os pacotes somam mais de 2 bilhões de downloads semanais.
Como saber se o endereço de pagamento foi trocado?
Confira o endereço completo no dispositivo da carteira, não só na tela do computador, e compare com o que o fornecedor passou por outro canal, como telefone. Uma transação de teste com valor pequeno também reduz o risco.
Os endereços TRON foram afetados?
O código procurava endereços de seis redes, incluindo TRON, mas a transação adulterada por completo (destinatário e autorização) aparece descrita para Ethereum e Solana. Em qualquer rede, a conferência do endereço por um segundo canal continua sendo a defesa.
Achou útil? Compartilhe com quem paga fornecedor no exterior.
Fontes
- npm debug and chalk packages compromised · Aikido Security, 08/09/2025
- Widespread npm supply chain attack: breaking down impact and scope across debug, chalk and more · Wiz, 09/09/2025
- Ataque a pacotes com 2 bilhões de downloads semanais abala ecossistema npm · Canaltech, 12/09/2025
Conteúdo informativo, sem recomendação de investimento. Marcas de terceiros citadas pertencem aos respectivos titulares; a menção é jornalística e não indica parceria ou vínculo com a Swapo Finance.
Pagamento internacional com a velocidade do Pix e regra do Banco Central.
Converta real em USDT e envie ao fornecedor na rede TRON. Tarifa única exibida antes, política de segregação patrimonial, atendimento humano. Ativo virtual sem cobertura do FGC; pedido de autorização protocolado no BCB.



