2025. július 18-án egy megbízható JavaScript-könyvtár, amelyet hetente több mint 31 millióan töltenek le, eslint-config-prettier
, egy célzott ellátási lánctámadásban használták fel, amely rávilágít arra, hogy a nyílt forráskódú ökoszisztémák mennyire sebezhetőek lehetnek. A betörés egy adathalász e-maillel kezdődött, amely a karbantartót arra csalta, hogy kiszivárogtassa a tokenjét. A felfedett hitelesítő adatokat felhasználva a támadó közzétette a csomag nem engedélyezett verzióit, amelyek egy olyan telepítés utáni szkriptet tartalmaztak, amely a telepítés során egy trójai DLL-t hajtott végre a Windows gépeken.
Íme, mi történt, hogyan működött a támadás, és hogyan segíthetnek OPSWAT technológiák a hasonló fenyegetések elleni védekezésben a jövőben.
Támadás összefoglalása
A népszerű npm linter csomag, eslint-config-prettier
, a Prettier használatakor a felesleges vagy egymással ütköző ESLint szabályok letiltására szolgál. Általában fejlesztési függőségként szerepel a helyi IDE-kben és a CI-pipeline-okban (nem szállítják a termelési kódban), de ez nem akadályozta meg, hogy rosszindulatú programok hordozójává váljon.
A támadás a következőképpen zajlott:
1. Egy hamisított, support@npmjs.org címre érkező adathalász e-mail rávezette a karbantartót, hogy kattintson egy rosszindulatú linkre ( npnjs.com néven). A link követése után a karbantartó tudtán kívül felfedte az npm hozzáférési tokenjét, amelyet a támadó a csomag rosszindulatú verzióinak közzétételére használt.
2. A támadó ezután az ellopott npm tokent használta fel arra, hogy rosszindulatú verziókat tegyen közzé a eslint-config-prettier
csomag. A fejlesztői jelentések alapján négy veszélyeztetett verziót azonosítottak: 10.1.6, 10.1.7-es verziók.
Mivel a támadónak hozzáférése volt a kompromittált tokenhez, más, ugyanazon szerző által karbantartott csomagok is érintettek voltak, többek között: eslint-plugin-prettier, synckit, @pkgr/core
, és napi-postinstall
3. A támadó két gyanús fájlt adott hozzá a forráskódhoz: install.js
és node-gyp.dll
.
Amikor egy felhasználó letölti és telepíti az egyik illegális csomagváltozatot, a install.js
szkript végrehajtásra kerül, és egy rosszindulatú node-gyp.dll
Windows rendszereken a rundll32
Alkalmazott támadási technikák
Adathalászat és Social Engineering
A hamisított e-mail sikeresen megkerülte az alapvető e-mail védelmeket (SPF/DKIM/DMARC), és az npm támogatásának adta ki magát.
Typosquatting
Egy megtévesztő domain(npnjs.com), amelyet úgy terveztek, hogy hasonlítson az npmjs.com-ra, a hitelesítő adatok ellopására használták. Ez egy klasszikus typosquatting technika.
Kódhomályosítás karakterláncok összekapcsolásával
A rosszindulatú csomag verziója tartalmazott egy telepítés utáni szkriptet (install.js
), amely a telepítés után automatikusan lefutott.
Belül, egy függvény nevű logDiskSpace()
ártalmatlannak tűnt, de egyáltalán nem ellenőrizte a lemezterületet. Ehelyett stringek összekapcsolását használta egy parancs összeállításához, amely a következő parancsot futtatja rundll32.exe
, és betöltött egy DLL fájlt (node-gyp.dll
) a csomagban.
A forráskód és az OSS proaktív Secure az OPSWAT segítségével
MetaDefender Software Supply Chain™ segít a szervezeteknek felismerni és blokkolni a rosszindulatú nyílt forráskódú függőségeket, mielőtt azok bekerülnének a CI/CD csővezetékbe.
- SBOM elemzés: Automatikusan átvizsgálja a függőségeket, és megjelöli a támadáshoz kapcsolódó ismert sebezhetőségeket, például a CVE-2025-54313-at.
- Multi-AV érzékelés: A MetaScan™ Multiscanning segítségével több mint 30 integrált rosszindulatú programok elleni motor segítségével észleli a node-gyp.dll-hez hasonló elhomályosított rosszindulatú programokat .
- Forrás-tárház integráció: Integrálódik a GitHub, a GitLab és a JFrog Artifactory szolgáltatásokkal a csomagok integritásának folyamatos ellenőrzése és ellenőrzése érdekében.
A támadás vektora az e-mailekkel kezdődött, és itt lép be a MetaDefender Email Security ™.
- Fájlok fertőtlenítése: Deep CDR™ átvizsgálja és tisztítja az e-mail mellékleteket.
- Hiperlink-kivonatolás: A linkek egyszerű szövegben jelennek meg, és a felhasználó kattintása előtt felfedik az olyan hasonló domaineket, mint az npnjs.com.
A legfontosabb tudnivalók
- A karbantartók biztonsága az ellátási lánc biztonsága. Egyetlen hamisított token lehetővé tette a támadók számára, hogy eltérítsék a széles körben használt könyvtárakat.
- A nyílt forráskódú ökoszisztémák a bizalomra épülnek, de egy társadalmi mérnöki siker több millió projektre is kihathat.
- Az olyan proaktív biztonsági intézkedések, mint a függőségi vizsgálatok és az e-mailek tisztítása, már nem opcionálisak, hanem elengedhetetlenek.
Mit tegyünk most
-
Kerülje az érintett verziók telepítését:
- eslint-config-prettier: 8.10.1, 9.1.1.1, 10.1.6, 10.1.7
- eslint-plugin-prettier: 4.2.2, 4.2.3
- synckit: 0.11.9
- @pkgr/core: 0.2.8
- napi-postinstall: 0.3.1
- Az érintett buildekben használt titkok forgatása
- Engedélyezze a 2FA-t az összes npm fiók számára
- Végezzenek adathalász-tudatossági képzést
Az ellátási láncot érő támadások egyre okosabbak és személyesebbek. Az OPSWATe-mail és fejlesztési csővezetékekhez kínált zéró bizalmi megoldásaival megelőzheti a következő támadást.
Tudjon meg többet a MetaDefender Supply Chain és a MetaDefender Email Security. Lépjen kapcsolatba szakértőink egyikével, hogy személyre szabott megoldásokat találjon az Ön szervezetének.