
Shai-Hulud npm támadás: Önmagát-sokszorosító supply chain féreg
A Shai-Hulud npm támadás az első sikeres önreplikáló féreg a JavaScript ökoszisztémában. Ez az npm supply chain támadás több mint 180 csomagot kompromittált 2025. szeptember 14. és 16. között
Az első önreplikáló JavaScript supply chain támadás
A Shai-Hulud npm támadás 2025. szeptember 15-én történt,
amikor több népszerű csomag rosszindulatú verzióit tették közzé az npm-en. Ez
veszélyes fejlődést mutat a korábbi támadásokhoz képest. Az emberi operátorokat
igénylő célzott kampányokkal ellentétben a Shai-Hulud féreg automatikusan
terjed feltört npm tokeneken keresztül.
Az új rosszindulatú programtörzset Shai-Huludnak nevezték el
– Frank Herbert Dűne regénysorozatában szereplő óriási homokférgek nevéről –,
mivel minden ellopott hitelesítő adatot közzétesz egy új nyilvános GitHub
adattárban, amely tartalmazza a „Shai-Hulud” nevet. A biztonsági kutatók ezt a
mai napig az egyik legsúlyosabb JavaScript supply chain támadásnak tartják.
A támadás a nulladik pácienssel kezdődött: az
rxnt-authentication csomaggal. Egy rosszindulatú verziót tettek közzé az npm-en
2025. szeptember 14-én, 17:58:50 UTC-kor. Innen a féreg gyorsan terjedt az
ökoszisztémában.
Hogyan terjed és lop secretet a Shai-Hulud féreg?
A rosszindulatú program kifinomult, féregszerű viselkedést
mutat több támadási vektoron keresztül. A telepítés után a JavaScript csomag
biztonsági rése egy többlépcsős hasznos adatot hajt végre, amely érzékeny
információkat gyűjt a fertőzött rendszerekből.
A mellékelt hasznos adat a TruffleHog secret kereső eszközt
használja a secretek azonosítására a környezeti változók és az IMDS által
közzétett cloud kulcsok begyűjtése mellett. A féreg a főbb platformokról
származó hitelesítő adatokat célozza meg, beleértve a GitHub, az npm, az AWS, a
Google Cloud Platform és az Azure hitelesítő adatait.
Amikor a rosszindulatú program GitHub tokeneket észlel,
számos rosszindulatú műveletet hajt végre. Létrehoz egy Shai-Hulud nevű
nyilvános adattárat, amely a begyűjtött secretek dumpját tartalmazza. A támadás
a rosszindulatú GitHub Actions munkafolyamatokat is elérhető adattárakba küldi,
és privát szervezeti adattárakat migrál nyilvános személyes adattárakba.
Az önterjedési mechanizmus különösen veszélyessé teszi ezt
az npm supply chain támadást. „Amikor egy fejlesztő telepít egy feltört
csomagot, a rosszindulatú program npm tokeneket keres a környezetben. Ha
megtalálja, módosítja a 20 legnépszerűbb csomagot, amelyekhez az npm token
hozzáfér, bemásolja magát a csomagba, és közzétesz egy új verziót.”
Szakértői elemzés: A fejlesztőcsapatokra leselkedő veszély
William Fieldhouse, az Aardwolf Security Ltd. igazgatója
figyelmeztet a szervezetekre gyakorolt következményekre:
„A Shai-Hulud
támadás bemutatja, hogyan terjedhetnek át a supply chain sebezhetőségei teljes
fejlesztői ökoszisztémákra. A JavaScript csomagokra támaszkodó szervezeteknek
átfogó biztonsági intézkedéseket kell végrehajtaniuk, beleértve a rendszeres
penetrációs tesztelési szolgáltatásokat, hogy azonosítsák a sebezhetőségeket,
mielőtt a támadók kihasználnák azokat. A féreg automatizált jellege azt
jelenti, hogy a hagyományos biztonsági megközelítések nem elegendőek – a
csapatoknak folyamatos megfigyelésre és gyors reagálási képességekre van
szükségük.”
A támadás hatása túlmutat az egyes fejlesztőkön. Szeptember
16-ig a támadás több mint 180 csomagot ért el, ami több millió heti letöltést
érintett. Olyan népszerű csomagokat is feltörtek, mint a @ctrl/tinycolor (több
mint 2 millió heti letöltés) és az ngx-bootstrap (heti 300 000 letöltés).
Azonnali reagálási intézkedések szükségesek az IT biztonsági csapatoktól.
A biztonsági szakembereknek sürgős intézkedéseket kell
tenniük szervezeteik védelme érdekében ezzel a JavaScript csomag biztonsági
résével szemben.
A válaszlépések több fronton történő észlelést és elhárítást igényelnek.
Először is, ellenőrizzük az összes GitHub adattárat a
kompromittálódás jelei után kutatva. Ellenőrizd, hogy vannak-e jelek a
szervezet fejlesztői privát fiókjaiban és felhasználói fiókjaiban létrehozott,
Shai-Hulud nevű GitHub adattárakra, vagy a -migration utótaggal és a Shai-Hulud
Migration leírással rendelkező privát adattárakra.
A kompromittált csomagokat azonnal távolítsd el az rm -rf
node_modules && npm cache clean --force paranccsal. A csapatodnak
frissítenie kell tiszta kiadásokra, bár számos rosszindulatú verziót
eltávolítottak az npm rendszerleíró adatbázisokból. A vezető penetráció
tesztelő cégek az automatikus függőségi vizsgálat bevezetését javasolják az
ilyen fenyegetések korai észlelése érdekében.
A hitelesítő adatok rotációja kritikus fontosságú a feltételezett kompromittálódás után. Vonjuk vissza és generáljuk újra az összes GitHub tokent, npm tokent, SSH-kulcsot, API-kulcsot és környezeti változó secret kódot, amelyek esetleg kiszivárogtak. A GitGuardian megállapította, hogy a támadás részeként 278 titkos információ szivárgott ki nyilvánosan, ebből 90 helyi gépekről gyűjtött, 188 pedig rosszindulatú munkafolyamatokon keresztül került veszélybe.
Hosszú távú biztonsági következmények a supply chain védelmére nézve
A Shai-Hulud npm támadás alapvetően megváltoztatja a szervezeteknek a supply chain biztonságához való hozzáállását. A hagyományos időpont-alapú szkennelés elégtelennek bizonyul az önreplikáló fenyegetésekkel szemben, amelyek a telepítés után a legitim csomagokat támadási vektorokká alakíthatják.
A biztonsági szakértők olyan folyamatos monitorozási
megoldások bevezetését javasolják, amelyek átfogó betekintést nyújtanak a
szoftverfüggőségekbe. A szervezeteknek olyan platformokra van szükségük,
amelyek azonnal azonosítják az érintett csomagokat, feltérképezik a függőségi
kapcsolatokat, és összefüggésbe hozzák a csomagverziókat a támadási
ütemtervvel.
A támadás rávilágít a csomagtárak szigorúbb közzétételi
ellenőrzésének szükségességére. Nicholas Weaver biztonsági kutató azt
javasolja, hogy az NPM-nek és a hasonló adattáraknak „azonnal át kell állniuk
egy olyan közzétételi modellre, amely minden közzétételi kérelemhez kifejezett
emberi beleegyezést igényel egy adathalászattól mentes 2FA módszerrel”.
GYIK
Mi a Shai-Hulud npm támadás?
A Shai-Hulud npm támadás egy önmagát replikáló féreg, amely több mint 180 JavaScript csomagot fertőzött meg az npm-en. A rosszindulatú program ellopja a fejlesztői hitelesítő adatokat, és automatikusan átterjed az áldozat által karbantartott többi csomagra, így ez az első sikeres féreg az npm ökoszisztémában.
Hogyan terjed a JavaScript csomag biztonsági rése?
A féreg úgy terjed, hogy npm hitelesítési tokeneket lop el a fertőzött rendszerekből. Amikor tokeneket talál, automatikusan rosszindulatú kódot helyez be a 20 legnépszerűbb csomagba, amelyekhez a token hozzáfér, kaszkádhatást keltve az egész ökoszisztémában.
Mely csomagokat érintette ez az npm supply chain támadás?
A főbb érintett csomagok közé tartozik a @ctrl/tinycolor, az ngx-bootstrap, az ng2-file-upload és több CrowdStrike npm csomag. Több mint 180 csomagot fertőztek meg, összesen hetente több millió letöltéssel.
Hogyan tudják a szervezetek észlelni, hogy feltörték őket?
Keress új, „Shai-Hulud” nevű vagy „-migration” utótaggal és „Shai-Hulud Migration” leírással rendelkező GitHub-repozitóriumokat. Ellenőrizd a váratlan GitHub Actions munkafolyamatokat, és figyeld a gyanús API-tevékenységeket az auditnaplókban.
Mit tegyenek a csapatok, ha feltört csomagokat találnak?
Azonnal távolítsák el az érintett csomagokat az rm -rf node_modules && npm cache clean --force paranccsal. Frissítsenek tiszta kiadásokra, auditálják a GitHub-repozitóriumokat a feltörtség jelei után kutatva, és cseréljék az összes potenciálisan kitett hitelesítő adatot, beleértve a GitHub tokeneket, az npm tokeneket és az API-kulcsokat.
Tetszett a cikk? Beszélgessünk!
Ha kérdésed van, vagy szeretnél többet megtudni a szolgáltatásaimról, ne habozz kapcsolatba lépni.