TrapDoor: a campanha que converte seu ambiente de desenvolvimento em uma porta traseira para roubar credenciais

Autor: Publicada 5 min de lectura 192 leituras

As imagens deste artigo foram geradas com inteligência artificial. Como publicamos

Um novo operacional coordenado que os pesquisadores têm batizado como TrapDoor explorou os três grandes repositórios de pacotes (npm, PyPI e Crates.io) para distribuir malware cujo objetivo principal é roubar credenciais e segredos de desenvolvedores. Segundo as análises, a campanha abrange mais de 34 pacotes maliciosos em mais de 384 versões, com a primeira atividade registrada em 22 de maio de 2026 às 20:20 UTC; as publicações foram realizadas em ondas desde um conjunto de contas que atuaram em rápida sucessão. Os atacantes têm orientado especificamente para comunidades relacionadas com criptografia, DeFi, Solana e ferramentas de IA, aproveitando que os desenvolvedores desses ecossistemas incorporam dependências aparentemente inocuas em seus ambientes de desenvolvimento e implantação.

A técnica de entrega mostra uma adaptação multipropósito a cada ecossistema: em npm foram usados ganchos postinstall e cargas remotas de JavaScript que se executam ao importar um pacote; em Rust abusou-se de programas de construção (build.rs) para executar o código durante a compilação; e em Python as cargas foram desenhadas para a compilação. auto-executar no momento do import. Em uma parte do ataque, os pacotes descarregam JavaScript de um domínio controlado pelo atacante e executam-no comnode -e, permitindo que o ator mude comportamento sem publicar novas versões nos repositórios.

TrapDoor: a campanha que converte seu ambiente de desenvolvimento em uma porta traseira para roubar credenciais
Imagem gerada com IA.

O malware implementado não se limita a roubar senhas locais: digitaliza por chaves SSH, wallets de criptomoeda, variáveis de ambiente, dados de navegador e arquivos de configuração, valida credenciais contra APIs da AWS e do GitHub e tenta estabelecer persistência por cron, systemd, hooks de Git e outros mecanismos. Em Rust, foi relatada exfiltração cifrada para Gists do GitHub após encriptar artefatos com um XOR hardcodeado. Além disso, a campanha inclui uma tática chamada: arquivos como.cursorruleseCLAUDE.mdcom instruções ocultas que tentam induzir assistentes de IA a executar “escaneos” que revelem segredos; os atacantes também estavam criando pull requests em projetos populares de IA para propagar essas instruções e ver se os fluxos normais de contribuição provocam que ferramentas automáticas processam código ou instruções perigosas.

Estas variantes mostram que os atacantes combinam a clássica suplantação por nome de pacote com vetores modernos direcionados ao fluxo de trabalho do desenvolvedor. As consequências potenciais são graves: desde o roubo direto de fundos em wallets e a tomada de controle parcial de infraestrutura nuvem até a escalada lateral dentro de ambientes corporativos através de chaves e tokens válidos. Além disso, o uso de cargas externas e a capacidade de modificar o comportamento sem publicar novas versões aumentam a janela de exploração e complicam as mitigações baseadas apenas em auditorias de pacotes publicadas.

Diante deste tipo de campanhas, há medidas práticas e urgentes que toda equipe e desenvolvedor deve considerar. Primeiro, tratar as máquinas de desenvolvimento como activos críticos: utilizar ambientes efêmeros ou contentores isolados para testes de dependências, restringir o acesso a credenciais locais e segmentar a rede para minimizar egress não autorizado. Em instalações automatizadas de pacotes no CI/CD, desativar a execução de programas de pacote quando possível (por exemplo, evitando lifecycle scripts no npm) e empregar instalações reprodutíveis e bloqueadas através de lockfiles verificáveis. Auditar explicitamente os programas de build em projectos Rust (build.rs) e o código de importação em pacotes Python antes de confiar neles em ambientes sensíveis.

As plataformas e equipamentos de segurança devem instrumentar detecção e resposta: monitorar a criação de unidades systemd, mudanças em cron e hooks de Git, digitalizar endpoints com ferramentas EDR, revisar logs de autenticação para tentativas de validação de tokens (AWS, GitHub) e procurar exfiltrações incomuns para Gists ou outros serviços públicos. Se se suspeitar de compromisso, a resposta imediata deve incluir a revogação e rotação de chaves e tokens potencialmente expostos, análise forense de estações de trabalho afetadas e reconstrução de imagens limpas. Implementar controle de privilégios mínimos para tokens e chaves, e auditar as políticas de IAM na nuvem reduzirá o impacto se umas credenciais forem comprometidas.

TrapDoor: a campanha que converte seu ambiente de desenvolvimento em uma porta traseira para roubar credenciais
Imagem gerada com IA.

No plano preventivo, é essencial integrar a análise da cadeia de fornecimento no ciclo de vida do software: gerar e verificar SBOMs, usar ferramentas de Software Composition Analysis (SCA) que alertem sobre pacotes novos ou com nomes suspeitos, estabelecer listas brancas de pacotes aprovados em ambientes críticos e empregar digitalização automática de repositórios para detectar segredos acidentalmente comprometidos. Também é importante educar os desenvolvedores sobre riscos como a execução de código remoto mediantenode -eou programas de instalação, e sobre o perigo de aceitar ou executar recomendações de assistentes de IA sem revisão humana, dado o uso emergente da engenharia de prompt maligno neste ataque. Para orientações práticas de segurança da cadeia de abastecimento e melhores práticas em plataformas de desenvolvimento, consultar a documentação e guias da indústria, por exemplo, na página do GitHub sobre segurança da cadeia de fornecimento https://docs.github.com/en/code-security/supply-chain-security e a explicação de programas de ciclo de vida em npm https://docs.npmjs.com/cli/v9/using-npm/scripts, assim como os recursos de agências de segurança para fortalecer a resiliência do software supply chain https://www.cisa.gov/supply-chain.

Para os encarregados dos repositórios, este episódio sublinha a necessidade de melhorar os controlos de publicação, detecção de contas fraudulentas e análise de comportamentos posteriores à publicação. Os responsáveis por projetos open source devem rever contribuições que introduzem arquivos atípicos ou instruções direcionadas a assistentes automáticos e tratar mudanças em permissões e scripts de construção com especial cautela. Finalmente, os desenvolvedores e equipamentos de segurança não devem confundir campanhas com nomes similares: TrapDoor neste caso não guarda relação com outra operação homônima que distribuiu apps fraudulentas em lojas móveis na semana anterior, o que mostra como diferentes atores e campanhas podem se sobrepor em nome mas diferir em objetivos e técnicas.

Em suma, TrapDoor é um lembrete de que a superfície de ataque foi deslocada para o ambiente do desenvolvedor e a cadeia de ferramentas. A defesa exige uma combinação de controles técnicos, práticas operacionais e consciência humana: auditar dependências e scripts, limitar privilégios, isolar ambientes de desenvolvimento e revisar qualquer código sugerido por assistentes automáticos antes de executá-lo em máquinas com acesso a segredos.

Cobertura

Relacionadas

Mas notícias do mesmo assunto.