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 tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn