NPM támadás Google Naptárral

Editors' Pick

A Veracode biztonsági kutatói egy kifinomult támadást azonosítottak az npm csomagkezelő ökoszisztémájában, amely a os-info-checker-es6 nevű csomaghoz köthető. A csomag első verziói ártalmatlannak tűntek, rendszerinformációkat gyűjtöttek, és nem mutattak rosszindulatú viselkedést.

Későbbi verziókban azonban platformspecifikus, előre lefordított bináris fájlokat adtak hozzá, amelyek egy decode nevű függvényt tartalmaztak. Ez a függvény egy látszólag egyszerű karakterláncot dolgozott fel, amely valójában láthatatlan Unicode karakterek sorozatát tartalmazta. Ezek a karakterek a Unicode kiegészítő síkjának variációs szelektorai közé tartoztak, amelyek nem jelennek meg vizuálisan, így ideálisak steganográfiai célokra.

decode függvény által visszaadott Base64-kódolt adatokat a kód eval(atob(decodedString)) hívással hajtotta végre, lehetővé téve tetszőleges JavaScript kód futtatását a telepítés során.

A támadás következő fázisában a csomag egy Google Calendar rövid linket használt, amely egy esemény oldalára mutatott. Az esemény HTML kódjából a támadó egy Base64-kódolt URL-t nyert ki, amely a végső rosszindulatú kódot tartalmazta. Ez a megközelítés lehetővé tette a támadó számára, hogy dinamikusan változtassa a letöltött kódot anélkül, hogy közvetlenül módosítania kellett volna az npm csomagot.

A Veracode jelentése szerint a os-info-checker-es6 csomagot körülbelül 655 alkalommal töltötték le hetente, és négy másik npm csomag is függött tőle: skip-totvue-dev-serverrvue-dummyy és vue-bit. Ezek a csomagok valószínűleg ugyanahhoz a rosszindulatú kampányhoz kapcsolódnak.

FORRÁS