Versión 2026.4.0 de los más utilizados @bitwarden/cli Se ha identificado como malicioso un paquete de npm (78 000 descargas semanales). El paquete contiene un sofisticado gusano de robo de credenciales en varias fases que se autodenomina explícitamente «Shai-Hulud: La tercera venida», una referencia directa a campañas anteriores de la cadena de suministro de Shai-Hulud, y tiene como objetivo las credenciales de los desarrolladores, incluidas las claves SSH, los secretos de la nube e incluso los archivos de configuración de MCP.
Esto se produce poco después del reciente ataque a Checkmarx, que afectó a un proyecto de Docker Hub y a una extensión de VS Code. Se cree que el acceso obtenido durante esa campaña podría haberse aprovechado para comprometer el proceso de publicación de Bitwarden. Cabe destacar que el atacante parece haber eludido los controles de publicación de confianza de Bitwarden infectando el propio proceso de CI/CD (publish-ci.yml ES github.com/bitwarden/clients), lo que permite que se publique un paquete malicioso bajo el nombre de uno legítimo @bitwarden nombre.
Qué Sucedió
@bitwarden/cli@2026.4.0 introdujo un programa malicioso preinstall gancho que apunta a un nuevo archivo bw_setup.js. Esto se activa automáticamente al npm install sin que sea necesaria la intervención del usuario.
Etapa 1: bw_setup.js
Un programa de arranque multiplataforma. Detecta el sistema operativo y la arquitectura de la víctima, y descarga el entorno de ejecución legítimo de Bun JavaScript directamente desde github.com/oven-sh/bun, y lo utiliza para ejecutar la carga útil de la fase 2.
Fase 2: bw1.js
Una carga útil de 10 MB muy ofuscada. Una vez desofuscada, resulta ser un recolector de credenciales con todas las funciones y un gusano de cadena de suministro. Su comportamiento se asemeja mucho al de oleadas anteriores de Shai-Hulud, e incluso contiene la cadena «Shai-Hulud: The Third Coming» codificada de forma fija como descripción del repositorio público de GitHub que crea para exfiltrar los datos robados.
Esta versión presenta una temática muy marcada del universo de «Dune»: el repositorio de exfil lleva un nombre generado aleatoriamente a partir del vocabulario de «Dune» (fremen-gusano-de-arena-441, harkonnen-melange-7, etc.), y la carga útil contiene un manifiesto contra la IA incrustado que intenta escribir en los archivos de configuración del shell de las víctimas.
Lo que roba
El malware analiza una lista predefinida de archivos de credenciales de gran valor en el equipo de la víctima:
~/.ssh/id* / ~/.ssh/id_ (claves privadas SSH)
~/.ssh/known_hosts (huellas de host SSH)
~/.ssh/keys (almacenamiento adicional de claves SSH)
~/.aws/credentials (claves de acceso de AWS)
~/.config/gcloud/credentials.db (credenciales de GCP)
~/.npmrc / .npmrc (tokens de autenticación de npm)
~/.claude.json / .claude.json (token de autenticación de Claude Code)
~/.claude/mcp.json (configuraciones del servidor MCP de Claude Code; puede contener claves API y credenciales de base de datos)
~/.kiro/settings/mcp.json (configuraciones del servidor MCP de Kiro)
.git/config (URL remotas de Git y credenciales)
.git-credentials (contraseñas de Git almacenadas)
.env (variables de entorno del proyecto y claves API)
~/.bash_history / ~/.zsh_historyAdemás de los archivos locales, el malware también ejecuta programas de recopilación para AWS SSM Parameter Store, AWS Secrets Manager, Azure Key Vault y GCP Secret Manager utilizando credenciales de la nube del entorno. Cualquiera que ejecute esto en un equipo de desarrollo conectado a la nube o en un servidor de integración continua (CI) perderá toda su infraestructura de secretos.
El malware se conecta a dos direcciones URL C2:
hxxps://audit.checkmarx[.]cx/v1/telemetry— C2 principal, que afecta directamente a todas las infecciones. No es un Checkmarx legítimo Checkmarx ;.cxEs el Island de Navidad. Bloquéalo inmediatamente.hxxps://api.github[.]com/search/commits?q=beautifulcastle%20— Alternativa. Si el servidor C2 principal está inactivo, el malware busca en estas confirmaciones de GitHub un nombre de host sustitutivo firmado.
La propagación de Shai-Hulud
Hemos encontrado indicios de una propagación similar a la de Shai-Hulud. Los datos sustraídos se exfiltran a un repositorio público de GitHub creado con la propia cuenta de la víctima. En el caso de las víctimas que no pertenecen a ninguna organización, su token de GitHub también se publica en un «dead-drop» público de GitHub, donde otras máquinas infectadas pueden encontrarlo y reutilizarlo para llevar a cabo su propia exfiltración. En el caso de las víctimas que sí pertenecen a una organización, su token se mantiene en privado únicamente dentro de los datos de exfiltración cifrados.
Cómo Aikido lo detecta
Si es usuario de Aikido, revise su feed central y filtre por problemas de malware. Esto aparecerá como un problema crítico de 100/100. Aikido realiza reescaneos cada noche, pero recomendamos activar un reescaneo manual ahora.
Si aún no es usuario de Aikido, puede crear una cuenta y conectar sus repositorios. Nuestra cobertura de malware está incluida en el plan gratuito, sin necesidad de tarjeta de crédito.
Para una cobertura más amplia en todo su equipo, el Endpoint Protection de Aikido le proporciona visibilidad y control sobre los paquetes de software instalados en los dispositivos de su equipo. Cubre extensiones de navegador, librerías de código, plugins de IDE y dependencias de compilación, todo en un solo lugar. Detenga el malware antes de que se instale.
Para protegerte en el futuro, te recomendamos Aikido Safe Chain (de código abierto). Safe Chain se integra en tu flujo de trabajo actual, interceptando los comandos npm, npx, yarn, pnpm y pnpx, y comprobando los paquetes con Aikido Intel antes de instalarlos.
IOCs
- Paquete:
@bitwarden/cli(versión 2026.4.0) - Archivo de preinstalación: bw_setup.js
- SHA256:
37f34aa3b86db6898065f3ca886031978580a15251f2576f6d24c3b778907336
- SHA256:
- Archivo de carga útil: bw1.js
- SHA256:
18f784b3bc9a0bcdcb1a8d7f51bc5f54323fc40cbd874119354ab609bef6e4cb
- SHA256:
- Descripción del repositorio de GitHub:
Shai-Hulud: La tercera venida - Punto final de exfiltración:
audit.checkmarx[.]cx:443/v1/telemetry - Mensajes públicos de confirmación que comienzan por
Viva la resistencia contra las máquinas

