Kai kūrėjas į savo projektą įtraukia „@redhat-cloud-services" biblioteką, jis galvoja apie funkcionalumą, o ne apie saugumą. Juk tai „Red Hat" — viena patikimiausių atvirojo kodo kompanijų pasaulyje. Tačiau 2026 metų gegužės pabaigoje paaiškėjo, kad būtent šis pasitikėjimas tapo idealiu ginklu: daugiau nei 30 „Red Hat" npm paketų buvo tyliai užkrėsti kredencialų vagyste, o kartu jie kas savaitę buvo atsisiunčiami maždaug 117 tūkstančių kartų.
Kibernetinio saugumo bendrovės „Aikido" ir „OX Security" pirmosios pastebėjo, kad dešimtys „@redhat-cloud-services" vardų erdvės paketų versijų buvo modifikuotos taip, kad jų įdiegimo metu automatiškai paleidžiamas kenkėjiškas scenarijus. Šis scenarijus, pavadintas „Miasma" — nauja „Shai-Hulud" šeimos atmaina — sistemingai rinko viską, ką tik galėjo pasiekti: „GitHub Actions" paslaptis, „Amazon Web Services" kredencialus, „Google Cloud" ir „Azure" prisijungimo duomenis, SSH raktus, CI/CD žetonus, net GPG raktus ir „Docker" kredencialus.
Pats įsilaužimo mechanizmas buvo preciziškai paprastas. Tyrėjų duomenimis, užpuolikai sukompromitavo vieno „Red Hat" darbuotojo „GitHub" paskyrą. Turėdami prieigą, jie įterpė kenkėjišką „GitHub Actions" darbo eigą, kuri kiekvieno paketo publikavimo metu paleisdavo maždaug 4,2 MB dydžio užmaskuotą „index.js" failą. Šis failas naudojo npm patikimos publikavimo sistemą, kad išleistų užkrėstas versijas — be jokio papildomo autentifikavimo, pasinaudodamas OIDC žetonais, kuriuos „GitHub" išduoda automatiškai.
// reklamaČia gali būti jūsų reklamaSusisiekite →„Red Hat" sureagavo greitai, tačiau situacija nebuvo paviršutinė. Bendrovė patvirtino „BleepingComputer", kad pažeisti paketai buvo skirti tik vidiniam kūrimui ir niekada nebuvo publikuoti per „console.redhat.com" sistemą klientams. „Paketai yra griežtai apriboti vidiniam vystymui, o kenkėjiškas kodas niekada nebuvo publikuotas klientų vartojimui", — teigė „Red Hat" atstovas. Vis dėlto, kadangi npm registre paketai buvo vieši, bet kuris kūrėjas, įtraukęs juos į savo projektą, galėjo tapti auka. Iš viso nustatyta 32 pažeisti paketai ir 96 užkrėstos jų versijos.
Tai, kas šią ataką daro ypač pavojinga, yra tiekimo grandinės pobūdis. Užtenka, kad vienas populiarios bibliotekos prižiūrėtojas įdiegtų užkrėstą paketą — ir infekcija gali pasklisti per šimtus priklausomų projektų. „Aikido" duomenimis, kompromituoti paketai buvo klientų bibliotekos, naudojamos bendrauti su „Red Hat" debesijos paslaugomis, tad potencialių aukų ratas buvo platus. Kenkėjiškas „preinstall" scenarijus paleisdavo iš karto po „npm install" komandos, dar prieš kūrėjui ką nors spėjant pastebėti.
Šis incidentas — ne pirmas ir tikrai ne paskutinis tiekimo grandinės atakos atvejis npm ekosistemoje. Dar 2018 metais „event-stream" atvejis parodė, kaip vienas prižiūrėtojas, perdavęs populiarią biblioteką nepažįstamam asmeniui, sukėlė grandininę reakciją, kuri galėjo paveikti milijonus projektų. 2024 metais „xz backdoor" incidentas vos nesukompromitavo didelės dalies Linux serverių. O dabar — „Red Hat", vardas, kuris asocijuojasi su patikimumu.
Skirtumas nuo ankstesnių atakų yra tas, kad „Miasma" scenarijus buvo sukurtas maksimaliam prisitaikymui. Užuot taikęsis į vieną konkretų tikslą, jis rinko viską — ir tai reiškia, kad užpuolikai greičiausiai vykdė žvalgybinę operaciją, o ne tikslinį smūgį. Jie norėjo sužinoti, kokie vartai atsivers, kai raktai jau rankose. Turint omenyje, kad tarp pavogtų duomenų buvo ir „HashiCorp Vault" žetonai bei „Kubernetes" prieigos raktai, potenciali tolesnė eskalacija galėjo būti milžiniška.
Situaciją dar labiau komplikuoja tai, kad daugelis organizacijų neįsivaizduoja, kuriuos paketus jos iš tikrųjų naudoja. Priklausomybių medžiai šiuolaikiniuose „Node.js" projektuose gali siekti šimtus, kartais tūkstančius paketų — ir kiekvienas iš jų yra potenciali atakos anga. Vienas iš pažeistų „@redhat-cloud-services" paketų galėjo būti įtrauktas ne tiesiogiai, o per tarpinę biblioteką, kurios prižiūrėtojas net nežinojo, kad naudoja sukompromituotą versiją.
Šis incidentas taip pat išryškina gilesnę problemą — OIDC žetonų naudojimą automatizuotame publikavime. „GitHub" OIDC sistema, leidžianti paketams publikuotis be iš anksto sugeneruotų ilgalaikių žetonų, buvo sukurta kaip saugumo patobulinimas. Tačiau kai užpuolikas jau turi prieigą prie repozitorijos, ši sistema tampa ne apsauga, o pagreičiu: kenkėjiškas kodas gali būti publikuotas akimirksniu, be jokio papildomo barjero. Tai nereiškia, kad OIDC yra bloga idėja — tai reiškia, kad pirminė paskyros apsauga (darbuotojo „GitHub" paskyros saugumas) tampa dar svarbesnė.
Visgi turbūt svarbiausia šio incidento pamoka yra ta, kad tiekimo grandinės saugumas negali būti paremtas pasitikėjimu vardu. „Red Hat" reputacija padarė šią ataką veiksmingesnę, nes niekam neatėjo į galvą mintis tikrinti, ką tiksliai daro „@redhat-cloud-services" paketai diegimo metu. O kai ataka jau įvyko, kiekviena organizacija turi atsakyti sau į vieną klausimą: ar tikrai žinome, kokį kodą vykdome kiekvieną kartą, kai paleidžiame „npm install"?
Organizacijoms, kurios galėjo įdiegti bet kurią iš 96 pažeistų versijų, saugumo ekspertai rekomenduoja nedelsiant pakeisti visus kredencialus, slaptažodžius ir žetonus, kuriuos naudojo užkrėstas įrenginys. Taip pat verta peržiūrėti CI/CD žurnalus — ar nebuvo neįprastų prisijungimų ar publikavimų po paketų įdiegimo datos.
Dažnai užduodami klausimai
- Kaip sužinoti, ar mano projektas naudojo užkrėstą „Red Hat" paketą?
- Patikrinkite savo projekto „package-lock.json" arba „yarn.lock" failus, ar juose nėra „@redhat-cloud-services" paketų. Jei yra, palyginkite versiją su „Aikido" ar „OX Security" paskelbtomis pažeistų versijų datomis.
- Kokie duomenys galėjo būti pavogti?
- Kenkėjiškas scenarijus rinko praktiškai viską: „GitHub" žetonus, AWS, GCP ir Azure kredencialus, SSH raktus, npm ir PyPI publikavimo žetonus, Docker prisijungimus, GPG raktus ir .env failus. Jei įrenginys turėjo prieigą prie CI/CD infrastruktūros, rizika itin didelė.
Šaltiniai
- BleepingComputerBleepingcomputer · 2026
- Aikido Security (pirminis tyrimas)Aikido · 2026



