IronWorm i Miasma gađaju npm: developeri postaju sve vrednija meta
Iz npm ekosistema, jezgra iz kojeg kreće veliki deo otvorenog koda, ponovo se širi talas napada na softverski lanac snabdevanja — kroz desetine kompromitovanih npm paketa, zlonamerni kod stiže do razvojnih mašina i CI/CD sistema. Npm paketi su gotove biblioteke i delovi koda koje developeri ugrađuju u svoje projekte da ne bi pisali sve od nule; zbog toga su izuzetno korisni, ali i opasni kada neko u njih ubaci maliciozni kod. Prema nalazima JFrog-a, IronWorm je infostealer pisan u Rustu koji je preko kompromitovanog npm naloga „asteroiddao” objavljivan kroz trojanizovane npm pakete, dok se maliciozni binarni fajl pokretao preko `preinstall` hook-a prilikom instalacije. IronWorm traži 86 promenljivih u okruženju, odnosno mesta na kojima inženjeri i CI/CD sistemi često drže tokene, ključeve i pristupe za AWS, Docker, Kubernetes, npm, GitHub i AI alate kao što su OpenAI Codex, Claude, Gemini i Cursor. U odvojenoj kampanji, Endor Labs i StepSecurity opisuju novu Miasma varijantu koja je kompromitovala 57 npm paketa kroz više od 286 malicioznih verzija, uz „Phantom Gyp” tehniku koja zloupotrebljava `binding.gyp` umesto uobičajenih install skripti koje bezbednosni alati češće prate. Posebno neprijatna novina je gađanje AI coding assistant konfiguracija i ubacivanje backdoor fajlova koji se aktiviraju kada inženjer otvori projekat u AI-assisted IDE okruženju.
↯ ŠTA ZNAČI
Ovakvi napadi ciljaju mesta gde se drže digitalni ključevi: razvojne mašine i CI/CD pipeline. Maliciozni npm paket može da dođe do cloud tokena, GitHub pristupa, AI kredencijala, SSH ključeva, npm publishing tokena i workflowa koji otvara put ka produkciji. Za firme koje koriste open-source pakete, veb agencije, interne timove ili spoljne izvođače, pitanje više nije samo da li je aplikacija bezbedna, nego i ko sve ima pravo da uvodi nove zavisnosti, pokreće install skripte ili, sa druge strane, objavljuje pakete kojima svi a priori veruju.
→ PREPORUČENI KORACI
- 01 Proveriti da li su u projektima korišćene pogođene verzije npm paketa i pregledati `package-lock.json`, `npm-shrinkwrap.json` i CI logove za tragove sumnjivih instalacija
- 02 Rotirati kredencijale koji su mogli biti dostupni na razvojnim mašinama ili CI/CD runnerima: GitHub, npm, cloud provajderi, SSH ključevi, API ključevi i AI alatke
- 03 Ograničiti automatsko izvršavanje install skripti i native rebuild koraka; gde je moguće koristiti `npm ci --ignore-scripts`, a izuzetke odobravati eksplicitno
- 04 Pregledati promene u `package.json`, `binding.gyp`, `.github/workflows` i sličnim fajlovima, posebno ako izgledaju kao rutinski bot ili AI commit
- 05 Smanjiti broj dugotrajnih pristupnih podataka u razvojnom okruženju i CI/CD-u; kratkotrajni tokeni pomažu, ali ne vrede mnogo ako svaka instalacija paketa može da ih pokupi