Jádro útoku nebylo v samotném PHP kódu – PHP knihovny zůstaly neškodné, bez jakýchkoli instalačních hooků nebo škodlivé síťové aktivity . Místo toho útočníci vložili 583 škodlivých GitHub Actions workflow souborů (
.github/workflows/*.yml) do zdrojových repozitářů vývojáře. Každý postižený balíček obsahoval 55 až 62 těchto workflow souborů . GitHub Actions workflow jsou YAML soubory, které definují automatizované úkoly, jako je spouštění testů nebo nasazování kódu. Útočníci tuto legitimní automatizační infrastrukturu zneužili.
Jakmile fork nebo kopie kompromitovaného repozitáře spustila workflow (např. při události push), škodlivý .yml soubor instruoval GitHub-hostovaný Ubuntu runner, aby :
43[.]228[.]157[.]68.Tím se každé spuštěné workflow proměnilo ve skenovací a explotační uzel, který využíval bezplatnou infrastrukturu GitHubu jako distribuovanou platformu pro útok .
cpsrvd obsluze základní autentizace Authorization hlavičku obsahující znaky nového řádku. To mu umožnilo vložit libovolné vlastnosti do session souboru, například user=root a hasroot=1, čímž získal root přístup k WHM rozhraní bez platného hesla Jakmile exploit na kompromitovaném cPanel/WHM serveru uspěl, post-exploitační payload byl navržen k hromadnému sběru široké škály přihlašovacích údajů a tajemství. Mezi primární cíle patřily :
Krádež tak široké škály přihlašovacích údajů naznačuje oportunistický sběr všech cenných přístupových tokenů, které byly na kompromitovaném serveru k dispozici .
583 workflow souborů v 10 Packagist balíčcích byl jen prvotní objev. Pivotováním na indikátory útočníků, jako je sdílená DNSHook callback doména a vzory opakovaného použití kódu, výzkumníci odhalili mnohem větší operaci :
Tento masivní nepoměr silně naznačuje, že útočníci kompromitovali mnoho dalších vývojářských účtů a repozitářů nad rámec jediného dinushchathurya účtu . Kampaň nebyla selháním jediného bodu, ale koordinovanou operací zahrnující více účtů. The Hacker News informoval o samostatném, dřívějším útoku na dodavatelský řetězec Packagistu v květnu 2026, který kompromitoval 8 balíčků s příbuznými škodlivými elementy
, což dále zdůrazňuje zranitelnost ekosystému.
Kampaň představuje trvalou hrozbu, protože útočnická infrastruktura není zcela neutralizována. Kampaň může pokračovat prostřednictvím :
43[.]228[.]157[.]68) může být stále funkční a aktivně přijímat data Zatímco původní vývojářův Packagist účet byl pozastaven, obrovský rozsah odpovídajících workflow souborů (až ~16 000) znamená, že operace má široký záběr, který je obtížné zcela vymýtit .
push nebo workflow_dispatch triggerech bez manuálního přezkoumání.43[.]228[.]157[.]68) a známou DNSHook callback doménou .github/workflows/ soubory, protože PHP kód samotný může být čistý, zatímco útok žije výhradně v CI/CD konfiguraci