Uma nova campanha coordenada de ataque à cadeia de suprimentos de software, com alcance entre diferentes ecossistemas, atingiu npm, PyPI e Crates.io para distribuir malware voltado ao roubo de credenciais.
Batizada de TrapDoor, a operação envolve mais de 34 pacotes maliciosos e supera 384 versões.
A atividade inicial foi registrada em 22 de maio de 2026, às 20h20, no horário UTC, com novos pacotes sendo publicados em ondas a partir de um cluster de contas em rápida sequência.
“TrapDoor mira desenvolvedores das comunidades de cripto, DeFi, Solana e IA”, afirmou a Socket.
“Os pacotes maliciosos foram projetados para roubar segredos de desenvolvedores, carteiras de criptomoedas, chaves SSH, credenciais de cloud, dados do navegador e variáveis de ambiente.”
“Vários pacotes npm também implantam um payload compartilhado, trap-core.js, que procura credenciais, valida tokens da AWS e do GitHub, tenta movimentação lateral via SSH e estabelece persistência por meio de .cursorrules, CLAUDE.md, Git hooks, shell hooks, systemd, cron e SSH.”
Vale destacar que essa atividade não tem relação com outra campanha de mesmo nome detalhada na semana passada pela equipe Satori Threat Intelligence and Research, da HUMAN, que estava envolvida em fraude publicitária ao distribuir 455 apps Android pela Google Play Store.
A seguir, a lista dos pacotes identificados.
Crates.io
move-analyzer-build
move-compiler-tools
move-project-builder
sui-framework-helpers
sui-move-build-helper
sui-sdk-build-utils
npm
async-pipeline-builder
build-scripts-utils
chain-key-validator
crypto-credential-scanner
defi-env-auditor
defi-threat-scanner
deployment-key-auditor
dev-env-bootstrapper
eth-wallet-sentinel
llm-context-compressor
mnemonic-safety-check
model-switch-router
node-setup-helpers
project-init-tools
prompt-engineering-toolkit
solidity-deploy-guard
token-usage-tracker
wallet-backup-verifier
wallet-security-checker
web3-secrets-detector
workspace-config-loader
PyPI
cryptowallet-safety
data-pipeline-check
defi-risk-scanner
env-loader-cli
eth-security-auditor
git-config-sync
solidity-build-guard
A operação chama atenção pela diversidade de vetores de entrega.
Ela usa hooks de postinstall, payloads remotos em JavaScript executados durante a importação de pacotes e scripts maliciosos build.rs para atingir desenvolvedores de Sui e Move.
Os pacotes se apresentam como ferramentas aparentemente inofensivas, o que amplia o alcance dos atacantes.
No caso dos pacotes npm, foi identificado o uso de um payload em JavaScript, trap-core.js, que faz varredura em busca de credenciais e segredos de desenvolvedores, valida credenciais roubadas por meio de chamadas às APIs da AWS e do GitHub e cria persistência no sistema com tarefas cron, serviços systemd, Git hooks e movimentação pela rede via SSH.
Os crates Rust seguem lógica semelhante.
Eles procuram keystores locais, criptografam os dados com uma chave XOR hardcoded e exfiltram as informações para GitHub Gists.
Os pacotes também se destacam pelo uso do script de build, build.rs, para disparar a execução do código malicioso.
Já os pacotes Python ligados ao TrapDoor foram projetados para execução automática no momento da importação.
O objetivo principal é baixar JavaScript de um domínio GitHub Pages controlado pelo atacante, ddjidd564.github[.]io, e executá-lo com node -e.
“Essa técnica permite que o pacote Python delegue a execução a um payload remoto em JavaScript, dando ao atacante mais flexibilidade após a publicação”, explicou a Socket.
“Ao hospedar o payload externamente, o atacante pode alterar o comportamento sem publicar uma nova versão no PyPI.”
Um aspecto incomum da campanha é a inserção de arquivos .cursorrules e CLAUDE.md com instruções ocultas para enganar assistentes de inteligência artificial, levando-os a executar uma “varredura de segurança” que resulta na descoberta e exfiltração de segredos.
Isso foi feito por meio da abertura de pull requests em projetos populares de IA e desenvolvimento, incluindo browser-use/browser-use, langchain-ai/langchain e langflow-ai/langflow.
A atividade com pull requests indica que o TrapDoor vai além da simples publicação de pacotes maliciosos em ecossistemas de código aberto.
Segundo a Socket, é provável que o threat actor esteja testando se arquivos relacionados a IA podem ser introduzidos por fluxos normais de contribuição open source, fazendo com que ferramentas de programação baseadas em IA processem essas instruções ocultas e as executem.
Os achados mostram, mais uma vez, como threat actors estão mirando cada vez mais os fluxos de trabalho de desenvolvedores, com o objetivo de roubar uma ampla gama de informações que pode abrir caminho para invasões mais profundas e ataques subsequentes em ambientes-alvo.
“O TrapDoor mostra como atacantes estão combinando typosquatting tradicional de pacotes com novas rotas de ataque ao ambiente de desenvolvimento”, disse a Socket.
“Os nomes dos pacotes foram escolhidos para parecer relevantes a desenvolvimento em cripto, ferramentas de IA, configuração de ambiente local e fluxos de trabalho de segurança.
O malware então usa caminhos de execução específicos de cada ecossistema: build.rs no Rust, hooks de postinstall no npm e execução no momento da importação em Python.”
Publicidade
Conheça a Solyd One, e tenha acesso a todos os cursos de segurança ofensiva da Solyd, todas as certificações práticas, incluindo a SYCP, 2 CTFs anuais com prêmios de até 30 mil reais, dezenas de laboratórios realísticos, suporte, comunidade e muito mais. Saiba mais...