- Aktyvios „npm“ tiekimo grandinės atakos pasinaudojo sukčiavimu ir administratorių paskyrų perėmimu, kad būtų galima išleisti Trojos arkliais užkrėstas versijas.
- Savaime plintanti kenkėjiška programa „Shai-Hulud“ vogė paslaptis ir dideliu mastu pakartotinai publikavo pažeistus paketus.
- „GitHub“ taiko griežtesnes kontrolės priemones: 2FA vietiniam leidybai, trumpalaikius detalius žetonus ir patikimą leidybą.
- Ekosistemos gairėse pabrėžiamas žetonų rotavimas, priklausomybių auditai ir FIDO pagrįstų 2FA bei OIDC pagrįstų darbo eigų diegimas.

Atvirasis kodas skatina šiuolaikinę plėtrą, tačiau jo mastas ir atvirumas taip pat sukuria platų atakų paviršių, kuriame npm saugumas turi nuolat tobulėti, kad neatsiliktų nuo priešininkų.
Pastarosiomis savaitėmis tyrėjai ir registrų tvarkytojai išsamiai aprašė seriją su npm susijusių incidentų, kuriuose derinama socialinė inžinerija, kredencialų vagystė ir kenkėjiško paketo publikavimas—kuris baigiasi lengvai plintančia kampanija, galinčia plisti per patikimų prižiūrėtojų pačių išleidimo darbo eigas.
Naujausia išpuolių prieš NPM ekosistemą banga

Keliose ataskaitose aprašomas tikslinis sukčiavimas sukčiavimo būdu, nukreiptas prieš npm palaikytojus, po kurio sparčiai plinta naujos versijos su po įdiegimo naudingosios apkrovos kurie vykdomi kūrėjų kompiuteriuose ir CI sistemose.
Viena kampanija, vadinama „Shai-Hulud“, pristatė daugiapakopį kirminą, kuris ieškojo paslapčių aplinkose, piktnaudžiavo „GitHub“ API ir bandė savarankiškai plisti publikuojant užterštus paketus pažeistose paskyrose.
Saugumo komandos ir registrai sureagavo greitai: „GitHub“ pašalino šimtus paveiktų paketų ir pridėjo blokus, susietus su kenkėjiškų programų kompromitavimo rodikliais, veiksmais, kurie... sutrikdė tolesnį plitimą visame registre.
Atskiri tyrimai susiejo taktiką su ankstesniais incidentais (įskaitant „S1ngularity“ / „Nx“ darbo eigos vagystę ir populiarių paketų atnaujinimų bangą), pabrėždami aiškų eskalavimą nuo pavienės kredencialų vagystės iki automatizuota tiekimo grandinė piktnaudžiavimas.
- Patikimi paketai buvo atnaujinti su įdiegimo scenarijais, skirtais rinkti žetonus ir išfiltrato duomenys.
- Pavojingos paskyros paskelbė naujas versijas, padidindamos riziką įvairiuose projektuose ir pasroviui priklausančios priklausomybės.
„GitHub“ veiksmų planas, skirtas sustiprinti NPM publikavimą
Siekdama pažaboti žetonų piktnaudžiavimą ir sulaikyti kenkėjiškas programas, kurios gali sukelti kirminų plitimą, „GitHub“ išdėstė pakeitimus, kurie sumažina publikavimo atakų plotą ir pakelia kartelę. prižiūrėtojo autentifikavimas.
- Vietinei leidybai reikės dviejų veiksnių autentifikavimas (2FA), be apėjimo parinkties.
- Publikavimui naudojami granuliarūs žetonai turės maksimali septynių dienų gyvenimo trukmė.
- Senieji klasikiniai žetonai bus nebenaudojami ir publikavimas naudojant žetonus bus neleidžiama pagal numatytuosius nustatymus.
- TOTP pagrindu veikianti 2FA bus palaipsniui panaikinta, o jos pirmenybė bus teikiama FIDO/WebAuthen metodai.
- Patikimas leidybos tinklas bus išplėstas, įtraukiant daugiau tinkamų kandidatų CI/CD teikėjai.
Šios priemonės bus diegiamos palaipsniui, o dokumentacija ir perkėlimo palaikymas padės prižiūrėtojams prisitaikyti. saugiai vykdyti darbo eigas kartu sumažinant trikdžius; konsultuotis el. Impacto de GitHub Copilot ir el desarrollo para entender cambios en flujos de trabajo.
Kaip veikia Shai-Hulud kampanija
Grėsmių vykdytojai paprastai pradeda nuo npm ar susijusių paslaugų klastojimo, kad sukčiautų su prižiūrėtoju, o tada, naudodami pavogtus prisijungimo duomenis, publikuoja atnaujinimą, kuris paleidžia kenkėjiška po įdiegimo seka.
Paleidus programą, ji išvardija vietinius aplinkos kintamuosius, konfigūracijos failus, npm nustatymus ir debesies raktus; ji taip pat piktnaudžiauja „GitHub“ API, kad pateiktų pasiekiamų saugyklų sąrašą, sukurtų šakas ir pašalintų atšaką. kenkėjiška darbo eiga kuris automatizuoja slaptų duomenų rinkimą ir išsaugojimą.
Tyrėjai pastebėjo, kad prieš išvalant pėdsakus buvo naudojamos slapto nuskaitymo programos (pavyzdžiui, „TruffleHog“), siekiant išplėsti surinktų prisijungimo duomenų tinklą. Duomenys buvo perduodami užpuoliko kontroliuojamiems galiniams taškams, o kai kuriais atvejais – į naujai sukurtą viešąją saugyklą, pavadintą „Šai-Huludas“ pagal nukentėjusiojo sąskaitą.
Šio kirmino išskirtinis bruožas yra savęs replikacija: jei randami npm žetonai, jis bando publikuoti pakeistus paketus, faktiškai paversdamas prižiūrėtojų privilegijas varikliu, skirtu eksponentinis plitimas.
- Pagrindiniai elgesys: piktnaudžiavimas po įdiegimo, automatizuotas „GitHub“ API operacijas ir saugyklos darbo eigos injekciją.
- Grėsmės apima debesijos paskyros pažeidimą, IP vagystę per pilnus saugyklų veidrodžius ir šoninis judėjimas įvairiose organizacijose.
Taikymo sritis ir poveikis
Tyrimų komandos sukatalogavo šimtus paveiktų leidimų įvairiuose projektuose, įskaitant plačiai naudojamas bibliotekas su milijonai atsisiuntimų per savaitę, padidindamas sprogimo spindulį nieko neįtariantiems vartotojams.
Telemetrijos ir incidentų reagavimo duomenys rodo, kad Šiaurės Amerikos ir Europos organizacijos buvo vienos iš labiausiai paveiktų susijusių naudingųjų apkrovų, o rizika svyravo nuo kriptovaliutų vagystė ir duomenų vagystė dėl sutrikimų kūrimo ir diegimo procesuose.
Susiję npm saugumo atradimai, į kuriuos reikia atkreipti dėmesį
Analitikai taip pat atkreipė dėmesį į „fezbox“ – trumpalaikį „npm“ paketą, kuriame buvo įdiegtas QR kodu pagrįstas naudingasis krūvis technika, skirta „JavaScript“ gavimui ir vykdymui naršyklės kredencialams iš slapukų paimti – neįprasta steganografinio vengimo forma.
Nors šiandien daugelis programėlių vengia saugoti slaptažodžius slapukuose, šis metodas pabrėžia, kaip greitai užpuolikai iteruoja užmaskavimas ir pateikimas pakuočių ekosistemose.
Patikimas leidyba: platesnis pokytis visuose registruose
Patikimas leidybos metodas, kurį rekomenduoja atvirojo kodo saugumo grupės, pakeičia ilgaamžius API raktus trumpalaikiais, OIDC palaikomos tapatybės iš CI sistemų, sumažinant žetonų išsiplėtimo ir išfiltracijos riziką.
Pirmą kartą pastebėtas „PyPI“, o vėliau pritaikytas „RubyGems“, „crates.io“, „npm“ ir „NuGet“. Šis metodas suteikia kriptografinę kilmę ir tvirtesnes garantijas dėl kaip ir kur buvo sukurtas paketas.
Ką dabar gali padaryti prižiūrėtojai
Prižiūrėtojai ir komandos gali imtis neatidėliotinų veiksmų, kad sumažintų riziką, kol bus įdiegtos registro lygio apsaugos priemonės ir pagerintas bendras veikimas. saugumo laikysena savo projektų.
- Pritaikykite patikimą leidybą naudodami OIDC ir pašalinkite ilgai išliekančius API prieigos raktai iš CI/CD.
- Įgalinti ir vykdyti FIDO/WebAuthn 2FA npm, „GitHub“ ir CI teikėjams.
- Peržiūrėti ir užrakinti publikavimo leidimai; pašalinti nenaudojamus žetonus ir paskyras.
- Audito priklausomybės (ypač naujausi atnaujinimai) ir kaiščių versijos siekiant sumažinti tiekimo grandinės nukrypimus.
- Kaitaliokite „npm“, „GitHub“ ir debesies prisijungimo duomenis; prisiimkite bet kokį slaptą kodą, esantį įrenginyje. kūrėjo mašina galėtų būti atskleistas.
- Nuskaitykite įtartinus darbo eigos failus (pvz., .github/workflows/shai-hulud-workflow.yml) ir netikėtos šakos.
Rodikliai ir medžioklės idėjos
Komandos gali sustiprinti aptikimą naudodamos bendrinamus indikatorius ir užklausas, pritaikydamos juos prie vietinių įrankių ir vengdamos trikdžių. klaidingi teigiami rezultatai.
- SHA-256, pastebėto gamtoje, pavyzdys: 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09
- Pranešta apie žiniatinklio kabliuko artefaktą: hxxps://webhooksite/bb8ca5f6-4175-45d2-b042-fc9ebb8170b7
- Stebėkite viešųjų saugyklų, pavadintų, sukūrimą „Šai-Huludas“ pagal įmokų mokėtojų sąskaitas.
- Ieškoti po diegimo scenarijus vykdymo modeliai ir staigus priklausomybių praradimas.
Medžioklės užuominų pavyzdžiai (pritaikykite savo platformai): stebėkite ryšius su „webhooksite“ domenais; pažymėkite įrašus apie shai-hulud-workflow.yml; įspėjimas apie komandų eilutes, kurios iškviečia „trufflehog“ kūrimo agentuose; ir naujausių saugyklų pakeitimų, kurie įveda CI darbo eigos be pritarimo.
Svarbiausi laiko juostos akcentai
Rugpjūčio pabaigoje įvyko tikslinis įsilaužimas, susijęs su darbo eigos trūkumu, dėl kurio nutekėjo leidybos raktas ir buvo užkrėsti Trojos arkliai; rugsėjo pradžioje–viduryje įvyko platesnio masto įsilaužimas, susijęs su populiarūs npm paketai, o tada Shai-Hulud kampanija su kirminų pavidalo dauginimu ir agresyviu slaptu derliaus nuėmimu.
Visą laiką registrų operatoriai ir saugumo tiekėjai koordinuotai reagavo, pašalindami pažeistas versijas, blokuodami žinomus IoC ir paspartindami planus įvesti griežtesnius reikalavimus. autorius ir kilmė NPM leidybai.
Šie incidentai rodo, kaip greitai grėsmių veikėjas gali paversti palaikymo pasitikėjimą paskirstymu kenksmingą kodąir kodėl ekosistema juda link FIDO 2FA, trumpalaikių prisijungimo duomenų ir CI patvirtintų leidimų, kad būtų galima užkirsti kelią ištisoms atakų klasėms.
