En bref

  • Le package npm @bitwarden/cli v2026.4.0 a été publié compromis le 22 avril 2026 pendant environ 1 h 30.
  • Le worm Shai-Hulud: The Third Coming vole clés SSH, secrets cloud et credentials d'outils IA puis se propage via les packages des victimes.
  • Bitwarden confirme que l'intrusion provient de la compromission Checkmarx et qu'aucune donnée utilisateur n'a été touchée.

Ce qui s'est passé

Socket et Aikido ont détecté le 23 avril 2026 une version malveillante du package @bitwarden/cli publiée sur npm. La version 2026.4.0 est restée disponible entre 17 h 57 et 19 h 30 heure de l'Est américain le 22 avril, soit environ 1 h 30 d'exposition. Bitwarden a confirmé l'incident et lié la compromission à l'attaque récente contre Checkmarx, dont l'accès aurait servi à pivoter vers le pipeline de publication npm du gestionnaire de mots de passe.

Le payload est une nouvelle itération du worm Shai-Hulud, déjà observé dans deux vagues précédentes en 2025. Baptisée « The Third Coming » par les analystes, cette variante vole les clés SSH, les secrets cloud AWS, GCP et Azure, les credentials d'outils de coding IA comme Cursor ou Copilot, et scanne les tokens npm de la victime pour injecter la backdoor dans d'autres packages qu'elle publie. Le vecteur de propagation transforme chaque développeur compromis en nouveau relais actif.

Selon Socket, la chaîne d'infection est liée à la campagne TeamPCP en cours, qui poursuit son offensive sur l'écosystème JavaScript depuis plusieurs semaines. Bitwarden a invalidé la version incriminée, déclenché une rotation complète de ses tokens de publication et demandé aux utilisateurs ayant installé la version piégée de révoquer immédiatement leurs clés SSH et secrets cloud exposés.

Pourquoi c'est important

L'attaque confirme l'enchaînement redouté des compromissions supply chain : un fournisseur de sécurité (Checkmarx) tombe, puis sert de tremplin pour atteindre un autre fournisseur de sécurité (Bitwarden), dans une cascade qui finit par toucher les développeurs finaux. Chaque maillon infecté devient à son tour un vecteur, ce qui rend le confinement exponentiellement plus complexe que pour une attaque isolée sur un seul éditeur.

Pour les équipes DevSecOps, l'épisode rappelle que les installations automatisées de CLI côté développeur ou côté CI/CD doivent passer par un registre privé avec verrouillage de version, et que les secrets présents sur les postes développeurs (SSH, cloud, tokens IA) doivent être rotés au moindre doute. La fenêtre de 1 h 30 suffit à infecter des milliers de runners CI qui auto-mettent à jour leurs dépendances.

Ce qu'il faut retenir

  • Révoquez et rotez vos clés SSH, secrets cloud et tokens IA si vous avez installé @bitwarden/cli v2026.4.0 entre le 22 et le 23 avril 2026.
  • Mettez en place un miroir npm privé avec scan SCA automatique pour toute nouvelle version publiée.
  • Surveillez les publications npm sortantes depuis vos postes : un worm se propage en réutilisant les tokens locaux.

Comment savoir si j'ai installé la version compromise de @bitwarden/cli ?

Exécutez npm list -g @bitwarden/cli ou inspectez vos lockfiles pour repérer la version 2026.4.0. Si elle apparaît, considérez l'environnement compromis : rotez tous les secrets accessibles depuis le poste, régénérez les paires SSH, invalidez les tokens npm et contrôlez les publications récentes de vos propres packages. Un scan des artefacts publiés pendant la fenêtre d'exposition est indispensable.

Besoin d'un accompagnement expert ?

Ayi NEDJIMI vous accompagne sur vos projets cybersécurité et IA.

Prendre contact