À l'assaut : franchir le Firewall

Une nouvelle série documentaire intitulée «
» Présentée par Kari Byron

Une nouvelle série documentaire animée par Kari Byron, «
» Sortie le 8 août

Diffusion à partir du 8 août

00JOURS
21HEURES
38MINUTES
12SECS
En savoir plus

Le retour de Shai-Hulud : le ver ChainDrop frappe npm et infecte des centaines de paquets

Le ver auto-propagateur est de retour. Cette fois-ci, il a infecté keyv, une bibliothèque de mise en cache npm intégrée à des millions de builds, et il y a implanté un deuxième déclencheur qui s'activera la prochaine fois qu'un développeur ouvrira simplement le projet.
Par Vinh Lam, gestionnaire principal de programme technique
Partager cet article

Le 4 août 2026, un pirate a pris le contrôle du compte GitHub du responsable de keyv, une bibliothèque de mise en cache clé-valeur enregistrant environ plusieurs centaines de millions de téléchargements hebdomadaires sur npm, et a injecté un ver destiné à voler des identifiants dans l'ensemble de la famille de paquets gérée par ce responsable, notamment cacheable, flat-cache, file-entry-cache et cache-manager. Baptisé « ChainDrop », ce ver s'est propagé à des centaines d'autres paquets totalisant plus de deux milliards d'installations mensuelles.

Ce qui rend cette attaque dangereuse, ce n’est pas le nombre de téléchargements, mais la manière dont le code malveillant a réussi à gagner la confiance des utilisateurs. L’attaquant a publié les versions via le pipeline de publication automatisé du projet lui-même ; les versions corrompues disposaient donc d’une provenance valide : une preuve signée attestant qu’un paquet avait été compilé par le pipeline officiel à partir de la source authentique. Cette preuve est censée constituer un gage de sécurité. Dans ce cas précis, elle était authentique, car c’est le pipeline lui-même qui avait été compromis. Pour un développeur, ou pour un outil de sécurité vérifiant la signature, la version malveillante semblait tout à fait authentique.

ChainDrop constitue la dernière vague d'une campagne que les chercheurs suivent depuis septembre 2025 : Shai-Hulud 1.0 (septembre 2025), 2.0 (novembre 2025) et Mini Shai-Hulud, quatrième vague (mai 2026). Chacune de ces vagues a connu une escalade, les variantes ultérieures se caractérisant par une propagation plus agressive et des exploits touchant une partie plus large de la chaîne d'approvisionnement.

Ce que nous savons à ce jour (6 août 2026)

  • Date : « keyv@6.0.0 » est la date de début confirmée, publiée le 4 août 2026.
  • Point d'entrée: l'attaque a commencé par le piratage du compte GitHub d'un responsable de maintenance, et la version malveillante a été diffusée via le pipeline de publication officiel du projet.
  • Charge utile : il existe un chemin de préinstallation via le fichier setup.mjs, qui télécharge Bun et lance une charge utile volumineuse et obfusquée destinée à voler des identifiants.
  • Origine : les chercheurs le classent dans la famille de logiciels malveillants Shai-Hulud.

Un système fiable utilisé contre lui-même

Ce qui rend ChainDrop particulièrement inquiétant, c'est qu'il ne s'est pas appuyé sur une faille spectaculaire ni sur un faux site de téléchargement. Il a au contraire tiré parti de la chaîne logistique logicielle habituelle, c'est-à-dire du même processus de publication et d'installation de paquets que celui utilisé par des millions de développeurs.

Concrètement, cela signifie qu’un paquet peut paraître légitime tout en contenant discrètement un code malveillant qui s’active lors de l’installation. Selon les équipes de sécurité, ce logiciel malveillant a été conçu pour voler des informations confidentielles sur les machines des développeurs et dans les systèmes CI/CD, notamment des jetons GitHub, des identifiants npm, des clés AWS, des secrets Kubernetes et d’autres données d’accès.

Le risque global ne se limite pas aux développeurs. Toute organisation utilisant les paquets concernés peut être indirectement affectée par cette faille via ses systèmes de compilation, ses dépendances et ses pipelines de publication automatisés.

ChainDrop nous rappelle que les dépendances open source constituent un risque pour l'entreprise, et ne concernent pas uniquement les développeurs.

Un risque pour l'entreprise, pas seulement pour les développeurs

Pour toute organisation qui s'appuie sur JavaScript et Node.js, ChainDrop nous rappelle que les dépendances open source constituent un risque pour l'entreprise, et ne sont pas seulement une préoccupation pour les développeurs.

Un paquet compromis peut être introduit indirectement par le biais des dépendances et des systèmes de compilation, et peut entraîner le vol d’identifiants, un accès non autorisé à l’infrastructure cloud, ainsi que des opérations de rotation des secrets et de gestion des incidents à grande échelle. Lorsque l’intégrité des logiciels, le contrôle d’accès et les risques liés aux tiers relèvent de votre environnement de contrôle, comme c’est le cas dans le cadre des normes PCI DSS, DORA, NIS2 et CMMC, cette exposition a également des répercussions directes sur la conformité et la gouvernance.

Identifier vos vulnérabilités grâce à une SBOM

La difficulté réside dans la détection : les versions corrompues se nichent au plus profond des arborescences de dépendances et semblent authentiques. Lorsque nous avons analysé les paquets concernés à l'aide de SBOM dans MetaDefender ™ Software Supply Chain, les versions compromises ont été signalées, au lieu d'être considérées comme fiables en raison de leur provenance.

MetaDefender Software Supply Chain™ signale la version keyv@6.0.0 comme critique (GHSA-3p9h-f68w-m6fx). La dernière version non affectée par ce problème était la 5.6.0.
Visibilité de la chaîne logistique : une analyse de la famille « keyv » a permis de détecter 21 vulnérabilités critiques dans 23 paquets, dont 10 ont été signalées comme présentant un risque.
OPSWAT La liste SBOM disponible à l'adresse MetaDefender Core a bloqué un fichier package.json qui utilisait les paquets compromis.

La leçon à en tirer est que la meilleure défense contre ce type d'attaque consiste à vérifier le contenu d'un composant, plutôt que de se fier à sa provenance.

Principaux enseignements

  • La provenance atteste de l'origine, mais pas de l'intégrité. Une signature valide sur un pipeline compromis produit tout de même un paquet malveillant signé. Vérifiez le contenu, et pas seulement les attestations.
  • L'installation n'est plus le seul déclencheur. Les hooks de l'IDE et de l'agent au niveau du référentiel peuvent s'exécuter à l'ouverture. Étendez votre vérification au-delà de la commande « npm install ».
  • Cette campagne est toujours en cours. ChainDrop s'inscrit dans la dernière vague d'une série d'attaques qui ne cesse de s'intensifier depuis septembre 2025. Considérer chaque incident isolé comme résolu, sans s'attaquer aux failles sous-jacentes du pipeline et à la gestion des identifiants, revient à laisser la porte ouverte à la prochaine attaque.

Protégez votre chaîne d'approvisionnement grâce à MetaDefender Software Supply Chain

Restez à jour avec OPSWAT!

Inscrivez-vous dès aujourd'hui pour recevoir les dernières mises à jour de l'entreprise, de l'entreprise, des histoires, des informations sur les événements, et plus encore.