Mini Shai-Hulud : ver auto-propagant compromet 170+ packages npm/PyPI via TeamPCP
🎯 Contexte Source : Tenable Research Special Operations (RSO), publiée le 21 mai 2026. L’article présente une FAQ détaillée sur la campagne Mini Shai-Hulud, quatrième génération d’un ver auto-propagant opéré par le groupe TeamPCP, actif depuis septembre 2025 dans les écosystèmes npm et PyPI. 🐛 Évolution du ver Shai-Hulud Quatre générations ont été identifiées : Shai-Hulud (septembre 2025) : premier malware auto-réplicant observé dans npm, vol de tokens mainteneur SHA1-Hulud (novembre 2025) : fonctionnalité wiper et collecte de credentials améliorée SANDWORM_MODE (mars 2026) : ciblage adaptatif avec énumération des pipelines CI/CD Mini Shai-Hulud (avril 2026) : variante la plus destructrice, active au moment de la publication ⚙️ Capacités techniques de Mini Shai-Hulud Contournement des attestations SLSA Build Level 3 via Sigstore (première mondiale) Extraction de tokens OIDC depuis la mémoire du processus GitHub Actions runner Hooks de persistance ciblant les agents de codage IA et les IDEs développeurs Propagation cross-écosystème (npm et PyPI) Triple exfiltration redondante : serveur C2 dédié, réseau Session (décentralisé), dead drops via GitHub API 🔗 Trois chaînes d’attaque Vol de token + publication automatisée massive : hook preinstall téléchargeant le runtime Bun pour exécuter un payload obfusqué Hijack OIDC avec contournement de provenance (utilisé dans la vague TanStack) : extraction de token OIDC depuis la mémoire du runner, publication via le pipeline légitime avec attestation cryptographique valide Injection PyPI : dropper injecté dans le fichier d’initialisation du package, téléchargeant un payload depuis une infrastructure contrôlée par l’attaquant 🏛️ CVE associée CVE-2026-45321 (CVSSv3 : 9.6, VPR : 9.2) : injection de code malveillant dans 42 packages @tanstack via trois failles chaînées dans la configuration GitHub Actions de TanStack. L’attaquant a créé un fork sous un compte renommé, ouvert une PR déclenchant un workflow pull_request_target, empoisonné le cache GitHub Actions, puis extrait des tokens OIDC pour publier 84 versions malveillantes en moins de six minutes avec des attestations SLSA valides. ...