Mini červ Shai-Hulud
Útočník známý jako TeamPCP byl napojen na sofistikovanou útočnou kampaň zaměřenou na dodavatelský řetězec, která se zaměřovala na široce používané balíčky npm a PyPI spojené s TanStack, UiPath, Mistral AI, OpenSearch, Guardrails AI a několika dalšími ekosystémy. Operace, spojená s vyvíjející se kampaní malwaru Mini Shai-Hulud, demonstruje významnou eskalaci zneužívání softwarového dodavatelského řetězce a technik kompromitace identity.
Výzkumníci zjistili, že škodlivé balíčky npm byly upraveny tak, aby obsahovaly obfuskovanou JavaScriptovou komponentu s názvem router_init.js. Tato datová část profiluje infikovaná prostředí a nasazuje pokročilý program pro krádež přihlašovacích údajů zaměřený na poskytovatele cloudových služeb, kryptoměnové peněženky, nástroje pro vývoj umělé inteligence, platformy pro zasílání zpráv, systémy CI/CD a prostředí GitHub Actions. Ukradená data jsou primárně přenášena do domény filev2.getsession.org.
Použití infrastruktury Session Protocol zdůrazňuje úmyslný pokus o obcházení podnikových bezpečnostních kontrol. Protože doména patří k decentralizované platformě pro zasílání zpráv zaměřené na soukromí, je méně pravděpodobné, že bude blokována tradičními síťovými obranami. Jako sekundární metoda úniku jsou šifrovaná data odesílána do repozitářů kontrolovaných útočníkem prostřednictvím rozhraní GitHub GraphQL API s použitím odcizených autentizačních tokenů GitHub pod identitou autora claude@users.noreply.github.com.
Obsah
Mechanismy perzistence a rozšíření krádeže přihlašovacích údajů
Malware zavádí několik funkcí pro perzistenci a sledování, které jsou navrženy tak, aby udržovaly dlouhodobý přístup k napadeným vývojovým prostředím. V kódu Claude Code a Microsoft Visual Studio Code jsou instalovány hooky pro perzistenci, což malwaru umožňuje přežít restart systému a automaticky se znovu spustit při každém otevření IDE.
Kromě toho je nasazena služba gh-token-monitor, která průběžně monitoruje a znovu odstraňuje tokeny GitHubu. Do napadených repozitářů jsou také vkládány dva škodlivé pracovní postupy akcí GitHubu. Tyto pracovní postupy serializují tajné klíče repozitáře do formátu JSON a nahrávají data do externího koncového bodu api.masscan.cloud.
Nejnovější kompromitace systému TanStack se výrazně liší od dřívějších incidentů v dodavatelském řetězci. Místo toho, aby se útočníci spoléhali na preinstalační hook, vložili škodlivý soubor JavaScript přímo do tarballů balíčků a zároveň zavedli volitelnou závislost propojenou s balíčkem hostovaným na GitHubu. Tato závislost obsahuje hook prepare lifecycle, který spouští datovou část prostřednictvím běhového prostředí Bun.
Balíčky Mistral s umělou inteligencí napadené trojským koněm přijaly starší strategii infekce úpravou souboru package.json pomocí preinstalačního hooku, který spouští node setup.mjs. Tento proces stáhne Bun a spustí stejný malware kradející přihlašovací údaje.
CVE-2026-45321 a zneužívání důvěryhodného publikování
Kompromitace TanStacku byla oficiálně sledována jako CVE-2026-45321 a bylo jí přiřazeno kritické skóre CVSS 9,6. Vyšetřovatelé potvrdili, že bylo postiženo 42 balíčků a 84 verzí v ekosystému TanStack.
Analýza odhalila, že kompromitace vznikla z řetězeného útoku na GitHub Actions, který zneužíval trigger pull_request_target, poisoning mezipaměti GitHub Actions a extrakci OIDC tokenů z běžců GitHub Actions za běhu. Útočníci údajně připravovali škodlivé datové soubory prostřednictvím osiřelých commitů ve forcích GitHub a poté je vkládali do tarballů balíčků npm. Útočníci poté zneužili legitimní pracovní postupy TanStack/router, aby publikovali kompromitované balíčky s platnými atesty původu SLSA.
Tento vývoj představuje historickou eskalaci útoků v rámci dodavatelského řetězce softwaru. Škodlivé balíčky nesly platné signatury SLSA Build Level 3, což z nich činí prvního zdokumentovaného červa npm schopného distribuovat škodlivé balíčky s autentickými atesty sestavení. Kampaň malwaru se následně rozšířila za hranice TanStacku a rozšířila se do ekosystémů spravovaných UiPath, DraftLab a dalšími vývojáři.
Tato operace silně zneužívá důvěryhodné publikační pracovní postupy. Místo přímé krádeže přihlašovacích údajů npm, kód ovládaný útočníkem běžící uvnitř důvěryhodných CI/CD kanálů využíval oprávnění OIDC k vytváření krátkodobých publikačních tokenů během procesu sestavení. To umožnilo publikování škodlivých balíčků prostřednictvím legitimních kanálů vydávání a zároveň obcházet konvenční ověřovací ochranná opatření.
Samovolně se rozmnožující chování červů vyvolává poplach
Jedním z nejnebezpečnějších aspektů kampaně Mini Shai-Hulud je její model šíření podobný červům. Malware aktivně vyhledává publikovatelné npm tokeny s konfigurací bypass_2fa=true, vyjmenovává balíčky spravované napadeným vývojářem a vyměňuje tokeny GitHub OIDC za publikační tokeny pro jednotlivé balíčky. Tento mechanismus umožňuje malwaru šířit se laterálně napříč ekosystémy balíčků, aniž by se spoléhal na tradiční techniky krádeže přihlašovacích údajů.
Útok také zneužil konfigurace důvěryhodnosti na úrovni repozitáře v rámci modelu důvěryhodných vydavatelů OIDC na GitHubu. Protože důvěra byla udělována široce na úrovni repozitáře, a neomezovala se na chráněné větve a konkrétní soubory pracovních postupů, škodlivé spuštění pracovních postupů spuštěných osiřelými commity mohlo vyžadovat legitimní tokeny npm publish.
Další znepokojivou schopností je nasazení „bezpečnostního spínače“. Malware instaluje shellový skript, který opakovaně každých 60 sekund dotazuje koncový bod api.github.com/user, aby zjistil, zda útočníkem vytvořené npm tokeny zůstávají aktivní. Tyto tokeny nesou výhružný popis IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner.
Pokud obránci zruší token prostřednictvím řídicího panelu npm, malware spustí destruktivní rutinu provedením příkazu rm -rf ~/, čímž efektivně transformuje infekci na malware typu wiper. Toto agresivní chování naznačuje podstatný vývoj operačních taktik TeamPCP a demonstruje rostoucí sofistikovanost metod donucovací perzistence. Bezpečnostním týmům se proto doporučuje, aby před zrušením kompromitovaných přihlašovacích údajů npm izolovaly a vytvořily obraz infikovaných systémů.
Dotčené balíčky a rozšiřující se dopad na ekosystém
Kampaň ovlivnila více než 170 balíčků v npm i PyPI, což dohromady představuje více než 518 milionů stažení. Vyšetřovatelé také identifikovali nejméně 400 repozitářů vytvořených pomocí odcizených přihlašovacích údajů, přičemž všechny obsahovaly frázi „Shai-Hulud: Here We Go Again“.
Mezi dotčené balíčky patří:
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/počasí@0.5.10
@squawk/letový plán@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
Malware také využívá několik redundantních kanálů pro únik dat. Kromě infrastruktury Session Protocol a dead dropů GitHub jsou ukradené přihlašovací údaje přenášeny i přes doménu s překlepem git-tanstack.com.
Malware PyPI zavádí geofencovanou destruktivní logiku
Varianty malwaru založené na Pythonu, spojené se škodlivými balíčky Mistral AI a Guardrails AI, se podstatně liší od JavaScriptových dat distribuovaných prostřednictvím npm. Napadený balíček mistralai PyPI stahuje program pro krádež přihlašovacích údajů ze vzdáleného hostitele 83.142.209.194.
Výzkumníci zjistili, že malware v Pythonu obsahuje logiku rozpoznávající jednotlivé země, která je navržena tak, aby se zabránilo spuštění v ruskojazyčných prostředích. Obsahuje také destruktivní mechanismus s geofenced efektem, který zavádí pravděpodobnost spuštění rm -rf / s hodnotou jedna ku šesti, pokud se infikovaný systém nachází v Izraeli nebo Íránu.
Toto chování demonstruje znepokojivý vývoj směrem k nasazení destruktivního datového zatížení s ohledem na region v ekosystémech balíčků s otevřeným zdrojovým kódem.
Rostoucí hrozba útoků na dodavatelský řetězec založené na identitě
Kampaň Mini Shai-Hulud odráží širší transformaci v moderních útocích na dodavatelské řetězce. Útočníci se místo zaměření pouze na kompromitaci balíčků stále častěji zaměřují na důvěryhodné identity CI/CD, publikační pracovní postupy a cloudové automatizované kanály.
Jakmile útočníci získají přístup k infrastruktuře pro publikování softwaru, samotný vývojový proces se stává mechanismem distribuce malwaru. Vzhledem k tomu, že k mnoha škodlivým akcím dochází prostřednictvím legitimních pracovních postupů, důvěryhodných atestací a systémů autentického vydávání, tradiční bezpečnostní kontroly nemusí škodlivé chování identifikovat.
Mezi klíčové charakteristiky definující tuto novou generaci útoků na dodavatelský řetězec patří:
- Zneužívání mechanismů důvěryhodného publikování a výměny tokenů OIDC
- Šíření prostřednictvím legitimních pracovních postupů CI/CD a systémů sestavení
- Použití platných atestací SLSA k maskování škodlivých balíčků
- Vícekanálové exfiltrace a operace perzistence pověření
- Destruktivní odvetné mechanismy určené k zastrašování obránců
Rozšíření kampaně na nástroje umělé inteligence, podnikovou automatizaci, vyhledávací infrastrukturu, vývoj frontendu, nástroje pro letectví a ekosystémy CI/CD ukazuje, jak hluboce propojené se staly dodavatelské řetězce softwaru. Monitorování chování během instalace balíčků a provádění sestavení je nyní stále důležitější pro detekci hrozeb, které se na první pohled jeví jako legitimní.