Attaque critique de la chaîne d'approvisionnement ciblant le CLI Bitwarden via un package npm compromis
Un package malveillant a été brièvement mis en ligne sur le canal de distribution npm du CLI **Bitwarden**, compromettant des systèmes avec une charge utile de vol d'identifiants. Les attaquants semblent avoir exploité une **GitHub** Action compromise dans le pipeline CI/CD de **Bitwarden**. Les utilisateurs ayant téléchargé la version affectée sont invités à changer leurs identifiants immédiatement.

_Mis à jour avec des informations supplémentaires de Bitwarden._
Le CLI **Bitwarden** a été brièvement compromis après que des attaquants ont mis en ligne un package `@bitwarden/cli` malveillant sur npm, contenant une charge utile de vol d'identifiants capable de se propager à d'autres projets.
Selon les rapports de **Socket**, **JFrog** et **OX Security**, le package malveillant a été distribué sous la version 2026.4.0 et est resté disponible entre 17h57 et 19h30 ET le 22 avril 2026, avant d'être retiré.
Bitwarden a confirmé l'incident, déclarant que la violation n'affectait que son canal de distribution npm pour le package npm du CLI et uniquement ceux qui avaient téléchargé la version malveillante.
"L'enquête n'a trouvé aucune preuve que les données du coffre-fort des utilisateurs finaux aient été consultées ou soient menacées, ni que les données de production ou les systèmes de production aient été compromis. Une fois le problème détecté, l'accès compromis a été révoqué, la version npm malveillante a été obsolète, et des mesures de remédiation ont été immédiatement lancées", a déclaré Bitwarden dans un communiqué.
"Le problème a affecté le mécanisme de distribution npm pour le CLI pendant cette fenêtre limitée, et non l'intégrité du code légitime du CLI Bitwarden ou des données du coffre-fort stockées."
Bitwarden indique avoir révoqué l'accès compromis et rendu obsolète la version npm du CLI affectée.
## L'attaque de la chaîne d'approvisionnement Bitwarden
Selon Socket, les acteurs de la menace semblent avoir utilisé une **GitHub** Action compromise dans le pipeline CI/CD de **Bitwarden** pour injecter du code malveillant dans le package npm du CLI.
Selon JFrog, le package a été modifié de telle sorte que le script `preinstall` et le point d'entrée du CLI utilisent un chargeur personnalisé nommé `bw_setup.js`, qui vérifie la présence du runtime **Bun** et, s'il n'existe pas, le télécharge.
Le chargeur utilise ensuite le runtime **Bun** pour lancer un fichier JavaScript obfusqué nommé `bw1.js`, qui agit comme un malware de vol d'identifiants.

Une fois exécuté, le malware collecte un large éventail de secrets sur les systèmes infectés, notamment des tokens npm, des tokens d'authentification **GitHub**, des clés SSH et des identifiants cloud pour **AWS**, **Azure** et **Google Cloud**.
Le malware chiffre les données collectées à l'aide d'AES-256-GCM et les exfiltre en créant des dépôts **GitHub** publics sous le compte de la victime, où les données chiffrées sont stockées.
OX Security indique que ces dépôts créés contiennent la chaîne "Shai-Hulud: The Third Coming", une référence à des attaques antérieures de la chaîne d'approvisionnement npm qui utilisaient une méthode et une chaîne de texte similaires lors de l'exfiltration des données volées.

Le malware dispose également de capacités d'auto-propagation, OX Security signalant qu'il peut utiliser les identifiants npm volés pour identifier les packages que la victime peut modifier et y injecter du code malveillant.
Socket a également observé que la charge utile cible les environnements CI/CD et tente de récolter des secrets qui peuvent être réutilisés pour étendre l'attaque.
L'attaque survient après que **Checkmarx** a divulgué un incident distinct de la chaîne d'approvisionnement qui affecte ses images Docker KICS, ses **GitHub** Actions et ses extensions de développeur.
Bien qu'on ne sache pas exactement comment les attaquants ont obtenu l'accès, Bitwarden a déclaré à BleepingComputer que l'incident était lié à l'attaque de la chaîne d'approvisionnement **Checkmarx**, un outil de développement lié à Checkmarx compromis ayant permis l'abus du chemin de livraison npm pour le CLI pendant une fenêtre de temps limitée.
Socket a déclaré à BleepingComputer qu'il y avait des indicateurs qui se chevauchent entre la violation **Checkmarx** et cette attaque.
"La connexion se situe au niveau du malware et de l'infrastructure. Dans le cas de Bitwarden, la charge utile malveillante utilise le même point de terminaison `audit.checkmarx[.]cx/v1/telemetry` qui est apparu dans l'incident Checkmarx. Elle utilise également la même routine d'obfuscation `__decodeScrambled` avec la graine `0x3039`, et présente le même schéma général de vol d'identifiants, d'exfiltration basée sur **GitHub**, et de comportement de propagation de la chaîne d'approvisionnement", a déclaré Socket à BleepingComputer.
"Ce chevauchement va au-delà d'une ressemblance superficielle. La charge utile Bitwarden contient le même type de composants gzip+base64 intégrés que nous avons vus dans les malwares précédents, y compris des outils pour la collecte d'identifiants et l'abus en aval."
Les deux campagnes ont été liées à un acteur de la menace connu sous le nom de TeamPCP, qui avait précédemment ciblé des packages de développeurs dans les attaques massives de la chaîne d'approvisionnement **Trivy** et **LiteLLM**.
Les développeurs qui ont installé la version affectée doivent considérer leurs systèmes et leurs identifiants comme compromis et changer tous les identifiants exposés, en particulier ceux utilisés pour les pipelines CI/CD, le stockage cloud et les environnements de développement.
_Mise à jour 23/04/26 : Mise à jour de l'article avec des informations de Bitwarden confirmant que l'incident était lié à l'attaque de la chaîne d'approvisionnement Checkmarx._