O ataque à cadeia de suprimentos TrapDoor, abrangendo npm, PyPI e Crates.io, rouba chaves de carteiras cripto e envenena assistentes de codificação de IA com instruções ocultas em Unicode.

Marcus Webb
Líder de Pesquisa DeFi

Um ataque coordenado à cadeia de suprimentos chamado TrapDoor comprometeu 34 pacotes no npm, PyPI e Crates.io, com foco específico em desenvolvedores de cripto. O malware rouba chaves privadas de carteira, credenciais SSH e tokens AWS, e introduz um novo vetor de ataque que envenena assistentes de codificação de IA por meio de caracteres Unicode invisíveis.
On May 24, 2026, security researchers at Socket disclosed a coordinated supply chain campaign spanning three major package registries. The earliest malicious package had appeared two days earlier, on May 22. Dubbed TrapDoor, the attack distributed 34 malicious packages across more than 384 versions, all designed to harvest credentials from crypto, DeFi, and AI developers.
This is not the first supply chain attack to target crypto. The event-stream incident in 2018 compromised Copay Bitcoin wallets, and the ua-parser-js hijack in 2021 deployed cryptominers on millions of machines. But TrapDoor represents an evolution: it is the first major cross-ecosystem campaign to weaponize AI coding assistants as an attack vector.
O ataque utiliza caminhos de execução específicos de cada ecossistema que disparam durante fluxos de trabalho rotineiros de desenvolvedor.
Pacotes npm usam hooks postinstall que são executados automaticamente durante npm install. O payload compartilhado, um arquivo de 1.149 linhas chamado trap-core.js, escaneia o sistema de arquivos local em busca de chaves SSH, credenciais AWS, tokens do GitHub, dados do navegador e dados de extensões de carteiras cripto de MetaMask, Phantom e outras carteiras. Ao contrário de ladrões de credenciais típicos, o TrapDoor valida as credenciais coletadas contra APIs ao vivo antes de exfiltrá-las, melhorando a relação sinal-ruído do atacante.
Pacotes PyPI executam na importação, baixando um payload JavaScript de um domínio do GitHub Pages controlado pelo atacante. Esta técnica cross-language permite ao atacante atualizar o payload remotamente sem republicar o pacote Python.
Pacotes Crates.io incorporam scripts build.rs maliciosos que disparam durante cargo build, visando especificamente keystores de desenvolvedores Sui e Move. Os dados roubados são criptografados com uma chave XOR incorporada e exfiltrados para GitHub Gists.
Se você instalou algum pacote da lista abaixo, rotacione todas as credenciais imediatamente e mova os fundos cripto para uma nova carteira. Chaves comprometidas podem ser exploradas mesmo depois que o pacote malicioso for removido.
Os pacotes se passam por utilitários legítimos para desenvolvedores. Nomes como solidity-deploy-guard, defi-threat-scanner e wallet-security-checker foram criados para atrair diretamente desenvolvedores de cripto preocupados com segurança.
npm (21 packages): 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 (7 packages): cryptowallet-safety, data-pipeline-check, defi-risk-scanner, env-loader-cli, eth-security-auditor, git-config-sync, solidity-build-guard
Crates.io (6 packages): move-analyzer-build, move-compiler-tools, move-project-builder, sui-framework-helpers, sui-move-build-helper, sui-sdk-build-utils
O que torna o TrapDoor sem precedentes é seu foco em assistentes de codificação de IA. O malware planta arquivos .cursorrules e CLAUDE.md em diretórios de projeto - arquivos de configuração padrão que ferramentas como Claude Code e Cursor leem como contexto do projeto.
Ocultas dentro desses arquivos estão instruções codificadas usando caracteres Unicode de largura zero (U+200B, U+200C, U+200D, U+FEFF). Esses caracteres são invisíveis em editores de texto, IDEs e até na interface de revisão de código do GitHub. Um desenvolvedor que revisa o arquivo vê apenas documentação normal do projeto.
As instruções ocultas orientam o assistente de IA a executar um "scan de segurança obrigatório" sempre que o desenvolvedor pedir ajuda com código. Esse "scan" é, na verdade, um pipeline de extração de credenciais que envia variáveis de ambiente, chaves SSH e dados de carteira para a infraestrutura do atacante.
Os atacantes também submeteram pull requests para projetos open source de IA de grande porte, incluindo browser-use/browser-use, langchain-ai/langchain, langflow-ai/langflow, run-llama/llama_index, FoundationAgents/MetaGPT, e OpenHands/OpenHands. Cada PR trazia títulos benignos como "docs: add .cursorrules with dev standards" enquanto incorporava o marcador da campanha P-2024-001. Se mesclados, todos os desenvolvedores que abrissem esses repositórios com uma ferramenta de codificação de IA se tornariam alvos.
Isto representa uma mudança de paradigma. Ataques anteriores à cadeia de suprimentos miravam o pipeline de execução de código. TrapDoor mira a camada de interação humano-IA, uma superfície de ataque que ferramentas tradicionais de varredura de dependências não conseguem detectar.
Além do furto inicial de credenciais, o TrapDoor estabelece sete mecanismos de persistência em máquinas comprometidas:
.cursorrules e CLAUDE.md envenenados.bashrc, .zshrc)authorized_keys do SSHA capacidade de movimento lateral é particularmente preocupante. Uma única máquina de desenvolvedor comprometida pode se propagar para infraestrutura de CI/CD, servidores de implantação e estações de trabalho de colegas por meio de chaves SSH reutilizadas.
As implicações para a segurança de protocolos DeFi vão muito além de desenvolvedores individuais. Uma máquina de desenvolvedor comprometida fornece acesso a chaves privadas de deployer, chaves multisig de admin, segredos de pipeline CI/CD, chaves de validadores de bridge e chaves de assinatura de oráculos.
Incidentes recentes validam esse modelo de ameaça. O exploit da Resolv em março de 2026 (US$ 23 milhões perdidos) decorreu de falha em infraestrutura off-chain, não de bugs em smart contracts. O incidente da Drift em abril de 2026 (US$ 285 milhões) combinou engenharia social com acesso administrativo legítimo. Esses ataques começaram fora da blockchain, exatamente onde o TrapDoor opera.
Pesquisadores de segurança estimam que um comprometimento ao estilo TrapDoor que alcance chaves de deployer em um protocolo DeFi de médio a grande porte poderia resultar em perdas de US$ 100 milhões a US$ 300 milhões.
A Socket detectou o TrapDoor com um tempo médio de detecção de 5 minutos e 27 segundos, com a captura mais rápida em apenas 58 segundos após a publicação. O atacante operou a partir da conta GitHub ddjidd564 e da conta npm asdxzxc, usando um domínio do GitHub Pages para hospedar o payload.
Ferramentas padrão como npm audit, pip audit e cargo audit não conseguem detectar o vetor de envenenamento de IA. As "instruções" maliciosas são linguagem natural escondida em Unicode, não código executável no sentido convencional.
Audite dependências. Procure em seu package.json, requirements.txt e Cargo.toml por qualquer um dos 34 pacotes listados.
Rotacione todas as credenciais de qualquer máquina potencialmente afetada: chaves SSH, chaves de acesso AWS, tokens do GitHub e chaves privadas de carteiras. Transfira fundos cripto para uma carteira nova imediatamente se as chaves foram armazenadas na máquina.
Verifique persistência. Inspecione arquivos .cursorrules e CLAUDE.md em busca de caracteres Unicode de largura zero usando cat -v ou um editor hexadecimal. Revise hooks Git em .git/hooks/, jobs do cron, serviços systemd e perfis de shell em busca de adições suspeitas.
Desabilite a execução automática de scripts em CI/CD: use npm ci --ignore-scripts e pip install --no-build-isolation.
Implemente ferramentas de varredura de dependências que realizem análise comportamental, não apenas correspondência de CVE. Versione arquivos .cursorrules e CLAUDE.md para que mudanças apareçam em diffs. Adicione hooks pre-commit que verifiquem caracteres Unicode de largura zero em arquivos de configuração. Use carteiras de hardware para todas as chaves de deploy e imponha multisig para funções administrativas.
O TrapDoor marca um ponto de inflexão na segurança da cadeia de suprimentos. O ataque event-stream mirou um pacote em um único ecossistema. O TrapDoor coordena-se simultaneamente em três ecossistemas, valida credenciais antes da exfiltração, estabelece múltiplos mecanismos de persistência, move-se lateralmente por redes e envenena assistentes de codificação de IA - ferramentas que estão se tornando rapidamente padrão no fluxo de trabalho de todo desenvolvedor.
À medida que assistentes de IA se integram mais profundamente aos processos de desenvolvimento, a superfície de ataque que eles criam só tende a crescer. O truque do Unicode invisível funciona porque as ferramentas de IA processam o conteúdo textual completo dos arquivos de configuração. Até que frameworks de assistentes de IA implementem sanitização de conteúdo para caracteres ocultos, esse vetor permanecerá aberto.
Para desenvolvedores de cripto, a mensagem é clara: seu ambiente de desenvolvimento é agora uma superfície de ataque primária. Tratem a segurança da máquina de desenvolvedor com o mesmo rigor das auditorias de smart contracts.
Aviso Legal: Este artigo tem fim apenas informativo e não constitui aconselhamento financeiro. Investimentos em criptomoedas envolvem riscos significativos. Sempre faça sua própria pesquisa e consulte um consultor financeiro qualificado antes de tomar decisões de investimento.
Análise de mercado e insights acionáveis. Sem spam, nunca.