Hakeri su ukrali hiljade kredencijala u svježem supply chain napadu usmjerenom na JavaScript developere koji koriste popularni Nx build sistem.
Sa više od 4 miliona nedjeljnih preuzimanja, Nx je open-source, tehnološki neutralna build platforma koja omogućava developerima da upravljaju velikim codebase-ovima.
U okviru novootkrivenog napada, nazvanog s1ngularity, hakeri su došli do Nx NPM tokena i iskoristili ga da objave maliciozne verzije paketa na registry.
U korijenu napada bio je ranjivi workflow uveden 21. avgusta, koji se mogao zloupotrijebiti za code injection, objašnjavaju održavaoci Nx-a. Iako je bag skoro odmah uklonjen iz glavne grane nakon što je otkriven kao maliciozno iskoristiv, haker ga je ubacio kroz pull request na fork ka zastarjeloj grani repozitorijuma nrwl/nx. Na taj način ukraden je GITHUB_TOKEN sa read/write ovlašćenjima nad repozitorijumom.
Ukradeni token je potom iskorišćen da se pokrene publish.yml workflow, koji je sadržao NPM token za objavljivanje malicioznih verzija Nx paketa i dodatnih pluginova. Na udaru su se našli i korisnici Nx Console IDE ekstenzije, čak i ako nisu koristili Nx workspace-ove.
Između 18:32 i 20:37 časova po istočnoameričkom vremenu 26. avgusta, objavljeno je osam malicioznih verzija Nx-a. One su uklonjene u 22:44, a svi NPM tokeni sa pravima objavljivanja opozvani su do 23:57.
Samo nekoliko sati kasnije, “svi NPM paketi pod Nx-om (pogođeni ili ne) podešeni su da zahtijevaju 2FA i VIŠE SE NE MOGU objavljivati uz NPM tokene. Takođe, svi paketi prebačeni su na Trusted Publisher mehanizam, koji ne koristi NPM tokene,” naveli su održavaoci Nx-a.
Verzije Nx-a 21.5.0, 20.9.0, 21.6.0, 20.10.0, 21.7.0, 20.11.0, 21.8.0 i 20.12.0 bile su ubačene sa post-install skriptom koja je izvršavala malicioznu datoteku telemetry.js na Linux i macOS sistemima, navodi firma Wiz.
Payload je bio dizajniran da sistematski pretražuje mašine u potrazi za osjetljivim fajlovima i environment varijablama koje sadrže SSH ključeve, NPM tokene, GitHub tokene, API ključeve i podatke iz kripto novčanika.
Dodatno, malver je mijenjao startup fajlove shell-a, ubacujući shutdown komande koje bi rušile sistem pri otvaranju novih terminal sesija, objašnjava GitGuardian.
Kod je takođe bio osmišljen da iskoristi AI alate poput Claude i Gemini kao pomoć pri izviđanju i eksfiltraciji podataka.
“Ovo je prvi poznati slučaj gdje su hakeri pretvorili AI asistente za developere u alat za supply chain eksploataciju,” ističe StepSecurity.
Kod je enkodovao prikupljene podatke, kreirao javne GitHub repozitorijume nazvane ‘s1ngularity-repository’ (ili njihove varijacije) i u njih otpremao podatke.
Wiz i GitGuardian su uočili hiljade takvih repozitorijuma i upozoravaju da, iako ih je GitHub obrisao ili arhivirao, bili su dovoljno dugo online da hakeri preuzmu podatke.
“Među kompromitovanim podacima uočeno je preko hiljadu validnih GitHub tokena, desetine cloud kredencijala i NPM tokena, kao i oko dvadeset hiljada fajlova. U mnogim slučajevima, malver je radio direktno na developerskim mašinama, često preko NX VSCode ekstenzije. Takođe su zabilježeni slučajevi da je malver izvršavan u build pipeline-ovima, poput GitHub Actions-a,” navodi Wiz.
Prema GitGuardian-u, hakeri su uspjeli da eksfiltriraju 2.349 različitih tajni u 1.079 repozitorijuma identifikovanih 27. avgusta. U vrhuncu napada, skoro 1.400 takvih repozitorijuma bilo je javno dostupno.
“Polovina ovih tajni bila je validna u trenutku izvještavanja. Najbrojniji su GitHub OAuth App ključevi. Ovaj rezultat, iako iznenađujući na prvi pogled, zapravo je vezan za način funkcionisanja Nx-a, za koji postoji GitHub aplikacija koja olakšava interakcije između NX Cloud-a i GitHub-a,” ističe GitGuardian.
Firma upozorava da ukradeni kredencijali moraju odmah biti opozvani, jer svako odlaganje može dovesti do daljih kompromitovanja.
“Mogućnost brzog otkrivanja curenja, validacije uticaja i koordinisanog opoziva hiljada identiteta koji nisu vezani za ljude postala je novi standard otpornog softverskog razvoja u eri gdje supply chain napadi mogu iskoristiti kompromitovane kredencijale u roku od nekoliko sati,” zaključuje GitGuardian.
Izvor: SecurityWeek