Fejlesztők figyelem, több tucat fertőzött csomag került az npm-re!

A ReversingLabs egy jelentős ellátási lánc támadást fedezett fel a Node package manager (npm) csomagkezelőt érintően: legalább 2021 decembere óta folyamatosan kerülnek fel káros kódokat tartalmazó modulok az npm tárolóba. 

Az npm-et Javascript fejlesztők világszerte több, mint 11 millióan használják, ez a programnyelv egyfajta „App Store-jának” számít. A nyílt forrású tárolóból a fejlesztők pillanatok alatt tölthetnek le programkönyvtárakat, amiket azután felhasznáhatnak a saját projektjeikhez. Ezek a programkódok azután számtalan rendszerben, mobilalkalmazásban és weboldalon „élnek tovább”. Míg ez egy remek megoldás a fejlesztőknek, jelentős biztonsági kockázatot jelenthet, ha egy fertőzött verzió válik elérhetővé. 

Az IconBurst kampány

A ReversingLabs szerint a támadók egy egyszerű, azonban hatásos, typosquatting nevű taktikát választották: az eredeti csomagok nevéhez nagyon hasonló, sokszor csupán egy-egy betűvel eltérő nevű káros csomagokat töltöttek fel az npm tárolóba. Példaként a mostani kampányban a népszerű umbrellajs keretrendszer káros verzióját umbrellaks-nek nevezték el. A billentyűzeten a J és a K betűk billenytűi egymás mellett találhatóak, nem nehéz elképzelni, hogy egy fejlesztő elüti a billentyűt, és ezzel máris egy káros verziót telepített.

„Bár ennek a támadásnak a teljes kiterjedése még nem ismert, az általunk felfedezett rosszindulatú csomagokat valószínűleg több száz, ha nem több ezer downstream mobil- és asztali alkalmazás, valamint webhely használja” – mondta Karlo Zanki, a ReversingLabs kutatója

A fertőzött csomagokat a támadók elsősorban webes formokon, és mobilalkalmazásokon keresztüli adatlopásra használják. A ReversingLabs szerint egyes káros csomagok (pl.: footericon) kifejezetten agresszív technikákkal gyűjtenek be minden lehetséges adatot.

Az eddig felfedezett káros csomagok listája alább található: 

Készítő / csomagnév Letöltésszám (2022.07.05.) 
fontsawesome
ionic-icon 108
ionicio 3,724
ionic-io
icon-package 17,774
ajax-libs 2,440
umbrellaks 686
ajax-library 530
arpanrizki
iconion-package 101
package-sidr 91
kbrstore 89
icons-package 380
subek 99
package-show 103
package-icon 122
kbrstore
icons-packages 170
ionicon-package 64
icons-pack 49
pack-icons 468
ionicons-pack 89
aselole
package-ionicons 144
package-ionicon 57
base64-javascript 40
ionicons-js 38
ionicons-json 39
footericon
footericon 1,903
ajax-libz
roar-01 40
roar-02 37
wkwk100 38
swiper-bundie 39
ajax-libz 40
swiper-bundle 185
atez 43

A mostani már nem az első eset, hogy káros kódot tartalmazó csomag került az npm-re, ezért a nyíltforrású programozói csomagok biztonságos terjesztésére mindenképp nagyobb hangsúlyt kell fektetni. Az Open Source Security Foundation (OpenSSF) nemrég bejlentett Package Analysis projektje egy lehetséges megoldási irányt jelent.

(bleepingcomputer.com)