Mini Shai-Hulud-mask
Hotaktören känd som TeamPCP har kopplats till en sofistikerad attackkampanj i leveranskedjan som riktar sig mot allmänt använda npm- och PyPI-paket associerade med TanStack, UiPath, Mistral AI, OpenSearch, Guardrails AI och flera andra ekosystem. Operationen, kopplad till den framväxande Mini Shai-Hulud-kampanjen för skadlig kod, visar en betydande upptrappning av missbruk av programvara i leveranskedjan och identitetsdrivna komprometteringstekniker.
Forskare identifierade att skadliga npm-paket modifierades för att inkludera en obfuskerad JavaScript-komponent med namnet router_init.js. Denna nyttolast profilerar infekterade miljöer och distribuerar en avancerad autentiseringsstöld som riktar sig mot molnleverantörer, kryptovalutaplånböcker, AI-utvecklingsverktyg, meddelandeplattformar, CI/CD-system och GitHub Actions-miljöer. Exfiltrerad data överförs primärt till domänen filev2.getsession.org.
Användningen av Session Protocol-infrastrukturen visar på ett avsiktligt försök att kringgå företagets säkerhetskontroller. Eftersom domänen tillhör en decentraliserad integritetsfokuserad meddelandeplattform är det mindre sannolikt att den blockeras av traditionella nätverksförsvar. Som en sekundär exfiltreringsmetod debiteras krypterad data till angriparkontrollerade databaser via GitHub GraphQL API med hjälp av stulna GitHub-autentiseringstokens under författaridentiteten claude@users.noreply.github.com.
Innehållsförteckning
Persistensmekanismer och expansion av autentiseringsstöld
Den skadliga programvaran introducerar flera persistens- och övervakningsfunktioner utformade för att upprätthålla långsiktig åtkomst till komprometterade utvecklingsmiljöer. Persistenshooks är etablerade i Claude Code och Microsoft Visual Studio Code, vilket gör att den skadliga programvaran kan överleva systemomstarter och automatiskt starta om varje gång IDE:erna öppnas.
Dessutom distribueras en gh-token-monitor-tjänst för att kontinuerligt övervaka och återexfiltrera GitHub-tokens. Två skadliga GitHub Actions-arbetsflöden injiceras också i komprometterade databaser. Dessa arbetsflöden serialiserar databasens hemligheter i JSON-format och laddar upp data till den externa slutpunkten api.masscan.cloud.
Den senaste TanStack-komprometten skiljer sig avsevärt från tidigare incidenter i leveranskedjan. Istället för att förlita sig på en preinstall-hook bäddade angriparna in en skadlig JavaScript-fil direkt i paketets tarballs samtidigt som de introducerade ett valfritt beroende länkat till ett GitHub-hostat paket. Det beroendet innehåller en prepare lifecycle-hook som kör nyttolasten via Bun-runtime-miljön.
De trojanerade Mistral AI-paketen antog en äldre infektionsstrategi genom att modifiera package.json-filen med en preinstall-hook som anropar node setup.mjs. Denna process laddar ner Bun och kör samma skadliga programvara som stjäl inloggningsuppgifter.
CVE-2026-45321 och missbruk av betrodd publicering
TanStack-invasionen har officiellt spårats som CVE-2026-45321 och tilldelats en kritisk CVSS-poäng på 9,6. Utredare bekräftade att 42 paket och 84 versioner inom TanStack-ekosystemet var påverkade.
Analysen visade att komprometteringen härrörde från en kedjad GitHub Actions-attack som utnyttjade pull_request_target-utlösaren, GitHub Actions cache-förgiftning och runtime-extrahering av OIDC-tokens från GitHub Actions-runners. Angriparna ska ha iscensatt skadliga nyttolaster genom föräldralösa commits i GitHub-forks innan de injicerades i npm-paketets tarballs. Angriparna kapade sedan legitima TanStack/router-arbetsflöden för att publicera komprometterade paket med giltiga SLSA-proveniensattester.
Denna utveckling markerar en historisk upptrappning av attacker mot mjukvaruleveranser. De skadliga paketen hade giltiga SLSA Build Level 3-provenienssignaturer, vilket gjorde detta till den första dokumenterade npm-masken som kunde distribuera skadliga paket med autentiska build-attesteringar. Skadlig kodkampanjen expanderade därefter bortom TanStack och spred sig till ekosystem som underhålls av UiPath, DraftLab och andra utvecklare.
Operationen missbrukar i hög grad betrodda publiceringsarbetsflöden. Istället för att stjäla npm-inloggningsuppgifter direkt, utnyttjade angriparkontrollerad kod som kördes inuti betrodda CI/CD-pipelines OIDC-behörigheter för att skapa kortlivade publiceringstokens under byggprocessen. Detta gjorde det möjligt att publicera skadliga paket via legitima releasepipelines samtidigt som konventionella autentiseringsskydd kringgick.
Självförökande maskbeteende väcker larm
En av de farligaste aspekterna av Mini Shai-Hulud-kampanjen är dess maskliknande spridningsmodell. Skadlig kod söker aktivt efter publicerbara npm-tokens konfigurerade med bypass_2fa=true, räknar upp paket som underhålls av den komprometterade utvecklaren och utbyter GitHub OIDC-tokens mot publiceringstokens per paket. Denna mekanism gör det möjligt för skadlig kod att sprida sig lateralt över paketekosystem utan att förlita sig på traditionella tekniker för autentiseringsuppgifter.
Attacken utnyttjade även förtroendekonfigurationer på repositorynivå i GitHubs OIDC-modell för betrodda publicister. Eftersom förtroende beviljades brett på repositorynivå istället för att begränsas till skyddade grenar och specifika arbetsflödesfiler, kunde skadliga arbetsflödeskörningar som utlöstes av föräldralösa commits begära legitima npm-publiceringstokens.
En annan störande funktion involverar utplaceringen av en "dödmansbrytare". Skadlig programvara installerar ett shellskript som upprepade gånger avsöker api.github.com/user-slutpunkten var 60:e sekund för att avgöra om angriparskapade npm-tokens fortfarande är aktiva. Dessa tokens har den hotfulla beskrivningen IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner.
Om försvarare återkallar token via npm-instrumentpanelen, startar skadlig programvara en destruktiv rutin som kör rm -rf ~/, vilket effektivt omvandlar infektionen till wiper-skadlig programvara. Detta aggressiva beteende indikerar en betydande utveckling av TeamPCP:s operativa taktik och visar på ökad sofistikering av tvångsmetoder för persistens. Säkerhetsteam rekommenderas därför att isolera och avbilda infekterade system innan de återkallar komprometterade npm-inloggningsuppgifter.
Berörda paket och ökande ekosystempåverkan
Kampanjen har påverkat fler än 170 paket i både npm och PyPI, vilket tillsammans står för över 518 miljoner nedladdningar. Utredarna identifierade också minst 400 arkiv som skapats med stulna inloggningsuppgifter, alla innehållande frasen "Shai-Hulud: Here We Go Again".
Berörda paket inkluderar:
guardrails-ai@0.10.1 (PyPI)
mistralai@2.4.6 (PyPI)
@opensearch-projekt/opensearch@3.5.3, 3.6.2, 3.7.0, 3.8.0
@squawk/mcp@0.9.5
@squawk/väder@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
Skadlig programvara använder också flera redundanta exfiltreringskanaler. Förutom Session Protocol-infrastruktur och GitHub-dead drops, överförs stulna inloggningsuppgifter via den typosquattade domänen git-tanstack.com.
PyPI-skadlig programvara introducerar geofenced destruktiv logik
De Python-baserade varianterna av skadlig kod som är associerade med de skadliga Mistral AI- och Guardrails AI-paketen skiljer sig avsevärt från JavaScript-nyttolasten som distribueras via npm. Det komprometterade mistralai PyPI-paketet laddar ner en autentiseringsstöld från fjärrdatorn 83.142.209.194.
Forskare upptäckte att Python-skadlig programvaran innehåller landsmedveten logik utformad för att undvika exekvering i ryskspråkiga miljöer. Den inkluderar också en geofenced destruktiv mekanism som introducerar en sannolikhet på en på sex att exekvera rm -rf / om det infekterade systemet verkar befinna sig i Israel eller Iran.
Detta beteende visar en oroande utveckling mot regionmedveten destruktiv nyttolastdistribution inom ekosystem med öppen källkod.
Det växande hotet från identitetsdrivna leveranskedjeattacker
Mini Shai-Hulud-kampanjen återspeglar en bredare omvandling av moderna attacker i leveranskedjor. Istället för att enbart fokusera på paketkomprometterade attacker riktar sig hotaktörer i allt högre grad in sig på betrodda CI/CD-identiteter, publiceringsarbetsflöden och molnbaserade automatiseringspipelines.
När angripare väl får tillgång till infrastrukturen för programvarupublicering blir själva utvecklingspipelinen distributionsmekanismen för skadlig kod. Eftersom många skadliga handlingar sker genom legitima arbetsflöden, betrodda attesteringar och autentiska lanseringssystem, kan traditionella säkerhetskontroller misslyckas med att identifiera skadligt beteende.
Viktiga egenskaper som definierar denna nya generation av attacker i leveranskedjan inkluderar:
- Missbruk av betrodd publicering och OIDC-tokenutbytesmekanismer
- Spridning genom legitima CI/CD-arbetsflöden och byggsystem
- Användning av giltiga SLSA-attesteringar för att dölja skadliga paket
- Flerkanalig autentiseringsutvinning och persistensåtgärder
- Destruktiva vedergällningsmekanismer utformade för att skrämma försvarare
Kampanjens expansion till AI-verktyg, företagsautomation, sökinfrastruktur, frontend-utveckling, flygrelaterade verktyg och CI/CD-ekosystem visar hur djupt sammankopplade programvaruleveranskedjor har blivit. Beteendeövervakning under paketinstallation och byggkörning är nu allt viktigare för att upptäcka hot som vid första anblicken verkar legitima.