Version 2026.4.0 du très utilisé @bitwarden/cli package npm (78 000 téléchargements hebdomadaires) a été identifié comme malveillant. Le package contient un ver sophistiqué de vol d'identifiants en plusieurs étapes qui se nomme explicitement « Shai-Hulud : The Third Coming », un rappel direct aux précédentes campagnes de chaîne d'approvisionnement Shai-Hulud, et cible les identifiants des développeurs, y compris les clés SSH, les secrets cloud et même les fichiers de configuration MCP.
Cela survient peu après la récente compromission de Checkmarx, qui incluait un projet Docker Hub et une extension VS Code. On pense que l'accès obtenu lors de cette campagne a pu être exploité pour compromettre la chaîne de publication de Bitwarden. Notamment, l'attaquant semble avoir contourné les contrôles de publication fiables de Bitwarden en infectant le pipeline CI/CD lui-même (publish-ci.yml dans github.com/bitwarden/clients), permettant la publication d'un package malveillant sous le nom légitime @bitwarden nom.
Ce qui s'est passé
@bitwarden/cli@2026.4.0 a introduit un preinstall hook malveillant pointant vers un nouveau fichier bw_setup.js. Celui-ci se déclenche automatiquement lors de npm install sans aucune interaction utilisateur requise.
Étape 1 : bw_setup.js
Un programme d'amorçage multiplateforme. Il détecte le système d'exploitation et l'architecture de la victime, télécharge le runtime JavaScript Bun légitime directement depuis github.com/oven-sh/bun, et l'utilise pour exécuter le payload de la Phase 2.
Phase 2 : bw1.js
Un payload de 10 Mo fortement obfusqué. Une fois désobfusqué, il s'agit d'un collecteur de credentials et d'un ver de chaîne d'approvisionnement entièrement fonctionnel. Son comportement ressemble fortement aux vagues précédentes de Shai-Hulud, et il contient même la chaîne de caractères "Shai-Hulud: The Third Coming" codée en dur comme description du dépôt GitHub public qu'il crée pour exfiltrer les données volées.
Cette version présente une forte thématique de l'univers de Dune : le dépôt d'exfiltration est nommé à partir d'un vocabulaire aléatoire de Dune (fremen-sandworm-441, harkonnen-melange-7, etc.), et le payload contient un manifeste anti-IA intégré qu'il tente d'écrire dans les fichiers de configuration shell des victimes.
Ce qu'il dérobe
Le malware scanne une liste codée en dur de fichiers de credentials de grande valeur sur la machine de la victime :
~/.ssh/id* / ~/.ssh/id_ (Clés privées SSH)
~/.ssh/known_hosts (Empreintes d'hôtes SSH)
~/.ssh/keys (Stockage additionnel de clés SSH)
~/.aws/credentials (Clés d'accès AWS)
~/.config/gcloud/credentials.db (Credentials GCP)
~/.npmrc / .npmrc (Tokens d'authentification npm)
~/.claude.json / .claude.json (Token d'authentification Claude Code)
~/.claude/mcp.json (Configurations de serveur Claude Code MCP, peut contenir des clés API et des credentials de base de données)
~/.kiro/settings/mcp.json (Configurations de serveur Kiro MCP)
.git/config (URLs et credentials Git distants)
.git-credentials (Mots de passe Git stockés)
.env (Variables d'environnement de projet et clés API)
~/.bash_history / ~/.zsh_historyAu-delà des fichiers locaux, le malware exécute également des collecteurs pour AWS SSM Parameter Store, AWS Secrets Manager, Azure Key Vault et GCP Secret Manager en utilisant les credentials cloud ambiants. Quiconque exécute cela sur une machine de développeur connectée au cloud ou un runner CI perd toute son infrastructure de secrets.
Le malware contacte deux URLs C2 :
hxxps://audit.checkmarx[.]cx/v1/telemetry— C2 principal, contacté directement à chaque infection. Pas un domaine Checkmarx légitime ;.cxest le TLD de l'île Christmas. Bloquez-le immédiatement.hxxps://api.github[.]com/search/commits?q=beautifulcastle%20— de secours. Si le C2 principal est hors service, le malware recherche dans ces commits GitHub un hostname de remplacement signé.
La propagation Shai-Hulud
Nous avons trouvé des preuves d'une propagation de type Shai-Hulud. Les données volées sont exfiltrées vers un dépôt GitHub public créé sous le propre compte de la victime. Pour les victimes sans appartenance à une organisation, leur token GitHub est également publié dans un dead-drop de commit GitHub public où d'autres machines infectées peuvent le trouver et le réutiliser pour financer leur propre exfiltration. Les victimes ayant une appartenance à une organisation voient leur token conservé privé uniquement à l'intérieur des données d'exfiltration chiffrées.
Comment Aikido détecte cela
Si vous êtes un utilisateur Aikido, vérifiez votre flux central et filtrez les problèmes de logiciels malveillants. Cela apparaîtra comme un problème critique 100/100. Aikido effectue des rescans nocturnes, mais nous vous recommandons de déclencher un rescan manuel dès maintenant.
Si vous n'êtes pas encore un utilisateur Aikido, vous pouvez créer un compte et connecter vos dépôts. Notre couverture des logiciels malveillants est incluse dans le plan gratuit, aucune carte de crédit requise.
Pour une couverture plus large de toute votre équipe, l'Endpoint Protection d'Aikido vous offre une visibilité et un contrôle sur les packages logiciels installés sur les appareils de votre équipe. Elle couvre les extensions de navigateur, les bibliothèques de code, les plugins d'IDE et les dépendances de build, le tout en un seul endroit. Arrêtez les logiciels malveillants avant qu'ils ne soient installés.
Pour une protection future, envisagez Aikido Safe Chain (open source). Safe Chain s'intègre à votre flux de travail existant, en interceptant les commandes npm, npx, yarn, pnpm et pnpx et en vérifiant les paquets par rapport à Aikido Intel avant l'installation.
IOCs
- Package :
@bitwarden/cli(version 2026.4.0) - Fichier de pré-installation : bw_setup.js
- SHA256:
37f34aa3b86db6898065f3ca886031978580a15251f2576f6d24c3b778907336
- SHA256:
- Fichier payload : bw1.js
- SHA256:
18f784b3bc9a0bcdcb1a8d7f51bc5f54323fc40cbd874119354ab609bef6e4cb
- SHA256:
- Description du dépôt GitHub :
Shai-Hulud: The Third Coming - Point de terminaison d'exfiltration :
audit.checkmarx[.]cx:443/v1/telemetry - Messages de commit publics commençant par
LongLiveTheResistanceAgainstMachines

