Pular para conteúdo
Voltar aos artigos
security4 min

Pacote npm tensorlake é sequestrado: worm Shai-Hulud apaga sua pasta se você revogar o token

tensorlake npm package hijacked: Shai-Hulud worm wipes your home folder if you revoke the token

KGA IT
2026-10-124 min
SecuritySupply ChainnpmMalwareAI Agents

O que aconteceu

Em 8 de outubro de 2026, às 01:12 UTC (10:12 no Japão), a versão 0.5.144 do pacote npm tensorlake, o SDK de uma plataforma de sandboxes serverless para agentes de IA, foi publicada com um worm da família Shai-Hulud que rouba credenciais. O pacote tem cerca de 12 a 18 mil downloads semanais. A versão ficou no ar por cerca de 1h40, segundo o aviso dos mantenedores, que dizem que a telemetria não mostrou uso dela. A Socket detectou a versão maliciosa 11 minutos após a publicação.

Os pacotes do Tensorlake no PyPI e no Cargo não foram afetados, segundo as análises publicadas.

Como entraram

O ataque não começou no npm, e sim no GitHub:

  • Em 7 de outubro, o invasor fez commits direto na branch main do repositório tensorlakeai/tensorlake pela interface web, usando a conta de administrador de um mantenedor, sem pull request.
  • Oito commits ajustaram o payload e adicionaram um gancho preinstall no package.json.
  • Cerca de 20 horas depois, a mesma conta disparou manualmente o workflow oficial de publicação.

Resultado: o pacote saiu com atestado de procedência (provenance) válido. Como lembra a StepSecurity, o atestado diz onde o pacote foi construído, não que o código é seguro.

O que o malware faz

  • O gancho preinstall roda um carregador ofuscado que baixa o runtime Bun e executa um payload de 856 KB.
  • Rouba tokens do npm e do GitHub, credenciais de nuvem, Kubernetes e Vault e arquivos de configuração de ferramentas de IA para código.
  • Tenta se espalhar: republica outros pacotes do usuário e faz commits de arquivos .claude e .vscode em seus repositórios, com o autor falso "claude@users.noreply.github.com" e a mensagem "chore: update dependencies".
  • Token refém: instala um monitor que verifica o token do GitHub roubado a cada 60 segundos por até 24 horas. Se o token for revogado, apaga o diretório home da máquina (rm -rf ~/ no Linux e macOS). Há divergência entre pesquisadores sobre quando a armadilha é ativada.

O padrão de dois arquivos (setup.mjs e Math_Symbol.js) é o mesmo dos ataques de agosto aos pacotes keyv e cacheable, baseados no código "mini Shai-Hulud" que o grupo TeamPCP liberou. Não há prova de que seja o mesmo grupo.

O que fazer se você instalou

  1. Antes de revogar tokens, isole a máquina e mate o processo de monitoramento, para não perder o home.
  2. Trate como comprometidas todas as credenciais da máquina: npm, GitHub, nuvem e configurações de agentes de IA. Depois, rotacione tudo.
  3. Procure commits "chore: update dependencies" de autores estranhos e workflows novos nos seus repositórios.
  4. Verifique versões publicadas recentemente dos seus próprios pacotes.

Lições

  • Exija revisão em todo push para main, inclusive de administradores.
  • Use chaves de hardware (FIDO2) nas contas de mantenedores.
  • Adote período de espera (cooldown) antes de instalar versões recém-publicadas e desative scripts de instalação quando possível.
  • Ferramentas de IA para código viraram alvo: suas configurações guardam chaves valiosas.

Fontes


Quer proteger sua cadeia de suprimentos de software e seus pipelines? A KGA IT oferece uma consulta gratuita: kga-it.com.

Vamos resolver seus desafios técnicos juntos?

A KGA IT Solutions tem times especializados em AI, cloud e DevOps para entregar a solução ideal para seu problema.

Fale Conosco