Hack Alerta

Campanha maliciosa no npm rouba chaves SSH, credenciais de nuvem e segredos de carteiras digitais

Pesquisadores da Cyfirma identificam campanha coordenada no npm com mais de 2,7 milhões de downloads, roubando chaves SSH, credenciais de nuvem e segredos de carteiras digitais.

Uma nova onda de ataques à cadeia de suprimentos está colocando desenvolvedores de blockchain, equipes Web3 e engenheiros de nuvem em sério risco. Pesquisadores descobriram uma campanha coordenada envolvendo múltiplos pacotes maliciosos no registro npm, cada um projetado para roubar segredos sensíveis no momento em que um desenvolvedor os instala.

Desde chaves privadas SSH até credenciais de nuvem, frases de carteiras e tokens de API, esta campanha deixa quase nenhum segredo intocado. O que torna esse esforço particularmente alarmante é sua escala. Um pacote no centro da investigação, o moralis-sdk, acumulou mais de 2,7 milhões de downloads até que pesquisadores o sinalizassem.

Esse alcance significa que o código malicioso pode já ter tocado milhares de estações de trabalho de desenvolvedores, pipelines de CI/CD e ambientes de nuvem sem que ninguém percebesse. Analistas da Cyfirma identificaram a campanha após notar dois pacotes suspeitos, ethers-jss e coinbase-wallet-utils, ambos construídos para se passar por ferramentas legítimas de desenvolvimento Ethereum.

Descoberta e escopo da campanha

Através de uma investigação mais profunda, eles vincularam onze pacotes npm altamente suspeitos à mesma operação. A pesquisa da Cyfirma revelou quatro clusters operacionais distintos, cada um mirando desenvolvedores através de um método diferente. Alguns abusaram de hooks de ciclo de vida do npm para executar automaticamente código malicioso durante a instalação, enquanto outros confiaram em carregadores ofuscados e contratos inteligentes Ethereum para recuperar endereços de comando e controle sem codificar nada óbvio.

Juntos, esses pacotes registraram mais de 2,72 milhões de downloads combinados, tornando-se uma das campanhas de cadeia de suprimentos npm mais impactantes vistas recentemente. A atividade de download ativa durante a investigação confirmou que vários pacotes ainda estavam alcançando novas vítimas mesmo após a descoberta.

Técnicas de infecção e exploração

O método de infecção era enganadoramente simples. Cada pacote usava scripts de ciclo de vida do npm, seja hooks preinstall ou postinstall, para acionar código malicioso no momento em que um desenvolvedor executava um comando de instalação. Nenhum passo extra era necessário do lado da vítima.

O pacote ethers-jss atuou como um wrapper malicioso em torno da biblioteca real ethers. Uma vez instalado, ele interceptou funções de criação e recuperação de carteiras para capturar chaves privadas e frases mnemônicas, enviando-as para um servidor controlado pelo atacante no GitHub Codespaces. Ele também incluía um script Python chamado docker_hunter.py, que realizava consultas de estilo OSINT em repositórios do Docker Hub vinculados a ferramentas de blockchain.

O pacote coinbase-wallet-utils focou em reconhecimento, coletando o hostname da vítima, nome de usuário, variáveis de ambiente e diretório de trabalho, exfiltrando tudo silenciosamente usando curl. Um cluster separado de cinco pacotes publicados pelo usuário npm ethcompat foi além, criptografando credenciais roubadas com AES-256-GCM e incorporando-as em transações da blockchain Ethereum enviadas para uma carteira controlada pelo atacante, transformando a própria carteira da vítima no canal de exfiltração.

Inovação maliciosa e infraestrutura

O pacote moralis-sdk foi particularmente astuto. Começou como uma cópia limpa do SDK legítimo Moralis em outubro de 2025, mas foi armado através de uma atualização que adicionou um arquivo postinstall.js fortemente ofuscado. Esse arquivo usava uma página do YouTube como um interruptor de ativação remota e só entregava seu payload se um marcador oculto fosse encontrado, dando ao controle remoto do atacante sobre quando o malware ativava.

Três pacotes de typosquatting, ganach, solidty e stelar-sdk, adicionaram outra camada de inovação. Em vez de codificar um endereço de servidor, esses pacotes consultaram um contrato inteligente Ethereum para recuperar detalhes de infraestrutura dinamicamente. O malware então baixava binários específicos para plataforma para Windows, Linux ou macOS dependendo do sistema da vítima.

Evidências e limites da ameaça

Pesquisadores também encontraram várias pistas de atribuição. As contas usadas para publicar os pacotes tinham nomes gerados aleatoriamente, uma tática comum para evitar serem rastreadas. O código desofuscado continha comentários e nomes de variáveis em russo, apontando para um ator motivado financeiramente com experiência em cibercrime relacionado a criptomoedas, embora nenhum grupo específico tenha sido formalmente nomeado.

Medidas de mitigação recomendadas

A Cyfirma recomenda executar instalações com a flag npm install --ignore-scripts para bloquear a execução automática de scripts. Organizações também devem implantar ferramentas de Análise de Composição de Software (SCA), evitar armazenar chaves privadas ou frases de seed em texto puro e girar quaisquer credenciais expostas imediatamente.

Desenvolvedores em ambientes Web3 devem verificar a identidade do editor, histórico de downloads e propriedade do repositório antes de adicionar qualquer pacote desconhecido ao seu projeto. A tabela abaixo resume os indicadores de comprometimento (IoCs) identificados:

Tipo Indicador Descrição
SHA256 d9424442615f7800322fb318e0a484414bb17016cfcd5eb07c44 ethers-jss package archive
SHA256 17bad5ae5b2ac262f550ef51d2e5f26 moralis-sdk v1.0.1 package archive
URL pastefy.app/RhPBKGli/raw Localização de hospedagem de payload PowerShell codificado em Base64
Contrato Inteligente 0xa1b40044EBc2794f207D45143Bd82a1B86156c6b Usado pelo malware para recuperar informações de infraestrutura dinâmicas

O que os CISOs devem fazer imediatamente

Para equipes de segurança, a prioridade é a visibilidade sobre as dependências de software. A implementação de ferramentas de SCA (Software Composition Analysis) é crucial para detectar pacotes maliciosos antes que sejam instalados em ambientes de produção. Além disso, a política de execução de scripts no npm deve ser rigorosamente controlada, preferencialmente desabilitada em ambientes corporativos onde não é estritamente necessária.

A auditoria de logs de instalação e monitoramento de tráfego de saída para endereços IP ou domínios suspeitos também pode ajudar na detecção precoce. A rotação de credenciais é uma medida de contenção imediata caso haja suspeita de comprometimento.

Perguntas frequentes

Qual é o risco principal desta campanha?
O risco principal é o roubo de credenciais sensíveis, incluindo chaves privadas de criptomoedas e credenciais de nuvem, que podem levar a perdas financeiras diretas e comprometimento de infraestrutura.

Como os desenvolvedores podem se proteger?
Verificar a reputação dos pacotes, usar ferramentas de análise de dependências e evitar a execução automática de scripts durante a instalação são as melhores práticas.

Esta campanha afeta apenas desenvolvedores de criptomoedas?
Embora o foco seja Web3, as técnicas de exfiltração de credenciais podem ser aplicadas a qualquer ambiente de desenvolvimento que utilize npm.


Baseado em publicação original de Cybersecurity News
Publicado pela Redação Hack Alerta com base em fontes externas citadas e monitoramento editorial do Hack Alerta. Para decisões técnicas, operacionais ou jurídicas, confirme sempre os detalhes na fonte original.