Cibersegurança

IronWorm e nova variante do worm Miasma atingem o npm em ataques à cadeia de suprimentos

Múltiplos ataques à cadeia de suprimentos de software atingiram o ecossistema npm nesta semana, com agentes de ameaça utilizando versões maliciosas e envenenadas de mais de 50 pacotes legítimos para distribuir um ladrão de informações em Rust e um worm autorreplicante, respectivamente. Segundo a JFrog, o ladrão de informações 'extrai todos os segredos que encontrar na máquina do desenvolvedor, esconde-se por trás de um rootkit de kernel baseado em eBPF e se comunica com seu operador via Tor'.


Ravie Lakshmanan Sexta - 05 de Junho de 2026 às 22:28
The Hacker News

Múltiplos ataques à cadeia de suprimentos de software atingiram o ecossistema npm, com agentes de ameaça utilizando versões maliciosas e envenenadas de mais de 50 pacotes legítimos para distribuir, respectivamente, um ladrão de informações baseado em Rust e um worm autorreplicante.

De acordo com a JFrog, o ladrão de informações "extrai todos os segredos que encontrar na máquina do desenvolvedor, esconde-se por trás de um rootkit de kernel baseado em eBPF (Filtro de Pacotes Berkeley Estendido) e se comunica com seu operador via Tor (Roteamento Cebola)".

O malware também utiliza as credenciais roubadas como mecanismo de propagação, apresentando semelhanças com o infame worm Shai-Hulud. O novo malware foi batizado de IronWorm pela empresa de segurança da cadeia de suprimentos de software. Ao se publicar no registro do npm na forma de pacotes trojanizados, a abordagem resulta em um ataque autorreplicante.

A atividade maliciosa foi rastreada até uma conta npm comprometida chamada "asteroiddao", que foi identificada publicando versões de pacotes contendo o binário ELF (Formato Executável e Vinculável) em Rust, executado por meio de um hook de pré-instalação.

O malware tem como alvo 86 variáveis de ambiente, diversos arquivos que podem conter credenciais associadas ao OpenAI Codex, Anthropic, Claude, Google Gemini, Cursor, Amazon Web Services (AWS), Docker, Kubernetes e npm, configurações de cofres e arquivos da carteira de criptomoedas Exodus.

Uma peculiaridade incomum que vale mencionar é que o ladrão inclui uma lógica no componente de roubo de dados da carteira para ignorar a própria carteira do agente de ameaça. Até o momento da redação, a carteira de criptomoedas está vazia e nenhuma transação foi registrada.

A JFrog descreveu o IronWorm como "uma arma de cadeia de suprimentos criada para encontrar segredos, modificar projetos e injetar código malicioso para se autopropagar pelo GitHub". Os commits maliciosos, que abrangem nove organizações no GitHub, foram introduzidos sob o nome de autor "claude" ("claude@users.noreply.github.com") numa tentativa de imitar o chatbot de inteligência artificial (IA) da Anthropic.

"O pacote npm malicioso foi publicado pelo asteroiddao; o asteroiddao corresponde à organização asteroid-dao no GitHub; e o ocrybit é membro dessa organização, bem como de organizações relacionadas ao Arweave", explicou a empresa.

"O malware roubou as credenciais do ocrybit e as utilizou para enviar commits em repositórios aos quais tinha acesso. Esses commits plantaram malware em outros pacotes, que poderiam então ser publicados e infectar o próximo desenvolvedor. E então ele desapareceu."

Além disso, o payload malicioso está equipado para substituir fluxos de trabalho (workflows) existentes do GitHub Actions por um capaz de coletar segredos, gravá-los em um arquivo de aparência inofensiva e enviá-lo como artefato de build, eliminando assim a necessidade de um servidor externo de comando e controle (C2).

As capacidades do malware não param por aí. Em ambientes de CI (Integração Contínua), ele abusa do fluxo Trusted Publishing do npm para obter tokens de curta duração e enviar versões envenenadas contendo o malware para o registro.

Ele também incorpora um payload eBPF que funciona como um rootkit em nível de kernel para ocultar processos e dificultar a análise. No entanto, em sistemas com lockdown de kernel ativado, os truques de ocultação de processos falham, e os supostos processos e sockets voltam a ficar visíveis.

Worm Miasma reaparece

A divulgação ocorre enquanto a Endor Labs e a StepSecurity trouxeram à luz uma campanha distinta de ataque à cadeia de suprimentos que comprometeu 57 pacotes npm em mais de 286 versões maliciosas para servir uma nova variante do worm Miasma, que havia infectado 32 pacotes em mais de 90 versões sob o namespace @redhat-cloud-services no npm em apenas 72 segundos no início desta semana.

Alguns dos pacotes afetados estão listados abaixo:

  • ai-sdk-ollama
  • autotel
  • awaitly
  • effect-analyzer
  • eslint-plugin-awaitly
  • executable-stories-cypress
  • http-uploader-dev
  • mountly
  • node-env-resolver
  • node-env-resolver-aws

Os dados roubados pelo malware são exfiltrados para uma conta do GitHub agora inacessível, "liuende501", que atuou como ponto de exfiltração. Até 236 repositórios foram preparados na conta. No momento, não se sabe se o GitHub removeu a conta ou se o próprio agente de ameaça a deletou.

"Esta onda usa uma técnica que estamos chamando de 'Phantom Gyp': em vez dos scripts de ciclo de vida preinstall ou postinstall que as ferramentas de segurança normalmente monitoram, o atacante abusa de um arquivo binding.gyp de 157 bytes para disparar a execução de código durante o npm install, contornando completamente a maioria das verificações de segurança de scripts de instalação", disse o pesquisador da StepSecurity, Sai Likhith.

Assim como no caso do Miasma, a cadeia de ataque é projetada para baixar e instalar o runtime JavaScript Bun, usando-o para carregar um coletor de credenciais abrangente, tailored para extrair segredos de AWS, Google Cloud, Microsoft Azure, HashiCorp Vault, Docker, Kubernetes, GitHub Actions, npm, RubyGems, PyPI (Índice de Pacotes Python), SSH (Shell Seguro), gerenciadores de senhas e assistentes de IA.

"A capacidade mais nova e preocupante desta variante é o direcionamento a configurações de assistentes de codificação de IA", afirmou a empresa. "O malware injeta arquivos persistentes de backdoor nos repositórios do projeto que são executados sempre que um desenvolvedor abre o projeto em sua IDE (Ambiente de Desenvolvimento Integrado) assistida por IA."

Desenvolvedores que instalaram uma versão afetada são aconselhados a rotacionar credenciais, desativar scripts de instalação e reconstruções nativas por padrão, e garantir que os pacotes estejam fixados com hashes de integridade.

Em uma atualização compartilhada esta semana, a Red Hat revelou que a causa raiz por trás do incidente de cadeia de suprimentos do Miasma foi provavelmente uma conta do GitHub comprometida, que foi usada para enviar commits não autorizados a repositórios na organização RedHatInsights no GitHub.

"O payload operou em Linux, macOS e Windows, baixando dinamicamente o runtime Bun correto para cada plataforma, embora os runners de CI/CD (Integração e Entrega Contínuas) no Linux tenham sido o alvo principal", disse a Microsoft sobre a campanha.

"Em sistemas de desenvolvedores, o malware roubou chaves SSH (Shell Seguro), credenciais de CLI (Interface de Linha de Comando), dados de navegador e carteiras, enquanto em ambientes de CI/CD extraiu da memória do runner do GitHub Actions segredos, escalou privilégios usando sudo sem senha e republicou pacotes envenenados com proveniência forjada de SLSA (Níveis da Cadeia de Suprimentos para Artefatos de Software) para continuar a propagação downstream."

O payload do Miasma é avaliado como um derivado do worm Shai-Hulud, utilizado pelo TeamPCP em campanhas recentes, introduzindo mudanças amplamente "cosméticas" enquanto mantém a funcionalidade subjacente similar. Apesar da sobreposição no modus operandi, a atribuição do conjunto mais recente de ataques permanece incerta, dado que o TeamPCP divulgou publicamente o código do Shai-Hulud.

A OX Security descobriu, desde então, estágios adicionais na cadeia de ataque do Miasma, incluindo buscas por commits no GitHub que contenham a string "firedalazer" (substituindo o dead drop "FIRESCALE" sinalizado anteriormente) para recuperar outro payload, um arquivo JavaScript ("index.js") que contém uma versão alternativa do worm Shai-Hulud, transformando efetivamente a infecção em um loop perpétuo.

Neste caso, os dados roubados são exfiltrados para repositórios públicos do GitHub, cada um carregando a descrição "Miasma: The Spreading Blight" ou "Miasma - The Spreading Blight". É importante observar que a versão anterior traz "Miasma: The Spreading Blight", sem espaço entre Miasma e o símbolo ":". Existem atualmente 82 desses repositórios criados nas contas de usuários "0tabek16" e "windy629".

"O agente de ameaça pode mudar dinamicamente os commits 'firedalazer' no GitHub, criando novas versões do malware, mais adaptativas e mais sofisticadas", disseram os pesquisadores de segurança Moshe Siman Tov Bustan e Nir Zadok em comunicado.

"Isso transforma o GitHub em algo mais perigoso do que um dead drop. É um C2 adaptativo — um que se apoia em uma plataforma confiável e amplamente liberada na lista de permissões, tornando a detecção em nível de rede quase inútil. A maioria das ferramentas de segurança não está configurada para tratar o tráfego do GitHub como suspeito. O agente de ameaça sabe disso."

Cibersegurança npm Malware