- Aktīvi npm piegādes ķēdes uzbrukumi izmantoja pikšķerēšanu un uzturētāju kontu pārņemšanu, lai izplatītu ar Trojas zirgiem inficētas versijas.
- Pašizplatošā ļaunprogrammatūra "Shai-Hulud" nozaga noslēpumus un plašā mērogā atkārtoti publicēja kompromitētas pakotnes.
- GitHub ievieš stingrāku kontroli: divfaktoru autentifikāciju lokālai publicēšanai, īslaicīgus granulārus žetonus un uzticamu publicēšanu.
- Ekosistēmas vadlīnijās ir uzsvērta marķieru rotācija, atkarību auditi un uz FIDO balstītu 2FA un OIDC balstītu darbplūsmu ieviešana.

Atvērtā pirmkoda programmatūra nodrošina mūsdienu attīstību, taču tās mērogs un atvērtība rada arī plašu uzbrukuma virsmu, kur npm drošība ir pastāvīgi jāattīstās, lai neatpaliktu no pretiniekiem.
Pēdējās nedēļās pētnieki un reģistri ir detalizēti aprakstījuši virkni ar npm saistītu incidentu, kas apvieno sociālo inženieriju, akreditācijas datu zādzību un ļaunprātīgas pakotnes publicēšana—kulminējot ar viegli izplatāmu kampaņu, kas spēj izplatīties, izmantojot uzticamu uzturētāju pašu izlaidumu darbplūsmas.
Nesenais uzbrukumu vilnis NPM ekosistēmai

Vairākos ziņojumos ir aprakstīta mērķtiecīga pikšķerēšana, kas vērsta pret npm uzturētājiem, kam sekoja strauja jaunu versiju ieviešana, kas satur pēcinstalēšanas lietderīgās slodzes kas darbojas izstrādātāju datoros un CI sistēmās.
Viena kampaņa, kas tika izsekota kā “Shai-Hulud”, izplatīja daudzpakāpju tārpu, kas pārmeklēja vides, meklējot noslēpumus, ļaunprātīgi izmantoja GitHub API un mēģināja pašvairoties publicējot inficētas pakotnes apdraudētos kontos.
Drošības komandas un reģistri reaģēja ātri: GitHub noņēma simtiem skarto pakotņu un pievienoja blokus, kas saistīti ar ļaunprogrammatūras kompromitēšanas indikatoriem, darbībām, kas… traucēja tālāku izplatīšanos visā reģistrā.
Atsevišķas izmeklēšanas saistīja taktiku ar agrākiem incidentiem (tostarp “S1ngularity”/Nx darbplūsmas zādzību un virkni atjauninājumu populārām pakotnēm), izceļot skaidru eskalāciju no atsevišķas akreditācijas datu zādzības līdz automatizēta piegādes ķēde ļaunprātīgi izmantot
- Uzticamās pakotnes tika atjauninātas ar pēcinstalēšanas skriptiem, kas paredzēti žetonu apkopošanai un filtrāta dati.
- Apdraudēti konti publicēja jaunas versijas, palielinot risku dažādos projektos un lejupējās atkarības.
GitHub ceļvedis NPM publicēšanas nostiprināšanai
Lai ierobežotu žetonu ļaunprātīgu izmantošanu un apturētu tārpojošu ļaunprogrammatūru, GitHub ieskicēja izmaiņas, kas sašaurina publicēšanas uzbrukumu virsmu un paceļ latiņu. uzturētāja autentifikācija.
- Vietējai publicēšanai būs nepieciešams divu faktoru autentifikācija (2FA), bez apvedceļa iespējas.
- Granulāriem tokeniem, ko izmanto publicēšanai, būs maksimālais kalpošanas laiks septiņas dienas.
- Mantotie klasiskie žetoni tiks novecojuši un publicēšana, izmantojot žetonus pēc noklusējuma tiks liegta.
- Uz TOTP balstīta 2FA tiks pakāpeniski pārtraukta, tā vietā izmantojot FIDO/tīmekļa autentifikācija metodes.
- Uzticama publicēšana tiks paplašināta, iekļaujot vairāk atbilstošu lietotāju CI/CD pakalpojumu sniedzēji.
Šie pasākumi tiks ieviesti pakāpeniski, un uzturētājiem būs pieejams dokumentācijas un migrācijas atbalsts, lai pielāgotos. darbplūsmas droši vienlaikus samazinot traucējumus; konsultējieties ar el Impacto de GitHub Copilot un el desarrollo para entender cambios en flujos de trabajo.
Kā darbojas Šai-Huludas kampaņa
Draudu izpildītāji parasti sāk ar npm vai saistītu pakalpojumu viltošanu, lai pikšķerētu uzturētāju, un pēc tam izmanto nozagtas akreditācijas datus, lai publicētu atjauninājumu, kas palaiž ļaunprātīga pēcinstalēšana secība.
Pēc izpildes lietderīgā slodze uzskaita lokālos vides mainīgos, konfigurācijas failus, npm iestatījumus un mākoņa atslēgas; tā arī ļaunprātīgi izmanto GitHub API, lai uzskaitītu pieejamās krātuves, izveidotu filiāles un atmestu ļaunprātīga darbplūsma kas automatizē slepeno datu vākšanu un saglabāšanu.
Izmeklētāji novēroja slepenu skenēšanas utilītu (piemēram, TruffleHog) izmantošanu, lai paplašinātu ievākto akreditācijas datu tīklu pirms pēdu dzēšanas. Dati tika nosūtīti uzbrucēju kontrolētiem galapunktiem un dažos gadījumos ievietoti jaunizveidotā publiskā krātuvē ar nosaukumu "Šai-Huluds" cietušā kontā.
Tārpa raksturīgā iezīme ir pašreplikācija: ja tiek atrasti npm tokeni, tas mēģina publicēt mainītas pakotnes, faktiski pārvēršot uzturētāju privilēģijas par dzinēju eksponenciālā izplatība.
- Galvenās uzvedības: ļaunprātīga izmantošana pēc instalēšanas, automatizētas GitHub API darbības un repozitorija darbplūsmas injekcija.
- Draudi ietver mākoņa konta kompromitēšanu, IP zādzību, izmantojot pilnus repozitorija spoguļus, un sānu kustība dažādās organizācijās.
Darbības joma un ietekme
Pētnieku komandas ir katalogizējušas simtiem skarto laidienu dažādos projektos, tostarp plaši izmantotās bibliotēkās ar miljoniem lejupielāžu nedēļā, palielinot sprādziena rādiusu neko nenojaušošiem patērētājiem.
Telemetrijas un incidentu reaģēšanas atklājumi liecina, ka organizācijas Ziemeļamerikā un Eiropā bija vienas no visvairāk pakļautajām saistītajām slodzēm, un riski bija dažādi, sākot no kriptovalūtu zādzības un datu zādzības traucējumi būvniecības un izvietošanas procesos.
Saistītie npm drošības atklājumi, kas jāņem vērā
Analītiķi arī atzīmēja fezbox — īslaicīgu npm pakotni, kurā bija iestrādāts Uz QR kodu balstīta lietderīgā slodze metode JavaScript izgūšanai un izpildei pārlūkprogrammas akreditācijas datu iegūšanai no sīkfailiem — neparasta steganogrāfiskas apiešanas forma.
Lai gan mūsdienās daudzas lietotnes izvairās no paroļu saglabāšanas sīkfailos, šī metode uzsver, cik ātri uzbrucēji atkārto darbību. apmulsināšana un piegāde iepakojuma ekosistēmās.
Uzticama publicēšana: plašākas pārmaiņas reģistros
Uzticama publicēšana, ko iesaka atvērtā pirmkoda drošības grupas, aizstāj ilgstošas API atslēgas ar īslaicīgām, OIDC atbalstītas identitātes no CI sistēmām, samazinot žetonu izplešanās un eksfiltrācijas risku.
Šī pieeja, kas pirmo reizi tika izmantota PyPI un vēlāk ieviesta RubyGems, crates.io, npm un NuGet, nodrošina kriptogrāfisku izcelsmi un stingrākas garantijas par kā un kur tika izveidota pakete.
Ko uzturētāji tagad var darīt
Uzturētāji un komandas var veikt tūlītējus pasākumus, lai samazinātu atkarību, kamēr tiek ieviesti reģistra līmeņa aizsardzības pasākumi un uzlabota kopējā aizsardzība. drošības poza saviem projektiem.
- Ieviesiet uzticamu publicēšanu ar OIDC un noņemiet ilgstošas darbības. API marķieri no CI/CD.
- Iespējot un ieviest FIDO/WebAuthn 2FA npm, GitHub un CI pakalpojumu sniedzējiem.
- Pārskatīt un slēgt publicēšanas atļaujas; noņemiet neizmantotos žetonus un kontus.
- Audita atkarības (īpaši jaunākie atjauninājumi) un tapu versijas lai samazinātu piegādes ķēdes novirzes.
- Mainīt npm, GitHub un mākoņa akreditācijas datus; pieņemt jebkuru slepeno informāciju, kas atrodas izstrādātāja mašīna varētu tikt atklāts.
- Skenējiet aizdomīgus darbplūsmas failus (piemēram, .github/workflows/shai-hulud-workflow.yml) un negaidīti zari.
Indikatori un medību idejas
Komandas var uzlabot noteikšanu ar koplietotiem indikatoriem un vaicājumiem, pielāgojot tos vietējiem rīkiem, vienlaikus izvairoties no trokšņainas informācijas. viltus pozitīvus.
- SHA-256 piemērs, kas novērots savvaļā: 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09
- Ziņots par tīmekļa āķa artefaktu: hxxps://webhooksite/bb8ca5f6-4175-45d2-b042-fc9ebb8170b7
- Vērojiet nosaukto publisku repozitoriju izveidi "Šai-Huluds" sadaļā līdzmaksātāju konti.
- Meklējiet pēcinstalēšanas skripts izpildes modeļi un pēkšņa atkarību maiņa.
Medību norāžu paraugi (pielāgojiet savai platformai): uzraugiet savienojumus ar tīmekļa vietņu domēniem; atzīmējiet ierakstus par shai-hulud-workflow.yml; brīdinājums par komandrindām, kas izsauc “trufflehog” veidošanas aģentos; un nesen ieviesto repozitorija izmaiņu pārskatīšana CI darbplūsmas bez apstiprinājuma.
Laika skalas svarīgākie notikumi
Augusta beigās notika mērķtiecīgs pārkāpums, kas saistīts ar darbplūsmas trūkumu, kura rezultātā nopludināja publicēšanas žetonu un noveda pie ar Trojas zirgu inficētām versijām; septembra sākumā un vidū notika plašāks pārkāpums, kurā bija iesaistīti populāras npm pakotnes, un pēc tam Šai-Huludas kampaņa ar tārpiem līdzīgu pavairošanu un agresīvu slepenu ražas novākšanu.
Visā procesa gaitā reģistra operatoru un drošības pakalpojumu sniedzēju koordinētā reakcija noņēma kompromitētās versijas, bloķēja zināmos IoC un paātrināja plānus stingrāku noteikumu ieviešanai. autors un izcelsme npm publicēšanai.
Šie incidenti parāda, cik ātri apdraudējuma dalībnieks var pārvērst uzturētāja uzticību izplatīšanas tīklā. ļaunprātīgu kodu, un kāpēc ekosistēma virzās uz FIDO 2FA, īslaicīgām akreditācijas datiem un CI sertificētām versijām, lai novērstu veselas uzbrukumu klases.
