Attaque sur la chaîne logistique TanStack affectant les packages SDK Mistral

  • Référence : MAI-2026-002
  • Publication : 2026-05-12
  • Mise à jour : 2026-05-14
  • Sévérité : Élevée
  • Statut : Enquête clôturée

Mistral a été touché par l'attaque sur la chaîne logistique Mini Shai-Hulud causée par la compromission de TanStack, un package logiciel tiers. Un ver automatisé lié à l'attaque a conduit à la publication de versions compromises des SDK npm et PyPI.

L'enquête montre qu'un poste développeur affecté est en cause, sans impact sur l'infrastructure globale de Mistral.

i
Information

Les packages npm compromis ont été publiés le 11 mai 2026 à 22

UTC et retirés le 12 mai 2026 à 01
UTC. La version PyPI compromise a été publiée le 12 mai 2026 à 00
UTC et retirée le 12 mai 2026 à 03
UTC. Les versions antérieures ne sont pas concernées par cet avis.

Avis de sécurité GitHub :

Impact

Impact

npm

npm

Les packages npm compromis ne sont pas fonctionnels. Setup.mjs référence un fichier inexistant, ce qui empêche l'exécution du chemin de code malveillant. Nous recommandons tout de même de supprimer ces packages si vous êtes concerné. Consultez les indicateurs de compromission.

PyPI

PyPI

Le package PyPI compromis exécute un script malveillant lors de l'import. Il lance un processus en tâche de fond pour collecter les identifiants sur les emplacements courants. Pour vérifier si vous êtes concerné, consultez les indicateurs de compromission.

Versions affectées

Versions affectées

Vous êtes concerné si l'une des versions listées dans le tableau suivant a été installée dans un environnement pendant la période d'exposition ou est présente dans un lockfile, un artefact de build, une image de conteneur, un cache de packages ou une image de déploiement.

ÉcosystèmePackageVersions affectées
npm@mistralai/mistralai2.2.2, 2.2.3, 2.2.4
npm@mistralai/mistralai-azure1.7.1, 1.7.2, 1.7.3
npm@mistralai/mistralai-gcp1.7.1, 1.7.2, 1.7.3
PyPImistralai2.4.6
Indicateurs de compromission

Indicateurs de compromission

PyPI

PyPI

Vérifiez la version installée et comparez-la à la version vulnérable 2.4.6 :

pip show mistralai | grep -i ^version

Contrôlez les fichiers de dépendances et lockfiles Python courants :

grep -n -E 'mistralai.*2\.4\.6'   requirements*.txt pyproject.toml uv.lock poetry.lock Pipfile Pipfile.lock 2>/dev/null

Le code malveillant a été injecté dans src/mistralai/client/__init__.py et s'exécute à l'import uniquement sous Linux. Il télécharge https://83.142.209.194/transformers.pyz vers /tmp/transformers.pyz et l'exécute en arrière-plan.

Recherchez les éléments suivants sur les hôtes Linux où import mistralai a pu être exécuté depuis la version 2.4.6 :

  • Fichier /tmp/transformers.pyz
  • Processus lancé via python /tmp/transformers.pyz
  • Variable d'environnement MISTRAL_INIT=1
  • Connexions sortantes vers 83[.]142[.]209[.]194

Vous pouvez aussi exécuter le script de détection des fichiers malveillants connus.

i
Information

Vous n'êtes pas concerné par cet avis si vous n'avez pas installé ces versions de packages et qu'elles ne sont pas présentes dans vos lockfiles, caches de build, artefacts de déploiement ou miroirs de packages.

Si la commande détecte une version affectée, suivez les étapes de remédiation. Si vous utilisez des miroirs privés, caches ou images de base de conteneurs, vérifiez également ces copies.

npm

npm

Vérifiez les versions installées :

npm ls @mistralai/mistralai @mistralai/mistralai-azure @mistralai/mistralai-gcp

Contrôlez les lockfiles JavaScript courants :

grep -n -A 4 -B 2 -E '@mistralai/(mistralai|mistralai-azure|mistralai-gcp)|2\.2\.[2-4]|1\.7\.[1-3]'   package-lock.json pnpm-lock.yaml yarn.lock 2>/dev/null

Recherchez les fichiers suivants :

  • router_init.js embarqué dans tous les packages @tanstack : ab4fcadaec49c03278063dd269ea5eef82d24f2124a8e15d7b90f2fa8601266c
  • tanstack_runner.js issu du commit Git : 2ec78d556d696e208927cc503d48e4b5eb56b31abc2870c2ed2e98d6be27fc96
  • package.json de @tanstack/setup : 7c12d8614c624c70d6dd6fc2ee289332474abaa38f70ebe2cdef064923ca3a9b
Remédiation

Remédiation

  1. Cessez immédiatement d'utiliser la version affectée du package.
  2. Nettoyez les systèmes où l'un de ces packages a été installé. Consultez les étapes de récupération Mini Shai-Hulud de StepSecurity.
  3. Changez tous les secrets accessibles depuis ces systèmes.
  4. Vérifiez les journaux d'audit cloud à la recherche d'activité suspecte.
  5. Surveillez les connexions vers les indicateurs de commande et contrôle suivants :
    • api[.]masscan[.]cloud
    • filev2[.]getsession[.]org
    • git-tanstack[.]com
    • seed1[.]getsession[.]org
    • 83[.]142[.]209[.]194 (hébergeur du payload PyPI)
Changelog

Changelog

  • 14 mai 2026 : Enquête clôturée.
  • 14 mai 2026 à 09
    UTC : Mise à jour de l'avis avec les dernières informations.
  • 13 mai 2026 à 09
    UTC : Incident maîtrisé.
  • 12 mai 2026 à 14
    UTC : Révision de la sévérité des packages npm compromis après nos analyses internes.