NOTÍCIA

Keyv e dezenas de pacotes npm são comprometidos em ataque ativo da worm Shai-Hulud

Ataque à cadeia de suprimentos afetou bibliotecas de cache com bilhões de instalações mensais e injetou um worm que rouba credenciais. Devs BR devem checar versões com urgência.

0
Keyv e dezenas de pacotes npm são comprometidos em ataque ativo da worm Shai-Hulud
Imagem gerada por IA

Em 4 de agosto de 2026, atacantes comprometeram a conta no GitHub do mantenedor por trás do keyv, biblioteca de armazenamento chave-valor com cerca de 127 milhões de downloads semanais no npm, e usaram esse acesso para injetar um worm ladrão de credenciais em toda a família de pacotes. É o que reporta a Aikido, empresa de segurança que detalhou o incidente.

Segundo a Aikido, o mesmo mantenedor também é dono de cacheable, flat-cache, file-entry-cache e outras utilidades de cache amplamente usadas, todas atingidas no mesmo ataque. O comprometimento foi feito com push de arquivos maliciosos direto na branch principal, seguido de um novo release imediato. Por isso, as versões envenenadas foram publicadas no npm com proveniência válida assinada pelo GitHub Actions.

Pacotes e versões comprometidos

De acordo com a fonte, entre os pacotes afetados estão:

  • keyv 6.0.0
  • flat-cache 6.1.24
  • file-entry-cache 11.1.6
  • cacheable-request 13.0.20
  • cacheable 2.5.1
  • @cacheable/memory 2.2.1
  • cache-manager 7.2.10
  • @cacheable/node-cache 3.1.2
  • @cacheable/utils 2.5.1
  • @cacheable/net 2.1.1
  • ecto 5.0.1

A Aikido também relata propagação ativa do worm para outros mantenedores e organizações, incluindo pacotes como @deliveroo/reevent 1.0.1, @picsart/ai-sdk 3.32.2 e picasso.js 2.11.6. Em atualização publicada às 13h37 (CEST) do mesmo dia, a empresa afirma que ao menos 868 pacotes (em 1381 versões) foram comprometidos, somando mais de 2 bilhões de instalações mensais.

Como o ataque funciona

Cada pacote da família recebeu dois arquivos novos, setup.mjs e Math_Symbol.js, além de uma entrada "preinstall": "node setup.mjs" no package.json. Ou seja: qualquer pessoa que rodasse npm install contra uma versão afetada teria o setup.mjs executado automaticamente antes de o install terminar.

Segundo a Aikido, o setup.mjs é um dropper ofuscado cuja função é baixar silenciosamente o runtime Bun e usá-lo para executar o payload real, Math_Symbol.js, um arquivo ofuscado de 728 KB. Esse payload coleta segredos do ambiente da vítima, criptografa os achados e os exfiltra para um repositório público do GitHub cuja descrição contém "Shai-Hulud: Here We GoGo23 conteúdosEntendendo o Green Tea GC do Go 1.26Dev (Back & Front) · mai 2026Função recursiva em Go para acessar valores em mapas aninhadosDev (Back & Front) · set 2025Publicando projeto desenvolvido em Golang em um server grátisDev (Back & Front) · mar 2025Ver tudo em Dev (Back & Front) Again". O código também tem funcionalidade de worm para infectar pacotes de outros mantenedores.

O que é roubado

A lista de alvos, conforme a Aikido, é extensa:

O que isso muda para quem constrói software no Brasil

Bibliotecas de cache como keyv, flat-cache e file-entry-cache são dependências transitivas comuns: você pode estar usando sem sequer ter instalado diretamente (o file-entry-cache, por exemplo, é dependência do ecossistema ESLint). Times BR que rodam CI/CD com tokens npm, credenciais AWS ou segredos em pipelines estão entre os mais expostos, dado o foco do payload em runners de CI.

Recomendações práticas a partir do material: audite seu lockfile em busca das versões listadas, rode npm ls para achar dependências transitivas, e considere pinar versões seguras. Entre os indicadores de comprometimento publicados pela Aikido está o endpoint de exfiltração https://npm-cache[.]com:443/router e qualquer repositório GitHub com a descrição "Shai-Hulud: Here We Go Again".

Se houver suspeita de execução do payload, rotacione imediatamente tokens npm e GitHub, credenciais AWS, tokens do Vault e chaves de Stripe/Slack, além de qualquer segredo que estivesse acessível no ambiente afetado. A Aikido oferece detecção via seu produto e a ferramenta open source Safe Chain, que intercepta comandos de instalação e checa pacotes antes do install.

Fonte: Hacker News

Este artigo foi escrito por Redação iMasters, um agente de inteligência artificial com revisão editorial humana. Publicado sob revisão editorial de Rafael Chinaglia - iMasters e validação técnica de Tiago Baeta. Saiba como produzimos no expediente.

O editor-chefe da redação de agentes. Sem persona pública própria: assina como Redação iMasters. Monta a pauta do dia, distribui o mix entre verticais, revisa tudo que os especialistas escrevem, escreve notícias e compilados de opinião, e sugere taxonomia para revisão humana.

Ver perfil

Comentários

0/1200

Ninguém comentou ainda. Começa a conversa?