Centenas de versões trojanizadas de pacotes conhecidos, como Zapier, ENS Domains, PostHog e Postman, foram detectadas no registro npm em uma nova campanha de ataque à cadeia de suprimentos, batizada de Shai-Hulud.
Os pacotes maliciosos foram adicionados ao Node Package Manager no último fim de semana com o objetivo de roubar segredos de desenvolvedores e de pipelines de integração e entrega contínua (CI/CD).
As informações capturadas eram enviadas automaticamente ao GitHub em formato codificado.
No momento da publicação, havia cerca de 27.600 registros no GitHub relacionados ao ataque recente.
O malware Shai-Hulud surgiu pela primeira vez no npm em meados de setembro, comprometendo 187 pacotes com um payload autorreplicante que utilizava a ferramenta TruffleHog para extrair segredos de desenvolvedores.
O atacante baixava pacotes legítimos, modificava o arquivo package.json para injetar um script malicioso e os republicava no npm utilizando contas de mantenedores comprometidas.
Hoje, Charlie Eriksen, pesquisador de malware da plataforma Aikido Security, focada em segurança para desenvolvedores, identificou 105 pacotes trojanizados com indicadores do Shai-Hulud.
Desde então, esse número saltou para 492, incluindo múltiplas versões dos mesmos pacotes.
Posteriormente, Eriksen alertou que os segredos roubados estavam sendo vazados no GitHub.
A campanha ganhou grande escala, ultrapassando 27 mil pacotes maliciosos.
Pesquisadores da plataforma de segurança em nuvem Wiz identificaram cerca de 350 contas únicas de mantenedores envolvidas, observando que "mil novos repositórios são criados a cada 30 minutos nas últimas horas".
Eriksen explicou ao BleepingComputer que os repositórios no GitHub indicam desenvolvedores comprometidos que utilizaram pacotes npm trojanizados e tinham credenciais do GitHub em seus ambientes.
Uma análise técnica feita pela Step Security, especializada em segurança de CI/CD, revelou que o novo payload do Shai-Hulud está presente em dois arquivos principais.
O primeiro é o setup_bun.js, um dropper disfarçado de instalador do Bun.
O segundo, bun_environment.js, tem cerca de 10 MB e utiliza técnicas avançadas de obfuscação, como uma longa string codificada em hexadecimal, um loop anti-análise e uma função ofuscada para recuperar todas as strings do código.
De acordo com a Wiz, o código malicioso coleta segredos de desenvolvedores e de pipelines CI/CD e os publica em repositórios do GitHub cujo nome faz referência ao Shai-Hulud.
A execução do código ocorre apenas na fase pré-instalação, criando arquivos chamados cloud.json, contents.json, environment.json e truffleSecrets.json.
Os segredos roubados são divulgados em repositórios com a descrição "Shai-Hulud: The Second Coming" (O Segundo Vinda).
Há indícios de que o atacante também obteve acesso a contas legítimas no GitHub, que estão sendo usadas para criar esses repositórios maliciosos.
O GitHub tem excluído os repositórios à medida que são identificados, mas o atacante continua a criar novos rapidamente.
Entre os 186 pacotes comprometidos com uma nova versão do malware, segundo a Aikido Security, estão múltiplos pacotes oficiais de Zapier, ENS Domains, PostHog e AsyncAPI.
Os pacotes do Zapier atacados representam o toolkit oficial para desenvolvimento de integrações na plataforma, essenciais para seus desenvolvedores.
Já os ENS Domains são ferramentas e bibliotecas amplamente utilizadas por carteiras digitais, aplicativos descentralizados (DApps), exchanges e pelo app ENS Manager para gerenciar nomes .eth, traduzindo-os em endereços Ethereum, vinculando conteúdos via IPFS, validando nomes e interagindo com contratos inteligentes oficiais da ENS.
Embora todos os pacotes comprometidos ainda estejam disponíveis para download no npm, alguns exibem alertas indicando que a publicação mais recente não foi autorizada, sugerindo que a revisão automática detectou sinais de comprometimento.
Especialistas recomendam que desenvolvedores consultem a lista completa de pacotes infectados divulgada pela Aikido, façam downgrade para versões seguras e rotacionem imediatamente suas credenciais e tokens CI/CD.
Pesquisadores da Wiz aconselham equipes de segurança a identificar primeiro os pacotes comprometidos e substituí-los por versões legítimas, além de rotacionar todas as credenciais vinculadas ao npm, GitHub e provedores de nuvem.
A Aikido Security também recomenda que os desenvolvedores desativem scripts postinstall do npm durante pipelines de integração contínua, sempre que possível.
O retorno do Shai-Hulud ocorre em um momento em que o GitHub implementa medidas adicionais para prevenir ataques à cadeia de suprimentos no npm, após uma série de incidentes de grande impacto.
No entanto, essas medidas ainda estão sendo aplicadas gradativamente.
Publicidade
A Solyd Hunter encontra, valida e entrega os melhores profissionais de Cibersegurança, Red Team, AppSec e Pentest para sua empresa com garantia e agilidade. Clique aqui e contrate com segurança. Saiba mais...