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.
