Sécurité : un malware cible les développeurs IA !
Une campagne d'attaque est en cours et elle cible les développeurs I.A et marque une étape franchie dans la sophistication : elle ne se contente plus de voler des données, elle s'ancre dans les outils de travail quotidiens pour garantir sa survie et punir toute tentative de remédiation.
Alerte Cyber : Le malware Shai-Hulud cible les développeurs IA (NPM & PyPI)
L'alerte déclenchée le lundi 11 mai 2026 sur l'écosystème TanStack n'était que la partie émergée de l'iceberg. Ce qui a débuté par une compromission massive de paquets NPM critiques s'est révélé être une offensive coordonnée baptisée « Mini » Shai-Hulud, ciblant le cœur des environnements de développement modernes.
Cette attaque marque une étape franchie dans la sophistication : elle ne se contente plus de voler des données, elle s'ancre dans les outils de travail quotidiens pour garantir sa survie et punir toute tentative de remédiation par une destruction massive des données locales et controune les mécanismes classiques de sécurité (2FA) en utilisant les pipelines CI/CD.
1. Chronologie d'une explosion : du 29 avril au 11 mai 2026
Bien que le groupe d'attaquants (TeamPCP) soit actif depuis 2025, la variante baptisée « Mini » Shai-Hulud a été détectée dès le 29 avril 2026 sur des paquets liés à l'écosystème SAP. Cependant, l'offensive a pris une dimension systémique le lundi 11 mai. C'est la première fois qu'ils parviennent à signer officiellement leurs paquets malveillants, rendant les scans traditionnels inefficaces
Entre 21h20 et 21h26 (heure de Paris), l'attaquant a publié 84 versions malveillantes sur 42 paquets du scope officiel @tanstack, incluant des piliers comme react-router et react-query. En seulement six minutes, la chaîne de confiance de millions de projets a été brisée. La nouveauté majeure de cette vague de mai 2026 réside dans l'utilisation de la faille "Pwn Request", permettant au malware de porter une signature de provenance officielle et valide. Le 12 mai, les analyses ont confirmé que la campagne s'étendait simultanément aux bibliothèques PyPI (Python) liées à l'IA, notamment via des compromissions ciblant des outils associés à Mistral AI et OpenSearch.
2. Extension de la surface d'attaque
L'offensive est désormais multi-plateforme, ciblant aussi bien les développeurs JavaScript que les ingénieurs Python et Data Scientists :
- OpenSearch
- Mistral AI
- Guardrails AI
- UiPath
- Paquets Squawk (diffusés simultanément sur NPM et PyPI)
3. Le mécanisme "Pwn Request" : Contourner la 2FA
L'aspect le plus inquiétant est le contournement de l'authentification à deux facteurs (2FA). L'attaquant n'a pas volé les comptes des mainteneurs, mais a exploité une faille dans le pipeline CI/CD (GitHub Actions) via une technique de Pwn Request. En injectant du code malveillant via une Pull Request sur un workflow privilégié, l'attaquant a exfiltré les secrets de publication directement depuis l'environnement de build officiel. Les paquets portaient donc une signature de provenance valide.
4. Une exfiltration massive de secrets
Le malware scanne la machine pour voler :
- Jetons OIDC et PAT de GitHub Actions, identifiants Git.
- Jetons de publication NPM.
- Identifiants AWS (Secrets Manager, IAM, tâches ECS).
- Jetons Kubernetes et identifiants de cluster.
- Jetons HashiCorp Vault.
- Clés SSH et fichiers de configuration
.env.
5. Le comportement de "Wiper" et l'effet Ver
Deux caractéristiques rendent cette attaque particulièrement agressive :
- La protection contre la révocation (Wiper) : Le malware installe un démon de surveillance (
gh-token-monitor). S'il détecte que vous révoquez vos tokens GitHub (erreur 401/403), il déclenche unrm -rf ~/pour effacer l'intégralité de votre répertoire personnel par vengeance. - L'auto-propagation (Ver) : Si vous avez des droits de publication, le malware injecte son code dans VOS propres paquets pour continuer à se propager à vos clients ou collègues.
Tutoriel : Inspecter et nettoyer votre machine
Si vous avez effectué un npm install, pip install ou une mise à jour de dépendances entre le 11 mai au soir et le 12 mai au matin, suivez scrupuleusement ces étapes.
Étape 1 : Phase d'inspection (Ne révoquez rien encore !)
Avant de modifier vos secrets, vérifiez si le malware s'est ancré dans vos outils.
1.1 Vérification de VS Code
Ouvrez le fichier de configuration des tâches de votre projet et de votre utilisateur :
- Chemin :
.vscode/tasks.json - Cherchez : Des tâches inconnues avec l'option
"runOn": "folderOpen". - Cherchez : Des scripts pointant vers des binaires suspects ou des commandes encodées (Base64).
1.2 Vérification de Claude Code (CLI)
- Chemin :
~/.claude/settings.json - Cherchez : Des modifications dans les permissions d'outils ("tools") ou des scripts d'auto-exécution qui n'étaient pas présents initialement.
1.3 Identification du démon de surveillance
Lancez cette commande dans votre terminal :
ps aux | grep -E "[g]h-token-monitor|[s]hai-hulud|[p]cp"
Si un processus apparaît, votre machine est potentiellement surveillée par le malware.
Étape 2 : Procédure de nettoyage sécurisée
ATTENTION : L'ordre est vital. Si vous coupez les accès avant de tuer le malware, le script "Wiper" peut détruire vos fichiers.
- Isolation : Coupez votre connexion internet (Wi-Fi et Ethernet).
- Neutralisation du démon : Si vous avez identifié un processus suspect à l'étape 1.3, tuez-le immédiatement :
kill -9 [PID_DU_PROCESSUS]
- Nettoyage des fichiers d'ancrage :
- Supprimez les tâches suspectes dans
.vscode/tasks.json. - Restaurez une version saine de
~/.claude/settings.json. - Supprimez les dossiers
node_moduleset les fichierspackage-lock.jsonouyarn.lockde vos projets récents.
- Suppression des fichiers temporaires : Cherchez des fichiers cachés créés récemment dans votre répertoire personnel :
find ~ -maxdepth 2 -name ".*" -mtime -1
Étape 3 : Rotation des secrets
Une fois la machine nettoyée et seulement à ce moment-là :
- Rétablissez la connexion internet.
- Révoquez et remplacez :
- Jetons d'accès GitHub (PAT).
- Clés d'accès AWS / Cloud.
- Clés SSH (générez une nouvelle paire et supprimez l'ancienne de vos serveurs/GitHub).
- Secrets NPM et accès aux registres privés.
- Vérifiez vos propres publications : Si vous êtes mainteneur de paquets, vérifiez l'historique des versions publiées hier soir pour vous assurer qu'aucune version frauduleuse n'a été envoyée sous votre nom.
Pour avoir plus loin vous pouvez vous réferer aux sources suivantes
Outil gratuit
Calculez votre ROI en automatisation IA
Estimez en 2 minutes les heures et les coûts que votre PME peut récupérer grâce aux agents IA. Résultat immédiat, sans engagement.