Mini Shai-Hulud: nova campanha atinge mais de 320 pacotes NPM e rouba credenciais

Wait 5 sec.

Uma nova onda da campanha Mini Shai-Hulud comprometeu mais de 320 pacotes NPM na madrugada de 19 de maio. Os atacantes assumiram o controle da conta 'atool' e publicaram 639 versões maliciosas entre 01h56 e 02h56 UTC. O ataque atingiu bibliotecas populares do ecossistema de visualização de dados @antv e rouba credenciais de desenvolvedores e ambientes de CI/CD.A conta comprometida tinha acesso a mais de 500 pacotes. Entre os atingidos está o timeago.js, que registra 1,5 milhão de downloads semanais. O echarts-for-react, com 1,1 milhão de downloads semanais, também foi infectado.Conta comprometida expôs milhões de downloadsO ataque começou às 01h56 UTC e terminou às 02h56 UTC. Os atacantes publicaram versões maliciosas de pacotes do namespace @antv, usado para criar gráficos, visualizações e mapas. Pacotes populares fora desse namespace também foram comprometidos.Busca no GitHub mostra cerca de 2,9 mil repositórios criados automaticamente pelo malware nas contas das vítimas. Imagem: Bleeping Computer.A Microsoft alertou que o ataque se propagou para aplicações e ambientes de CI/CD muito além dos pacotes inicialmente infectados. A Socket, empresa de segurança, rastreia agora 1.055 versões comprometidas em 502 pacotes únicos ao longo de toda a campanha Mini Shai-Hulud.Pesquisadores da Endor Labs destacaram que alguns pacotes afetados não recebiam atualizações legítimas há anos. O jest-canvas-mock, por exemplo, ainda tem 10 milhões de downloads mensais mas está inativo há três anos. Isso significa que não tinham recursos de segurança mais recentes configurados.Malware rouba credenciais e ataca ambientes de CI/CDCada pacote comprometido carrega um payload ofuscado que executa durante a instalação. O código malicioso lê a memória de processos do GitHub Actions para extrair segredos de CI/CD em texto simples. O malware também coleta credenciais de mais de 130 caminhos de arquivos diferentes.O payload rouba credenciais de mais de 130 caminhos de arquivos, incluindo senhas de serviços cloud e carteiras de criptomoedas.Os alvos incluem contas da AWS, GCP, Azure, Kubernetes, HashiCorp Vault, carteiras de criptomoedas e ferramentas de desenvolvimento. A StepSecurity explica que o payload também busca tokens SSH, chaves Docker e credenciais de bancos de dados. O foco principal são estações de trabalho de desenvolvedores e ambientes de CI/CD.Os dados roubados são serializados, comprimidos com Gzip e criptografados com AES-256-GCM. Depois, recebem uma camada adicional de criptografia RSA-OAEP. Isso dificulta a inspeção de rede pelos times de segurança.Atacantes criam repositórios falsos no GitHub das vítimasO malware usa duas formas de exfiltração dos dados roubados. O canal principal é a rede P2P Session, que funciona com tráfego criptografado ponta a ponta na porta TCP/443. Isso torna a detecção muito difícil, isso porque o tráfego é indistinguível de uso legítimo do aplicativo Session.Empresas de segurança recomendam rotação imediata de todas as credenciais expostas a ambientes de build afetados.Quando o malware encontra credenciais do GitHub, ele usa a API para criar automaticamente novos repositórios na conta da vítima. Os dados roubados são enviados para esses repositórios. A Aikido identificou mais de 2.700 repositórios fraudulentos no GitHub com marcadores da campanha.Esses repositórios possuem um arquivo Readme com a string "niaga og ew ereh :duluh-iahs". Isso é o reverso de "Shai-Hulud: Here We Go Again", frase usada no vazamento do malware Shai-Hulud na semana passada. Atualmente existem pelo menos 2.900 repositórios no GitHub gerados por este ataque.Malware se propaga sozinho e gera assinaturas falsasO payload tem capacidade de autopropagação. Ele valida tokens NPM roubados, enumera os pacotes que a vítima mantém e baixa os arquivos tarball desses pacotes. Depois, injeta o código malicioso, adiciona um hook de pré-instalação e republica as versões modificadas com números de versão incrementados.O malware tem como alvo principal estações de trabalho de desenvolvedores e ambientes de integração contínua.A Endor Labs identificou uma nova capacidade nesta variante. O malware consegue gerar atestações de proveniência Sigstore válidas ao abusar de tokens OIDC de ambientes CI comprometidos. Basicamente, os pacotes maliciosos podem parecer legitimamente assinados e passar por verificações de proveniência padrão.Backdoors em VS Code e Claude Code garantem persistênciaA Aikido Security confirmou que esta variante apresenta diferenças técnicas importantes. O payload agora é menor e o malware instala backdoors persistentes nas configurações do VS Code e do Claude Code. Isso garante que os atacantes mantenham acesso mesmo após a limpeza inicial.A Socket observou que o payload também baixa e executa código Python da infraestrutura dos atacantes. Isso fornece aos operadores capacidades de execução remota contínua nos sistemas comprometidos. A StepSecurity identificou mais de 2.200 repositórios do GitHub contendo dados exfiltrados.O Python SDK Durabletask da Microsoft também foi comprometido nesta campanha. Três versões maliciosas foram enviadas ao PyPI em uma janela de 35 minutos. O GitHub Action actions-cool/issues-helper também foi comprometido e pode ser vinculado a esta campanha, segundo a Wiz.Acompanhe o TecMundo nas redes sociais. Inscreva-se em nossa newsletter e canal do YouTube.