Aikido

Shai-Hulud Está de Volta? CLI do Bitwarden Comprometida Contém um Verme npm Autopropagável

Escrito por
Ilyas Makari

Versão 2026.4.0 do amplamente utilizado @bitwarden/cli pacote npm (78.000 downloads semanais) foi identificado como malicioso. O pacote contém um sofisticado verme de roubo de credenciais em múltiplas etapas que se autodenomina explicitamente "Shai-Hulud: The Third Coming", uma referência direta a campanhas anteriores de supply chain de Shai-Hulud, e tem como alvo credenciais de desenvolvedores, incluindo chaves SSH, Secrets da Cloud e até mesmo arquivos de configuração MCP.

Isso ocorre logo após o recente comprometimento da Checkmarx, que incluiu um projeto do Docker Hub e uma extensão do VS Code. Acredita-se que o acesso obtido durante essa campanha possa ter sido utilizado para comprometer o pipeline de publicação do Bitwarden. Notavelmente, o atacante parece ter contornado os controles de publicação confiáveis do Bitwarden ao infectar o próprio pipeline de CI/CD (publish-ci.yml em github.com/bitwarden/clients), permitindo que um pacote malicioso fosse publicado sob o legítimo @bitwarden nome.

O Que Aconteceu

@bitwarden/cli@2026.4.0 introduziu um malicioso preinstall gancho apontando para um novo arquivo bw_setup.js. Isso é acionado automaticamente em npm install sem necessidade de interação do usuário.

Estágio 1: bw_setup.js

Um bootstrapper multiplataforma. Ele detecta o sistema operacional e a arquitetura da vítima, baixa o runtime legítimo do Bun JavaScript diretamente de github.com/oven-sh/bun, e o usa para executar o payload da Fase 2.

Fase 2: bw1.js

Um payload de 10 MB fortemente ofuscado. Uma vez desofuscado, é um coletor de credenciais completo e um worm de supply chain. O comportamento espelha de perto as ondas anteriores de Shai-Hulud, e ele até contém a string "Shai-Hulud: The Third Coming" codificada como a descrição para o repositório público do GitHub que ele cria para exfiltrar dados roubados.

Esta versão vem com uma forte temática do universo Dune em toda a sua extensão: o repositório de exfiltração é nomeado a partir de vocabulário aleatório de Dune (fremen-sandworm-441, harkonnen-melange-7, etc.), e o payload contém um manifesto anti-IA incorporado que ele tenta gravar nos arquivos de configuração de shell das vítimas.

O Que Ele Rouba

O malware escaneia uma lista hardcoded de arquivos de credenciais de alto valor na máquina da vítima:

~/.ssh/id* / ~/.ssh/id_ (chaves privadas SSH)
~/.ssh/known_hosts (fingerprints de host SSH)
~/.ssh/keys (armazenamento adicional de chaves SSH)
~/.aws/credentials (chaves de acesso AWS)
~/.config/gcloud/credentials.db (credenciais GCP)
~/.npmrc / .npmrc (tokens de autenticação npm)
~/.claude.json / .claude.json (token de autenticação Claude Code)
~/.claude/mcp.json (configurações do servidor MCP do Claude Code, podem conter chaves de API e credenciais de DB)
~/.kiro/settings/mcp.json (configurações do servidor MCP Kiro)
.git/config (URLs remotas e credenciais Git)
.git-credentials (senhas Git armazenadas)
.env (variáveis de ambiente do projeto e chaves de API)
~/.bash_history / ~/.zsh_history

Além dos arquivos locais, o malware também executa coletores para AWS SSM Parameter Store, AWS Secrets Manager, Azure Key Vault e GCP Secret Manager usando credenciais Cloud ambientais. Qualquer pessoa que execute isso em uma máquina de desenvolvedor conectada à Cloud ou em um CI runner perde toda a sua infraestrutura de Secrets.

O malware contata duas URLs C2:

  • hxxps://audit.checkmarx[.]cx/v1/telemetry — C2 primário, atingido diretamente em cada infecção. Não é um domínio legítimo da Checkmarx; .cx é o TLD da Christmas Island. Bloqueie isso imediatamente.
  • hxxps://api.github[.]com/search/commits?q=beautifulcastle%20 — fallback. Se o C2 primário estiver inativo, o malware procura nesses commits do GitHub por um hostname de substituição assinado.

A Propagação Shai-Hulud

Encontramos evidências de propagação semelhante a Shai-Hulud. Dados roubados são exfiltrados para um repositório público do GitHub criado sob a própria conta da vítima. Para vítimas sem associação a uma organização, seu token do GitHub também é publicado em um dead-drop de commit público do GitHub, onde outras máquinas infectadas podem encontrá-lo e reutilizá-lo para financiar sua própria exfiltração. Vítimas com associação a uma organização têm seu token mantido privado apenas dentro dos dados de exfiltração criptografados.

Como o Aikido detecta isso

Se você é um usuário Aikido, verifique seu feed central e filtre por problemas de malware. Isso aparecerá como um problema crítico 100/100. O Aikido reanalisa todas as noites, mas recomendamos acionar uma reanálise manual agora.

Se você ainda não é um usuário Aikido, pode criar uma conta e conectar seus repositórios. Nossa cobertura de malware está incluída no plano gratuito, não é necessário cartão de crédito.

Para uma cobertura mais ampla em toda a sua equipe, o Endpoint Protection do Aikido oferece visibilidade e controle sobre os pacotes de software instalados nos dispositivos da sua equipe. Ele abrange extensões de navegador, bibliotecas de código, plugins de IDE e dependências de build, tudo em um só lugar. Impeça o malware antes que ele seja instalado.

Para proteção futura, considere Aikido Safe Chain (open source). O Safe Chain se integra ao seu fluxo de trabalho existente, interceptando comandos npm, npx, yarn, pnpm e pnpx e verificando pacotes contra Aikido Intel antes da instalação.

IOCs

  • Pacote: @bitwarden/cli (versão 2026.4.0)
  • Arquivo de pré-instalação: bw_setup.js
    • SHA256: 37f34aa3b86db6898065f3ca886031978580a15251f2576f6d24c3b778907336
  • Arquivo de payload: bw1.js
    • SHA256: 18f784b3bc9a0bcdcb1a8d7f51bc5f54323fc40cbd874119354ab609bef6e4cb
  • Descrição do repositório GitHub: Shai-Hulud: A Terceira Vinda
  • Endpoint de exfiltração: audit.checkmarx[.]cx:443/v1/telemetry
  • Mensagens de commit públicas começando com LongLiveTheResistanceAgainstMachines
Compartilhar:

https://www.aikido.dev/blog/shai-hulud-npm-bitwarden-cli-compromise

4.7/5
Cansado de falsos positivos?

Experimente Aikido como 100 mil outros.
Começar Agora
Obtenha um tour personalizado

Confiado por mais de 100 mil equipes

Agende Agora
Escaneie seu aplicativo em busca de IDORs e caminhos de ataque reais

Confiado por mais de 100 mil equipes

Iniciar Escaneamento
Veja como o pentest de IA testa seu aplicativo

Confiado por mais de 100 mil equipes

Iniciar Testes

Fique seguro agora

Proteja seu código, Cloud e runtime em um único sistema centralizado.
Encontre e corrija vulnerabilidades rapidamente de forma automática.

Não é necessário cartão de crédito | Resultados da varredura em 32 segundos.