Mistral AI et TanStack touchés lors d'une attaque sur la chaîne d'approvisionnement avec un malware certifié SLSA

Les attaquants ont compromis le package officiel Mistral AI Python sur PyPI ainsi que des centaines d'autres packages de développeurs largement utilisés, exposant les jetons GitHub, les informations d'identification cloud et les coffres-forts de mots de passe dans l'écosystème des développeurs d'IA et de cryptographie.
Microsoft Threat Intelligence a déclaré le 11 mai qu'il enquêtait sur le package mistralai PyPI version 2.4.6 après avoir découvert un code malveillant injecté dans mistralai/client/__init__.py qui s'exécutait lors de l'importation, téléchargeant une charge utile secondaire de 83.142.209.194 vers /tmp/transformers.pyz et le lançant sur les systèmes Linux.
Microsoft enquête sur la compromission du package mistralai PyPI v2.4.6. Les attaquants ont injecté du code dans mistralai/client/__init__.py qui s'exécute lors de l'importation, télécharge hxxps://83[.]142[.]209[.]194/transformers.pyz vers /tmp/transformers.pyz et lance une charge utile de deuxième étape sous Linux.… pic.twitter.com/9Xfb07Hcia
– Microsoft Threat Intelligence (@MsftSecIntel) 12 mai 2026
Le nom de fichier imite le framework Transformers AI largement utilisé de Hugging Face. Le compromis Mistral est l’un des éléments d’une campagne coordonnée que les chercheurs appellent Mini Shai-Hulud.
La plateforme de sécurité SafeDep a signalé que l'opération avait compromis plus de 170 packages et publié 404 versions malveillantes entre le 11 et le 12 mai.
L'attaque porte le CVE-2026-45321 avec un score CVSS de 9,6, ce qui lui confère une gravité critique.
Le modèle de confiance de provenance SLSA vient de s'effondrer
Ce qui rend cette attaque structurellement sans précédent : les packages malveillants portaient des attestations de provenance SLSA Build Level 3 valides.
La provenance SLSA est un certificat cryptographique généré par Sigstore destiné à vérifier qu'un package a été construit à partir d'une source fiable.
Snyk a signalé que l'attaque TanStack est le premier cas documenté de packages NPM malveillants avec une provenance SLSA valide, ce qui signifie que les défenses de la chaîne d'approvisionnement basées sur l'attestation sont désormais manifestement insuffisantes.
Les attaquants, identifiés comme TeamPCP, ont enchaîné trois vulnérabilités : une mauvaise configuration du workflow pull_request_target, un empoisonnement du cache de GitHub Actions et une extraction de la mémoire d'exécution d'un jeton OIDC du processus d'exécution de GitHub Actions.
La validation malveillante a été créée sous une identité fabriquée se faisant passer pour l'application Anthropic Claude GitHub, préfixée par [skip ci] pour supprimer les vérifications automatisées.
Ce que vole le malware et comment il se propage
Comme Cryptopolitan l'a rapporté sur l'incident de Trust Wallet de janvier 2026 lié à 8,5 millions de dollars de pertes, le ver Shai-Hulud a évolué sur plusieurs vagues depuis septembre 2025.
Cette dernière variante ajoute le vol de coffre-fort de mots de passe, les chercheurs de Wiz documentant que le malware cible désormais les coffres-forts 1Password et Bitwarden ainsi que les clés SSH, les informations d'identification AWS et GCP, les comptes de service Kubernetes, les jetons GitHub et les informations d'identification de publication npm.
Le voleur s'exfiltre via trois canaux redondants : un domaine typosquat (git-tanstack.com), le réseau de messagerie décentralisé Session et des référentiels GitHub sur le thème de Dune créés avec des jetons volés.
Le malware se ferme si les paramètres de langue russe sont détectés. Sur les systèmes géolocalisés en Israël ou en Iran, cela introduit une probabilité de 1 sur 6 d'exécuter un effacement récursif (rm -rf /).
Comment Mistral et l’écosystème au sens large ont réagi
Mistral a publié un avis de sécurité le 12 mai indiquant que son infrastructure principale n'était pas compromise. La société a attribué l'incident à un appareil de développement compromis lié à la campagne plus large de la chaîne d'approvisionnement TanStack.
La version mistralai==2.4.6 a été téléchargée peu après minuit UTC le 12 mai, avant que PyPI ne mette le projet en quarantaine.
Les packages npm compromis, notamment @mistralai/mistralai, @mistralai/mistralai-azure et @mistralai/mistralai-gcp, étaient disponibles pendant plusieurs heures avant leur suppression.
Le volume hebdomadaire cumulé de téléchargements de packages compromis dépasse 518 millions. @tanstack/react-router reçoit à lui seul 12,7 millions de téléchargements hebdomadaires.
Il est conseillé aux développeurs qui ont installé les versions concernées d'effectuer une rotation des informations d'identification cloud, des jetons GitHub, des clés SSH et d'échanger des clés API, et d'inspecter les répertoires .claude/ et .vscode/ pour détecter les hooks de persistance.