Mini cuc Shai-Hulud
L'actor d'amenaces conegut com a TeamPCP ha estat connectat a una sofisticada campanya d'atac a la cadena de subministrament dirigida a paquets npm i PyPI àmpliament utilitzats associats amb TanStack, UiPath, Mistral AI, OpenSearch, Guardrails AI i diversos altres ecosistemes. L'operació, vinculada a la campanya de programari maliciós Mini Shai-Hulud en evolució, demostra una escalada significativa en l'abús de la cadena de subministrament de programari i les tècniques de compromís basades en la identitat.
Els investigadors van identificar que els paquets npm maliciosos s'havien modificat per incloure un component JavaScript ofuscat anomenat router_init.js. Aquesta càrrega útil crea perfils d'entorns infectats i implementa un lladre de credencials avançat dirigit a proveïdors de núvol, moneders de criptomoneda, eines de desenvolupament d'IA, plataformes de missatgeria, sistemes de CI/CD i entorns d'accions de GitHub. Les dades exfiltrades es transmeten principalment al domini filev2.getsession.org.
L'ús de la infraestructura del Protocol de Sessió posa de manifest un intent deliberat d'evadir els controls de seguretat empresarials. Com que el domini pertany a una plataforma de missatgeria descentralitzada centrada en la privadesa, és menys probable que sigui bloquejat per les defenses de xarxa tradicionals. Com a mètode d'exfiltració secundari, les dades xifrades es comprometen a repositoris controlats per atacants a través de l'API GraphQL de GitHub utilitzant tokens d'autenticació de GitHub robats sota la identitat d'autor claude@users.noreply.github.com.
Taula de continguts
Mecanismes de persistència i expansió del robatori de credencials
El programari maliciós introdueix diverses capacitats de persistència i vigilància dissenyades per mantenir l'accés a llarg termini a entorns de desenvolupament compromesos. Els ganxos de persistència s'estableixen dins del codi Claude i del codi de Microsoft Visual Studio, cosa que permet que el programari maliciós sobrevisqui als reinicis del sistema i es rellanci automàticament cada vegada que s'obren els IDE.
A més, s'implementa un servei gh-token-monitor per supervisar i refiltrar contínuament els tokens de GitHub. També s'injecten dos fluxos de treball maliciosos d'accions de GitHub als repositoris compromesos. Aquests fluxos de treball serialitzen els secrets del repositori en format JSON i carreguen les dades al punt final extern api.masscan.cloud.
L'últim compromís de TanStack difereix significativament d'incidents anteriors de la cadena de subministrament. En lloc de confiar en un ganxo de preinstal·lació, els atacants van incrustar un fitxer JavaScript maliciós directament als fitxers tar del paquet, alhora que van introduir una dependència opcional vinculada a un paquet allotjat a GitHub. Aquesta dependència conté un ganxo de cicle de vida de preparació que executa la càrrega útil a través de l'entorn d'execució de Bun.
Els paquets Mistral AI amb troians van adoptar una estratègia d'infecció més antiga modificant el fitxer package.json amb un ganxo de preinstal·lació que invoca el node setup.mjs. Aquest procés descarrega Bun i executa el mateix programari maliciós que roba credencials.
CVE-2026-45321 i l’abús de publicacions de confiança
El compromís de TanStack ha estat oficialment registrat com a CVE-2026-45321 i se li ha assignat una puntuació CVSS crítica de 9,6. Els investigadors van confirmar que 42 paquets i 84 versions dins de l'ecosistema TanStack estaven afectats.
L'anàlisi va revelar que el compromís es va originar a partir d'un atac encadenat de GitHub Actions que explotava el disparador pull_request_target, l'enverinament de la memòria cau de GitHub Actions i l'extracció en temps d'execució de tokens OIDC dels executors de GitHub Actions. Segons sembla, els atacants van organitzar càrregues útils malicioses mitjançant commits orfes a les forks de GitHub abans d'injectar-les als fitxers tar de paquets npm. Aleshores, els atacants van segrestar fluxos de treball legítims de TanStack/router per publicar paquets compromesos amb atestacions de procedència SLSA vàlides.
Aquest desenvolupament marca una escalada històrica en els atacs a la cadena de subministrament de programari. Els paquets maliciosos portaven signatures de procedència vàlides de nivell de compilació SLSA 3, convertint-lo en el primer cuc npm documentat capaç de distribuir paquets maliciosos amb atestacions de compilació autèntiques. La campanya de programari maliciós es va expandir posteriorment més enllà de TanStack i es va estendre a ecosistemes mantinguts per UiPath, DraftLab i altres desenvolupadors.
L'operació abusa greument dels fluxos de treball de publicació de confiança. En lloc de robar credencials npm directament, el codi controlat per l'atacant que s'executava dins de pipelines CI/CD de confiança aprofitava els permisos OIDC per crear tokens de publicació de curta durada durant el procés de compilació. Això permetia que els paquets maliciosos es publiquessin a través de pipelines de llançament legítims, evitant les salvaguardes d'autenticació convencionals.
El comportament dels cucs autopropagants fa sonar l’alarma
Un dels aspectes més perillosos de la campanya Mini Shai-Hulud és el seu model de propagació semblant a un cuc. El programari maliciós busca activament tokens npm publicables configurats amb bypass_2fa=true, enumera els paquets mantinguts pel desenvolupador compromès i intercanvia tokens OIDC de GitHub per tokens de publicació per paquet. Aquest mecanisme permet que el programari maliciós es propagui lateralment a través dels ecosistemes de paquets sense dependre de les tècniques tradicionals de robatori de credencials.
L'atac també va explotar les configuracions de confiança a nivell de repositori dins del model de publicador de confiança OIDC de GitHub. Com que la confiança es va atorgar àmpliament a nivell de repositori en lloc de restringir-se a branques protegides i fitxers de flux de treball específics, les execucions de flux de treball malicioses desencadenades per commits orfes van poder sol·licitar tokens de publicació npm legítims.
Una altra capacitat pertorbadora implica el desplegament d'un "interruptor d'home mort". El programari maliciós instal·la un script de shell que sondeja repetidament el punt final api.github.com/user cada 60 segons per determinar si els tokens npm creats per l'atacant romanen actius. Aquests tokens porten la descripció amenaçadora IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner.
Si els defensors revoquen el token a través del tauler de control npm, el programari maliciós inicia una rutina destructiva executant rm -rf ~/, transformant efectivament la infecció en programari maliciós d'esborrat. Aquest comportament agressiu indica una evolució substancial en les tàctiques operatives de TeamPCP i demostra una sofisticació creixent en els mètodes de persistència coercitiva. Per tant, es recomana als equips de seguretat que aïllin i creïn imatges dels sistemes infectats abans de revocar les credencials npm compromeses.
Paquets afectats i impacte creixent en l’ecosistema
La campanya ha afectat més de 170 paquets tant a npm com a PyPI, que representen en conjunt més de 518 milions de descàrregues. Els investigadors també van identificar almenys 400 repositoris creats amb credencials robades, tots els quals contenien la frase "Shai-Hulud: Here We Go Again".
Els paquets afectats inclouen:
guardrails-ai@0.10.1 (PyPI)
mistralai@2.4.6 (PyPI)
@opensearch-project/opensearch@3.5.3, 3.6.2, 3.7.0, 3.8.0
@squawk/mcp@0.9.5
@squawk/temps@0.5.10
@squawk/flightplan@0.5.6
@tallyui/connector-medusa@1.0.1, 1.0.2, 1.0.3
@tallyui/connector-vendure@1.0.1, 1.0.2, 1.0.3
El programari maliciós també utilitza múltiples canals d'exfiltració redundants. A més de la infraestructura del protocol de sessió i els punts morts de GitHub, les credencials robades es transmeten a través del domini typosquatted git-tanstack.com.
El programari maliciós PyPI introdueix una lògica destructiva georeservada
Les variants de programari maliciós basades en Python associades amb els paquets maliciosos Mistral AI i Guardrails AI difereixen substancialment de les càrregues útils de JavaScript distribuïdes a través de npm. El paquet PyPI mistralai compromès descarrega un lladre de credencials des de l'amfitrió remot 83.142.209.194.
Els investigadors van descobrir que el programari maliciós de Python conté una lògica adaptada al país dissenyada per evitar l'execució en entorns de parla russa. També inclou un mecanisme destructiu georeferenciat que introdueix una probabilitat d'un en sis d'executar rm -rf / si el sistema infectat sembla estar ubicat a Israel o a l'Iran.
Aquest comportament demostra una evolució preocupant cap al desplegament de càrrega útil destructiva conscient de la regió dins dels ecosistemes de paquets de codi obert.
L’amenaça creixent dels atacs a la cadena de subministrament basats en la identitat
La campanya Mini Shai-Hulud reflecteix una transformació més àmplia en els atacs moderns a la cadena de subministrament. En lloc de centrar-se únicament en el compromís de paquets, els actors amenaçadors s'estan dirigint cada cop més a identitats de CI/CD de confiança, fluxos de treball de publicació i canals d'automatització basats en el núvol.
Un cop els atacants aconsegueixen accés a la infraestructura de publicació de programari, el pipeline de desenvolupament es converteix en el mecanisme de distribució de programari maliciós. Com que moltes accions malicioses es produeixen a través de fluxos de treball legítims, atestacions fiables i sistemes de llançament autèntics, els controls de seguretat tradicionals poden fallar a l'hora d'identificar el comportament maliciós.
Les característiques clau que defineixen aquesta nova generació d'atacs a la cadena de subministrament inclouen:
- Abús dels mecanismes d'intercanvi de fitxes OIDC i de publicació fiable
- Propagació a través de fluxos de treball i sistemes de compilació de CI/CD legítims
- Ús d'attestaments SLSA vàlids per dissimular paquets maliciosos
- Operacions d'exfiltració i persistència de credencials multicanal
- Mecanismes de represàlia destructius dissenyats per intimidar els defensors
L'expansió de la campanya a través d'eines d'IA, automatització empresarial, infraestructura de cerca, desenvolupament frontend, eines relacionades amb l'aviació i ecosistemes de CI/CD demostra com de profundament interconnectades s'han tornat les cadenes de subministrament de programari. El seguiment del comportament durant la instal·lació de paquets i l'execució de la compilació és ara cada cop més crític per detectar amenaces que semblen legítimes a primera vista.