Bulletin d'actualité du CERT-FR

Objet : Attaque par la chaîne d’approvisionnement de plusieurs paquets NPM

Gestion du document

Référence CERTFR-2025-ACT-051
Titre Attaque par la chaîne d’approvisionnement de plusieurs paquets NPM
Date de la première version27 novembre 2025
Date de la dernière version28 novembre 2025
Source(s)

Une gestion de version détaillée se trouve à la fin de ce document.

Résumé

Le CERT-FR a connaissance d'une vague de compromission de paquets NPM ayant débuté le 23 novembre 2025. En date du 26 novembre 2025, plus de 700 paquets ont été affectés. Ce nombre important est dû à l'auto-réplication du logiciel malveillant. Seules quelques versions de ces paquets, les plus récentes, ont été compromises. Plusieurs d'entre elles ont été supprimées par les développeurs par la suite.

Cette campagne est nommée Sha1-Hulud 2.0, Shai-Hulud ou Shai Hulud dans plusieurs billets de blogues. Elle constitue la deuxième vague après celle présentée en septembre 2025, dans le bulletin d'actualité CERTFR-2025-ACT-040, et présente un niveau de sophistication accru.

Des listes de paquets concernés par cette vague ainsi que des indicateurs de compromissions sont disponibles (cf. section Documentation). Ces informations techniques n'ont pas été qualifiées par le CERT-FR.

Les éditeurs PostHog et Postman précisent les versions de leurs paquets qui ont été compromises [1][2].

Lorsqu'une version malveillante d'un paquet a été téléchargée, un script de pré-installation est exécuté et peut effectuer les actions suivantes :

  • récupération de différents secrets présents sur la machine compromise au travers de variables d'environnement ou de fichier de configuration. L'outil TruffleHog est également utilisé dans cette optique ;
  • exfiltration des secrets ;
  • réplication par l'infection de paquets NPM ;
  • suppression de données utilisateurs ;
  • mise en place de persistance.

Recommandations

En raison de l'évolution de la campagne, le CERT-FR recommande de :

  • chercher les différents indicateurs de compromissions présentés dans les billets de blogue et en particulier le fichier bun_environment.js ;
  • vérifier l'ensemble des paquets NPM installés et leurs versions et les comparer aux versions indiquées comme compromises ;
  • vérifier les worfklows Github Action et supprimer les workflows inconnus.

Si cela est possible :

  • geler temporairement la mise à jour des paquets NPM et utiliser des versions connues comme légitimes ;
  • effectuer un redémarrage des machines susceptibles d'utiliser les paquets.

En cas de suspicion de compromission :

  • désinstaller l'ensemble des paquets concernés ;
  • vérifier l'intégrité des plateformes d'intégration continue et des potentiels paquets NPM maintenus ;
  • effectuer une rotation de l'ensemble des secrets présents sur la machine.

De plus les fiches réflexes relatives à la compromission système peuvent être consultées [3][4].

Documentation

Gestion détaillée du document

Date Description
27 novembre 2025 Version initiale
28 novembre 2025 Ajout d'une recommandation
Choisissez un thème pour personnaliser l'apparence du site.