Aller au contenu
Sécurité medium

Mini Shai-Hulud de TeamPCP (TanStack)

3 min de lecture
Point de compromission dans la chaîne Rupture · étape Registres
Source
amont
Dépendances
deps
Build & CI
ci
Packaging
artefact
Release
provenance
Registres
Registres
Déploiement
admission
Runtime
exécution
Rayon d'explosion — compromission à l'étape Registres, propagation possible aux consommateurs. Domaines : Orchestration, Release, Secrets
Gravité critique
Le Mini Shai-Hulud de TeamPCP revient : un ver auto-propageant compromet des paquets npm TanStack.
84 versions
malveillantes
42
paquets @tanstack
SLSA L3
attestations valides
2,3 Mo
charge obfusquée

En bref

Date
12/05/2026
Gravité
Critique
Étape de la chaîne
Registres
Domaines SOCLE
Orchestration+ Release, Secrets

Que s'est-il passé ?

Contexte

Le groupe TeamPCP lance une vague de son ver Mini Shai-Hulud, compromettant des paquets npm légitimes via leur propre pipeline de release GitHub Actions et des jetons OIDC détournés.

Mécanisme

Escalade rare : les paquets piégés portent des attestations SLSA Build L3 valides, premier ver npm documenté produisant des paquets malveillants validement attestés. Sur TanStack, l'attaque chaîne un Pwn Request (pull_request_target), l'empoisonnement du cache Actions et l'extraction du jeton OIDC depuis la mémoire du runner.

Impact

84 versions malveillantes sur 42 paquets @tanstack/*, avec propagation à UiPath et DraftLab. La charge (2,3 Mo) lit la mémoire du runner, moissonne 100+ chemins de secrets, et plante une persistance dans Claude Code et VS Code. Exfiltration via Session Protocol et l'API GraphQL GitHub.

Parades

L'attestation ne suffit pas : ajouter un gate d'approbation, neutraliser les Pwn Requests (pas de secrets sur pull_request_target), isoler le cache par tenant, permissions minimales des runners, et détecter la republication.

Comment l'attaquant a procédé

Cet incident met en jeu les vecteurs d'attaque suivants du catalogue SOCLE ; chacun renvoie à sa fiche, où l'on trouve les exigences qui le neutralisent :

La leçon à en tirer

Ce qu'il faut retenir

Identités de publication courtes (OIDC) ; détection de republication ; confinement du rayon d'explosion (egress filtre).

Les exigences SOCLE qui auraient limité cet incident

Cet incident se rattache à 5 exigences du référentiel, par domaine. Les satisfaire n'aurait pas forcément tout empêché, mais aurait réduit la probabilité de l'attaque, limité son impact ou accéléré sa détection :

Pour aller plus loin

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn