Logo TecMundo
Segurança

Ciberataque em cadeia contra NPM rouba dinheiro e credenciais de usuários

Campanha coordenada espalhou mais de 34 pacotes maliciosos em três repositórios para roubar credenciais, chaves SSH e carteiras de desenvolvedores de criptomoedas e inteligência artificial.

Avatar do(a) autor(a): Cecilia Ferraz

schedule25/05/2026, às 19:30

Uma campanha coordenada de ataque à cadeia de distribuição de software comprometeu simultaneamente três dos principais repositórios de pacotes do mundo. A operação, batizada de TrapDoor, espalhou mais de 34 pacotes maliciosos em mais de 384 versões distribuídas no npm, no PyPI e no Crates.io ao longo do fim de semana de 22 de maio de 2026. A descoberta é dos pesquisadores da empresa de segurança Socket.

Os pacotes foram projetados para parecer ferramentas legítimas de desenvolvimento. Nomes como wallet-security-checker, eth-security-auditor e defi-risk-scanner sugerem utilitários de segurança, mas na prática instalam malware no computador do desenvolvedor assim que são baixados.

smart_display

Nossos vídeos em destaque

O que é um ataque de supply chain

Um ataque de cadeia de suprimentos de software acontece quando um criminoso insere código malicioso em pacotes que desenvolvedores usam no dia a dia. Basicamente, em vez de invadir um sistema diretamente, o atacante contamina uma ferramenta que o desenvolvedor já confia e instala por conta própria. É o terceiro caso registrado na última semana, quando noticiamos campanhas ligadas ao TeamPCP, chamadas Mini Shai-Hulud e Shai-Hulud.

trapdoor supply chain ataque.png
O repositório controlado pelo atacante continha o arquivo AUDIT-MATRIX.md, que descreve a arquitetura da campanha em duas fases: detecção de capacidades do ambiente da vítima e extração estratégica de credenciais, carteiras, tokens e dados de cloud. Imagem: Socket.

Neste caso mais recente, os pacotes fingiam ser auxiliares de projeto, ferramentas de auditoria de segurança e utilitários de ambiente de desenvolvimento. A estratégia funcionou porque os nomes escolhidos fazem sentido dentro do vocabulário de quem trabalha com criptomoedas, inteligência artificial ou contratos inteligentes.

O que o malware rouba

Assim que instalado, o código malicioso começa a vasculhar o computador da vítima. A lista do que o TrapDoor tenta coletar é extensa: 

  • chaves SSH;
  • carteiras das redes Sui;
  • Solana e Aptos, credenciais da AWS;
  • tokens do GitHub, dados de perfis de navegadores;
  • senhas salvas;
  • e variáveis de ambiente e chaves de API.

No caso dos pacotes npm, o malware roda um arquivo chamado trap-core.js, um script com mais de mil linhas que não só coleta as credenciais como também valida se elas ainda estão ativas, consultando as APIs da AWS e do GitHub. Isso permite que o atacante separe as credenciais úteis das que já expiraram.

trapdoor supply chain ataque (1).png
A mesma conta ddjidd564 infiltrou a comunidade do Gemini CLI promovendo pacotes npm maliciosos da campanha TrapDoor, entre eles env-security-scanner, wallet-security-checker e defi-env-auditor, apresentados como servidores MCP de segurança de código aberto. Imagem: Socket.

Como cada plataforma foi atacada de um jeito diferente

A campanha usou técnicas diferentes para cada ecossistema. No npm, os pacotes aproveitam os chamados hooks de pós-instalação: assim que o desenvolvedor instala o pacote, um script roda automaticamente em segundo plano, sem que ninguém perceba.

No PyPI, a abordagem é um pouco diferente. O malware entra em ação no momento em que a biblioteca é importada no código. Nesse ponto, ele baixa um payload JavaScript de um servidor externo controlado pelo atacante e o executa localmente. A vantagem para o criminoso é que ele pode atualizar o código malicioso sem precisar publicar uma nova versão do pacote.

Já no Crates.io, repositório de pacotes da linguagem Rust, os pacotes miraram desenvolvedores que trabalham com os projetos Sui e Move. Eles usam o arquivo build.rs, um script que o Rust executa automaticamente durante a compilação do código.

trapdoor supply chain ataque (2).png
O atacante usou a conta ddjidd564 para abrir issues em projetos de IA pedindo a instalação de pacotes maliciosos como env-security-scanner, disfarçados de ferramentas de auditoria de segurança com referência ao marcador P-2024-001 da campanha. Imagem: Socket.

Isso significa que o malware pode rodar antes mesmo de o desenvolvedor testar qualquer funcionalidade da biblioteca. Os dados coletados são criptografados e enviados para o GitHub Gists, um serviço legítimo de compartilhamento de código.

Instruções escondidas para enganar assistentes de IA

Um dos aspectos mais incomuns do TrapDoor é o uso de arquivos de configuração para manipular ferramentas de IA. Os pacotes criam arquivos como .cursorrules e CLAUDE.md dentro dos projetos das vítimas. Esses arquivos são usados por assistentes de programação baseados em inteligência artificial para entender as regras do projeto.

O que o atacante fez foi inserir instruções ocultas nesses arquivos usando caracteres Unicode invisíveis. O objetivo é fazer com que o assistente de IA, ao ler o projeto, execute uma suposta "auditoria de segurança" que na verdade coleta e envia informações sensíveis para o servidor do criminoso.

hacker-usando-celulares-e-notebook
Campanha TrapDoor distribuiu pacotes maliciosos em três repositórios simultâneos para roubar credenciais de desenvolvedores de criptomoedas e inteligência artificial.

Para ampliar o alcance dessa técnica, o mesmo responsável pela campanha abriu pull requests em repositórios populares de projetos de IA, como o LangChain, o LangFlow e o browser-use. Cada PR propunha adicionar um desses arquivos de configuração maliciosos ao projeto, disfarçado como documentação de boas práticas para desenvolvedores.

Como a Socket identificou a campanha

A Socket detectou os primeiros pacotes maliciosos em média 5 minutos e 56 segundos após a publicação. O pacote mais antigo registrado foi o eth-security-auditor, no PyPI, publicado às 20h20 UTC do dia 22 de maio.

A conexão entre os três ecossistemas só ficou clara durante a análise dos pacotes no Crates.io, quando a infraestrutura e o comportamento dos scripts mostraram sobreposição com os pacotes do npm e do PyPI. Todos os pacotes identificados foram classificados como maliciosos e reportados aos repositórios afetados.

Acompanhe o TecMundo nas redes sociais. Inscreva-se em nossa newsletter e canal do YouTube.

star

Continue por aqui