A JavaScript/npm ökoszisztéma új mérföldkővel szembesül a szállítási lánc fenyegetései terén, miután 2025. november 24-én újra megjelent a Shai-Hulud 2.0. Az önterjesztő féreg kifejezetten a nyílt forráskódú karbantartókat és az általuk közzétett csomagokat veszi célba. Ez az új változat az elszigetelt rosszindulatú csomagoktól egy összehangolt, automatizált fertőzési mechanizmus felé való elmozdulást jelenti.
A hatás máris súlyos. Több száz npm-csomag és több tízezer GitHub-repozitórium érintett, ami példátlanul nagy „robbanási sugarat” eredményezett egy JavaScript-ellátási lánc támadás esetében. Azok számára, akik ismerik OPSWATShai-Hulud 1.0 elemzését, a 2.0 verzió drámai módon bővíti a féreg képességeit és működési skáláját: korábbi végrehajtás, szélesebb terjedés és nagyobb ellenállás a szokásos javító intézkedésekkel szemben, ami egy aggasztó fenyegetésből teljes ökoszisztéma-szintű incidenssé emeli.
Shai-Hulud 2.0 Gyors tényeket
- Önterjesztő féreg: A Shai-Hulud 2.0 ellopja a GitHub hitelesítő adatait, újracsomagolja magát, és újraközzéteszi a karbantartó teljes npm portfóliójában.
- Hatalmas terjedés:több mint 700 fertőzött npm-csomag, több mint 25 000 GitHub-repozitórium, 500 érintett karbantartó; 30 percenként több mint 1000 új repozitórium (Wiz).
- Ökoszisztéma-átívelő hatás: Maven/Java-ban is megfigyelhető az automatizált npm-to-Maven tükrözés révén.
- Főbb kockázatok: CI/CD-kockázat, titkok veszélyeztetése, telepítési időbeni végrehajtás és megfertőzött rendszerleíró adatbázisok.
- Védelem: SBOM pontosság, eredetellenőrzés, futásidejű felügyelet és szigorú token/titkosítási higiénia.
Hatály és eszkaláció: Milyen kiterjedt a kár?
A Shai-Hulud 2.0 terjedésének mértéke és sebessége meghaladta az utóbbi időben tapasztalt ellátási lánc incidensekét. Az eredetileg célzott npm-támadás gyorsan rendszerszintű, platformok közötti fertőzéssé eszkalálódott, amely több ezer projektet és több száz karbantartót érintett.
A tipikus npm-malware-ekkel ellentétben, amelyek általában egyetlen trójai csomagot tartalmaznak, a Shai-Hulud 2.0 féregként viselkedik. Miután megfertőzte a fejlesztőt, ellopja a GitHub hitelesítő adatait, újracsomagolja magát, és újra közzéteszi a karbantartó teljes csomagkészletében, így minden áldozatot új terjesztési ponttá alakítva. Ennek eredményeként gyorsan, exponenciálisan terjed az ökoszisztémában.
Megsértett csomagok
Több száz npm-csomagot támadtak meg. Ezek között vannak jól ismert szervezetek által karbantartott, nagy láthatóságú projektek is, ami tovább növeli a downstream kockázatot.
Gyors, exponenciális terjedés
Megfigyelték, hogy a féreg 30 percenként több mint 1000 új rosszindulatú GitHub-repozitóriumot hoz létre (Wiz), amit a lopott hitelesítő adatok automatizált közzététele táplál. Minden új áldozat terjedési csomóponttá válik, így minden ciklusban megsokszorozódik a teljes hatása.
Felfedett titkok
A Shai-Hulud 2.0 hitelesítő adatok ellopására irányuló komponense különösen károsnak bizonyul. Az ellenőrzött, kiszivárgott titkos adatok között több mint 1500 hitelesítő adat és token található, amelyek a főbb platformokat – GitHub, AWS, Google Cloud és Azure – érintik.
Ez a mennyiségű érzékeny tokenek széles körű, több felhőre kiterjedő kompromisszumot jelent, amely hosszú távú kihasználás lehetőségét rejti magában.
Helyreállítási erőfeszítések
Szerencsére több nagynevű karbantartó, mint például a Zapier, a PostHog és a Postman, már visszanyerte az irányítást a csomagjai felett. A rosszindulatú verziókat eltávolították az npm-ből, és sok érintett tárolót visszaszereztek vagy megtisztítottak.
Az eset azonban még mindig folyamatban van. A gyors helyreállítás ellenére a szervezeteknek továbbra is figyelemmel kell kísérniük a függőségek állapotát, a CI-csatornákat és a GitHub-fiókokat, hogy felismerjék a további hitelesítő adatok kiszivárgásának vagy automatizált újraközzétételének jeleit.
Ökoszisztéma-átívelő hatás: npm → Maven/Java
Érdemes megjegyezni, hogy ez a hullám más ökoszisztémákra is hatással volt, például a Maven/Java-ra, az automatizált npm-to-Maven artefaktum-konverzió (JFrog) révén.
-
Bár az npm továbbra is a Shai-Hulud 2.0 elsődleges célpontja, ez a hullám rámutatott az ökoszisztémák közötti terjedés kockázatára, különösen a Java/Maven projektekben. A biztonsági kutatók azonosították a rosszindulatú Maven-artefaktumot:
org.mvnpm:posthog-node:4.18.1amely ugyanazt a hasznos adatot tartalmazza (beállítás_bun.jsésbun_environment.js) megtalálható a sérült npm csomagokban (A Hacker News) .
- Mechanizmus: Az automatizált áthidaló eszközök az npm csomagokat Maven artefaktumokként építik újra Java projektekhez. Azok a csapatok, amelyek nem használják közvetlenül a Node.js-t, veszélybe kerülhetnek, ha projektjeik ezekre a tükrözött artefaktumokra támaszkodnak.
Ez jól mutatja az ökoszisztémától független kockázatot, amelyet a szállítási lánc elleni támadások jelentenek. Még azok a projektek is, amelyek nem használják közvetlenül az npm-et, automatizált eszközök révén átvehetik ezt a kockázatot.
A Shai-Hulud 2.0 bizonyítja, hogy a modern ellátási láncban terjedő férgek környezetérzékeny, többfázisú fenyegetések: alkalmazkodnak a fejlesztői gépekhez és a CI/CD folyamatokhoz, hitelesítő adatokat gyűjtenek mind hasznos teherként, mind terjedési mechanizmusként, és tartalék viselkedésmódokat is tartalmaznak, hogy biztosítsák a terjedést vagy a pusztító hatást. Az észleléshez nem csak statikus kódelemzésre van szükség, hanem az összes fázisban a futási viselkedés figyelemmel kísérésére is.
Műszaki mechanika: Hogyan működik a féreg?
| Színpad | Mi történik |
|---|---|
| 1. Kezdeti hozzáférés és telepítés | A támadók a feltört npm karbantartói fiókokat használják fel olyan csomagok szállítására, amelyek beállítás_bun.js és bun_environment.js, automatikusan végrehajtva egy előtelepítés kapcsolat a fejlesztői gépek és a CI/CD folyamatok között. |
| 2. Titkos futási inicializálás | A betöltő felismeri a gazdagép környezetét, inicializálja a Bun futási környezetet, és a háttérben csendben futtatja a hasznos adatokat, hogy a telepítés normálisnak tűnjön. |
| 3. Környezeti ujjlenyomatok és jogosultságok kiterjesztése | A hasznos teher azonosítja a CI platformokat, jelszó nélküli root hozzáférést próbál meg elérni a Linux futtatókon a Docker segítségével, és módosíthatja a DNS- vagy iptables-szabályokat a hálózati forgalom ellenőrzése érdekében. |
| 4. Hitelesítő adatok és titkos információk gyűjtése | A hasznos teher gyűjti a környezeti változókat és a felhő kulcsokat, futtatja a TruffleHog programot a helyi titkos adatok felfedezéséhez, kivonja az AWS/Azure/GCP hitelesítő adatokat, és ideiglenes munkafolyamatokat juttat be a GitHub titkos adatainak lekérdezéséhez. |
| 5. Kiszivárogtatás és kitartás | Az ellopott adatok háromszoros base64 kódolással vannak ellátva, és feltöltésre kerülnek az áldozat fiókjában található új repo-ba, míg a perzisztencia egy rosszindulatú, saját hosztolt futtató és munkafolyamat segítségével jön létre. |
| 6. Féregszaporodás (replikáció) | A lopott npm tokenek segítségével a féreg klónozza az áldozat csomagjait, rosszindulatú fájlokat és hookokat juttat be, verziókat frissít, majd újra közzéteszi őket, hogy önállóan terjedjenek. |
| 7. Romboló visszaesés | Ha nem sikerül hitelesítő adatokat gyűjteni, a féreg egy romboló rutint indít el, amely biztonságosan törli a felhasználó otthoni könyvtárát. |
A PostHog incidens által kiemelt CI/CD kockázatok
A PostHog biztonsági incidense jól szemlélteti a CI/CD-k kiszolgáltatottságának finomságait:
- A rosszindulatú pull requestek kihasználták a pull_request_target funkciót a GitHub Actions-ben.
- Egy bot PAT-ot szivárogtattak ki, ami lehetővé tette a trójai npm SDK-k közzétételét.
A CI/CD munkafolyamatok, még az automatizáltak is, nagy kockázatú támadási felületek. Korlátozza a szkripteket, minimalizálja a tokenek kitettségét, és alkalmazzon rövid élettartamú hitelesítő adatokat.
A hagyományos védekezés korlátai
- A függőségek rögzítése tranzitív függőségek miatt sikertelen lehet.
- A statikus SCA szkennerek nem képesek felismerni az újonnan közzétett, trójai kódokat a legitim csomagnevek alatt.
- A CI/CD-csatornákon keresztül történő token-visszaélés azt jelenti, hogy még a belső adattárak is veszélyben vannak.
Hogyan használhatjuk az SBOM-ot és Supply Chain védelemként?
Az SBOM és az ellátási lánc eszközök a következőket biztosíthatják:
- Függőségek átláthatósága: Nyomon követi a közvetlen és tranzitív függőségeket a verzió és a karbantartó metaadatokkal.
- Provenance verification: Azonosítja a váratlan csomagváltozásokat vagy az ismeretlen karbantartókat.
- Hitelesítő adatok és titkos adatok figyelése: észleli az adatok kiszivárogtatására irányuló kísérleteket vagy a visszaélésszerűen használt tokeneket.
- Viselkedési betekintés: Figyelemmel kíséri az erőforrásokhoz való hozzáférést vagy a telepítés során fellépő szokatlan végrehajtási mintákat.
Bár ez nem csodaszer, az SBOM és a folyamatos monitorozás kombinálása erősíti a féregszerű támadások elleni védekezést.
OPSWAT és MetaDefender Software Supply ChainChain™
Az OPSWAT technológia átvizsgálja a forráskód-tárat, és felismeri a rosszindulatú npm sha1-hulud csomagot.

MetaDefender Software Supply Chain teljesebb képet ad és felismeri a sérült sha1-hulud csomagot.


A Metascan Multiscanning több védelmi réteget ad hozzá a rosszindulatú programok észleléséhez:

Ajánlott azonnali intézkedések
- Hitelesítő adatok cseréje: GitHub PAT-ek, npm tokenek, SSH kulcsok, felhőalapú hitelesítő adatok; MFA engedélyezése.
- Távolítsa el a sérült csomagokat: Törölje az npm cache-t, a node_modules-t, és rögzítse az ismert tiszta verziókat.
- GitHub és CI/CD ellenőrzése: Keressen új repozitóriumokat, munkafolyamatokat és gyanús commitokat.
- A csővezetékek megerősítése: korlátozza az életciklus-parancsfájlokat, korlátozza a kimenő hálózati hozzáférést és minimalizálja a token hatókörét.
- Folyamatos figyelemmel kísérés: Kezelje a függőségeket és építse ki a folyamatokat a kritikus támadási felület részeként.
A legfontosabb tudnivalók
Az ellátási láncot fenyegető veszélyek ökoszisztéma-függetlenek
A Shai-Hulud 2.0 npm-to-Maven hídon keresztül történő átterjedése a Maven/Java-ba azt mutatja, hogy a szállítási lánc elleni támadások átléphetik a nyelvi és ökoszisztéma határokat. Még azok a projektek is veszélybe kerülhetnek, amelyek nem használják közvetlenül az npm-et, ha automatizált hídépítő eszközöket alkalmaznak.
A hitelesítő adatok tisztasága alapvető fontosságú
Az ellopott tokenek (GitHub, npm, felhő) lehetővé teszik a terjedést és a hozzáférést az érzékeny környezetekhez. Használjon rövid élettartamú, hatókörrel rendelkező tokeneket, alkalmazzon MFA-t, és azonnal cserélje ki a hitelesítő adatokat, ha bármilyen biztonsági rés gyanúja merül fel. Használjon automatizált titkos szkennelő eszközöket a folyamat felgyorsításához.
Supply Chain holisztikus Supply Chain kötelező
A kizárólag statikus SCA-vizsgálatra vagy verziók rögzítésére támaszkodni nem elegendő. Kombinálja az SBOM láthatóságát, a rosszindulatú programok többszöri vizsgálatát és a tokenek/titkos adatok védelmét, hogy csökkentse a kockázatot az összes ökoszisztémában. Fedezze felSupply Chain MetaDefender Supply Chain
Készen állsz arra, hogy testreszabott, zökkenőmentesen integrált megoldásokkal biztosítsd szoftverellátási láncodat és megelőzd a kibertámadásokat?
