sfy39587stp17
Aller au contenu principal

Attaque massive NPM : 444 packages et 2 milliards de téléchargements infectés

L'écosystème JavaScript vient de subir l'une des plus vastes attaques de supply chain jamais enregistrées. Le ver informatique baptisé Shai-Hulud a infecté au moins 444 packages NPM totalisant près de 2 milliards de téléchargements mensuels, compromettant des milliers de projets à travers le monde. Cette offensive sophistiquée marque un tournant majeur dans l'histoire de la cybersécurité : pour la première fois, un malware s'auto-réplique de manière entièrement automatisée dans l'écosystème des dépendances JavaScript, transformant chaque victime en vecteur d'infection pour d'autres développeurs.

Une attaque par vagues successives qui s'accélère

Le cauchemar a commencé en septembre 2025 avec l'apparition de Shai-Hulud 2.0, un ver capable de se propager automatiquement à travers les chaînes de dépendances NPM. Contrairement aux attaques classiques qui ciblent des packages isolés, ce malware combine vol de credentials et republication automatisée de packages infectés. Lorsqu'un développeur ou un pipeline CI/CD installe un package compromis, le code malveillant s'exécute pendant le processus de build et déploie un scanner TruffleHog modifié pour aspirer tous les secrets présents sur le système : tokens NPM, clés GitHub, credentials AWS, secrets Kubernetes, tokens HashiCorp Vault, et même clés Stripe et Slack.

L'année 2026 a vu trois vagues d'attaques majeures. Le 11 mai, une nouvelle offensive a frappé l'écosystème via un empoisonnement du cache de l'intégration continue visant TanStack, avant de s'étendre rapidement aux packages liés à Mistral AI, UiPath et OpenSearch. Microsoft Security Research a identifié cette résurgence sous le nom de Mini Shai-Hulud, comptabilisant plus de 170 packages NPM et 2 packages PyPI compromis sur 404 versions malveillantes. Le groupe de menace TeamPCP, déjà responsable de la violation de Trivy en mars 2026, a revendiqué cette campagne coordonnée.

Mais c'est le 4 août 2026 que l'attaque a atteint son paroxysme. Les hackers ont compromis le compte GitHub du mainteneur de keyv, une bibliothèque de stockage clé-valeur téléchargée 127 millions de fois par semaine. Ce développeur contrôlait également cacheable (29 millions de téléchargements mensuels), flat-cache (565 millions) et file-entry-cache (557 millions), ainsi que plusieurs autres utilitaires de cache largement utilisés dans l'industrie. L'injection d'un ver voleur de credentials dans toute cette famille de packages a déclenché une réaction en chaîne dévastatrice : au total, 444 packages à travers 1381 versions ont été contaminés, touchant des organisations majeures comme Deliveroo, Qlik et PicsArt.

Un mécanisme d'infection sophistiqué et furtif

L'analyse technique révèle un niveau de sophistication rarement observé dans les attaques de supply chain. Les attaquants ont injecté deux fichiers dans les packages compromis : setup.mjs et Math_Symbol.js. Le premier agit comme un dropper fortement obfusqué qui télécharge silencieusement le runtime JavaScript Bun pour exécuter la charge utile, un fichier JavaScript de 728 Ko contenant les voleurs de credentials. Le malware intègre un scanner conscient de la plateforme (macOS versus Linux) qui exécute environ 200 patterns glob pour localiser les fichiers sensibles comme les fichiers .env et les clés privées SSH.

Le mécanisme récursif rend le ver auto-suffisant : les tokens NPM volés permettent au malware de backdoorer les packages des victimes, qui infectent à leur tour les utilisateurs en aval, tandis que les tokens GitHub volés donnent accès aux secrets stockés dans GitHub Actions. Les credentials récoltées sont exfiltrées vers des dépôts GitHub publics créés avec les identifiants volés des victimes. Les statistiques de récolte sont édifiantes : 581 tokens d'accès personnel GitHub, 386 tokens OAuth, 104 tokens GitHub à granularité fine, 101 tokens GitLab, plus des centaines de secrets liés aux plateformes de développement et aux services cloud.

Cette attaque marque la fin de l'ère des nuisances dans l'écosystème NPM et le début d'un paysage de menaces à hautes conséquences pour l'ensemble de l'industrie technologique mondiale. Les experts en sécurité recommandent aux organisations de supprimer immédiatement les packages malveillants, d'isoler les machines affectées, de faire tourner toutes les credentials exposées, de durcir le comportement de npm install et de renforcer les contrôles de publication dans les pipelines CI/CD. L'industrie du logiciel fait désormais face à une nouvelle réalité préoccupante : les vers de supply chain automatisés ne sont plus une menace théorique, mais une arme active déployée à grande échelle par des groupes cybercriminels organisés et de plus en plus sophistiqués.

sfy39587stp16