📸 Créditos da imagem: reprodução / Tecmundo
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. O que é um ataque de supply chainUm 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. 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 roubaAssim 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. Como cada plataforma foi atacada de um jeito diferenteA 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. 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 IAUm 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. 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 campanhaA 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.
📰 Leia a notícia completa em: Tecmundo »