{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreif6lcvoku6c2gzgoziadztz6ft6wl4q5estwzj3jtqozvfyds2zza",
    "uri": "at://did:plc:ulfbtqn2ybcgbzf27z75qrvu/app.bsky.feed.post/3mmppipbpxaf2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreiafj6tyqcjte3b6gh3gd6mqhcbmybhkxha5dsbdbdzvj33lyupwqy"
    },
    "mimeType": "image/jpeg",
    "size": 173811
  },
  "path": "/seguranca/413395-ciberataque-em-cadeia-contra-npm-rouba-dinheiro-e-credenciais-de-usuarios.htm",
  "publishedAt": "2026-05-25T22:30:00.000Z",
  "site": "https://www.tecmundo.com.br",
  "tags": [
    "Segurança",
    "Mini Shai-Hulud",
    "Shai-Hulud.",
    "nossa newsletter",
    "canal do YouTube."
  ],
  "textContent": "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.\n\nOs 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.\n\n## O que é um ataque de supply chain\n\nUm 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.\n\nO 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.\n\nNeste 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.\n\n## O que o malware rouba\n\nAssim que instalado, o código malicioso começa a vasculhar o computador da vítima. A lista do que o TrapDoor tenta coletar é extensa:\n\n  * chaves SSH;\n  * carteiras das redes Sui;\n  * Solana e Aptos, credenciais da AWS;\n  * tokens do GitHub, dados de perfis de navegadores;\n  * senhas salvas;\n  * e variáveis de ambiente e chaves de API.\n\n\n\nNo 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.\n\nA 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.\n\n## Como cada plataforma foi atacada de um jeito diferente\n\nA 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.\n\nNo 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.\n\nJá 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.\n\nO 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.\n\nIsso 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.\n\n## Instruções escondidas para enganar assistentes de IA\n\nUm 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.\n\nO 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.\n\nCampanha TrapDoor distribuiu pacotes maliciosos em três repositórios simultâneos para roubar credenciais de desenvolvedores de criptomoedas e inteligência artificial.\n\nPara 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.\n\n## Como a Socket identificou a campanha\n\nA 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.\n\nA 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.\n\nAcompanhe o TecMundo nas redes sociais. Inscreva-se em nossa newsletter e canal do YouTube.",
  "title": "Ciberataque em cadeia contra NPM rouba dinheiro e credenciais de usuários"
}