Mini Shai-Hulud : une vague de compromissions sans précédent frappe l'écosystème open source
Le groupe de menace TeamPCP a déclenché une nouvelle campagne de supply chain attack baptisée Mini Shai-Hulud, compromettant massivement des packages npm et PyPI, notamment ceux de Mistral AI, TanStack, UiPath, OpenSearch et Guardrails AI. Selon les données compilées par plusieurs éditeurs de cybersécurité, plus de 160 packages npm ont été infectés, avec 373 entrées malveillantes recensées par Aikido Security et 416 artefacts compromis sur npm et PyPI.
L'attaque, révélée le 12 mai 2026, exploite des tokens OpenID Connect (OIDC) volés pour publier des versions malveillantes avec une provenance attestée (SLSA Build Level 3), rendant les paquets cryptographiquement authentiques aux yeux des développeurs. Les packages Mistral AI ont été modifiés pour inclure un fichier JavaScript obfusqué ("router_init.js") qui dérobe les identifiants cloud, les wallets de cryptomonnaies, les tokens GitHub et les secrets CI/CD. Les données exfiltrées transitent par le domaine "filev2.getsession[.]org", utilisant le protocole Session pour contourner les filtres d'entreprise.
Des techniques d'infiltration sophistiquées
Les chercheurs ont identifié deux méthodes distinctes de compromission. Pour l'écosystème TanStack — qui s'est vu attribuer le CVE-2026-45321 avec un score CVSS de 9.6 — les attaquants ont utilisé une chaîne d'attaques GitHub Actions combinant le trigger "pull_request_target", un empoisonnement de cache et le vol de tokens OIDC. Une dépendance optionnelle pointait vers un commit orphelin sur un fork du dépôt TanStack/router, permettant l'exécution automatique du payload via le runtime Bun.
Pour les packages Mistral AI, la méthode était plus directe : le fichier "package.json" a été remplacé par un hook preinstall exécutant "node setup.mjs", qui télécharge Bun et lance le même malware. Endor Labs décrit une astuce de commit Git où les attaquants ont exploité le stockage partagé des forks GitHub pour rendre accessible un commit détaché, sans appartenir à aucune branche.
Contexte : une escalade dans la guerre des supply chains
Cette campagne n'est pas un incident isolé. "Mini Shai-Hulud" est la dernière itération d'une série d'attaques attribuées à TeamPCP, qui avait déjà ciblé le gestionnaire de mots de passe Bitwarden et les packages officiels SAP en septembre 2025. La précédente vague avait exposé des centaines de milliers de secrets de développeurs dans des dépôts GitHub générés automatiquement.
L'ampleur actuelle est inédite : les packages malveillants portent des signatures Sigstore valides et des attestations de provenance issues des pipelines CI/CD légitimes, rendant la détection quasi impossible pour les outils standards. StepSecurity souligne que les packages infectés "semblaient cryptographiquement authentiques" pour tout développeur effectuant une vérification manuelle.
Un malware qui persiste dans les IDE
Le stealer implanté ne se contente pas de collecter des identifiants : il établit des hooks de persistance dans Claude Code et Microsoft Visual Studio Code, lui permettant de se réexécuter à chaque lancement des environnements de développement. Il installe également un service "gh-token-monitor" qui surveille et réexfiltre les tokens GitHub, et injecte deux workflows GitHub Actions malveillants pour sérialiser les secrets du dépôt vers le serveur "api.masscan[.]cloud".
Perspective : une confiance érodée dans l'écosystème open source
Cette attaque soulève des questions existentielles sur la sécurité de la chaîne d'approvisionnement logicielle. Alors que des gouvernements comme le Japon et l'UE cherchent à intégrer des modèles d'IA dans leurs stratégies de cybersécurité — avec des discussions impliquant Mistral AI pour un modèle dédié à la défense — la compromission des packages mêmes de Mistral crée un paradoxe inquiétant.
L'incident intervient dans un contexte où les attaques de supply chain se multiplient, ciblant des outils de confiance comme les gestionnaires de paquets. Le fait que des packages signés avec des attestations SLSA de niveau 3 aient pu être compromis indique que les mécanismes de confiance actuels — signatures cryptographiques, provenance vérifiable — ne suffisent plus face à des adversaires capables de voler les tokens CI/CD. Cette fragilité pourrait accélérer l'adoption de solutions comme la signature logicielle renforcée ou l'inspection automatisée des dépendances, mais elle érode aussi la confiance des développeurs dans les écosystèmes npm et PyPI.
Alors que les investigations se poursuivent, les équipes de sécurité recommandent de vérifier immédiatement les versions installées des packages concernés et de révoquer tous les tokens GitHub et cloud potentiellement exposés. Pour les entreprises utilisant des bibliothèques open source, cet épisode rappelle l'importance de la surveillance proactive et de la limitation des permissions accordées aux pipelines CI/CD — des leçons que l'écosystème open source apprend à un coût élevé.
Commentaires