PhantomRaven kenkėjiška programa
Kibernetinio saugumo tyrėjai atskleidė itin aktyvią programinės įrangos tiekimo grandinės ataką, nukreiptą prieš npm ekosistemą. Nustatyta daugiau nei 100 kenkėjiškų paketų, galinčių pavogti jautrius kūrėjų prisijungimo duomenis, įskaitant autentifikavimo žetonus, CI/CD paslaptis ir „GitHub“ prisijungimo duomenis, tiesiai iš pažeistų kompiuterių.
Kampanija, kodiniu pavadinimu „PhantomRaven“, pirmą kartą pasirodė 2025 m. rugpjūtį. Nuo tada ji išsiplėtė iki 126 npm bibliotekų ir surinko daugiau nei 86 000 įdiegimų, o tai rodo spartų šių kenkėjiškų paketų plitimą ir pritaikymą.
Turinys
Kenkėjiški paketai, skraidantys po radaru
Keletas pažymėtų paketų apima:
- op-cli-installer – 486 atsisiuntimai
- nenaudojamas importas – 1 350 atsisiuntimų
- badgekit-api-client – 483 atsisiuntimai
- „polyfill-corejs3“ – 475 atsisiuntimai
- „eslint“ komentarai – 936 atsisiuntimai
„PhantomRaven“ ypač klastingą daro nuotolinių dinaminių priklausomybių (RDD) naudojimas. Kenkėjiški paketai negauna kodo iš oficialaus „npm“ registro, o nukreipia į pasirinktinį HTTP URL (packages.storeartifact.com). Tai leidžia „npm“ gauti priklausomybes iš nepatikimo išorinio šaltinio, efektyviai apeinant „npmjs.com“ apsaugą.
Tradiciniai saugumo skaitytuvai ir priklausomybių analizės įrankiai neaptinka šių RDD, nes automatinės sistemos paketus mato kaip turinčius „0 priklausomybių“.
Kaip veikia ataka
Atakų grandinė prasideda, kai tik kūrėjas įdiegia vieną iš, atrodytų, nekenksmingų paketų. Pagrindiniai elementai:
Išankstinio diegimo kabliuko vykdymas : pakete yra išankstinio diegimo gyvavimo ciklo scenarijus, kuris automatiškai vykdo pagrindinę naudingąją apkrovą.
Nuotolinis naudingosios apkrovos gavimas : scenarijus nuskaito kenkėjišką priklausomybę iš užpuoliko kontroliuojamo serverio.
Duomenų išgavimas : Paleidus kenkėjišką programą, ji nuskaito kūrėjo aplinką, ieškodama el. pašto adresų, renka CI/CD aplinkos informaciją, nuskaito sistemos pirštų atspaudus (įskaitant viešąjį IP adresą) ir siunčia duomenis į nuotolinį serverį.
Užpuolikas gali savo nuožiūra modifikuoti naudingąją apkrovą, iš pradžių pateikdamas nekenksmingą kodą, kad išvengtų aptikimo, o tada siųsdamas kenkėjiškus atnaujinimus, kai paketas taps populiarus.
Žmogaus ir dirbtinio intelekto aklųjų zonų išnaudojimas
Paketų pavadinimų pasirinkimas yra sąmoningas. Grėsmės skleidėjas naudoja taktiką, vadinamą apgaulingu pavadinimu, kai dideli kalbos modeliai (LLM) haliucinuoja neegzistuojančius, bet tikėtinai skambančius paketų pavadinimus. Kūrėjai gali pasitikėti šiais paketais dėl jų realistiškų pavadinimų, nežinodami apie paslėptą grėsmę.
Kaip pastebi tyrėjai, „PhantomRaven“ pabrėžia augantį užpuolikų rafinuotumą:
- Nuotolinės dinaminės priklausomybės išvengia statinės analizės.
- Dirbtinio intelekto generuojami paketų pavadinimai išnaudoja kūrėjų pasitikėjimą.
- Gyvavimo ciklo scenarijai vykdomi automatiškai be vartotojo įsikišimo.
Ši kampanija pabrėžia, kaip kenkėjiški veikėjai randa naujų būdų paslėpti kodą atvirojo kodo ekosistemose, išnaudodami tradicinių saugumo įrankių spragas.
Kodėl npm yra pagrindinis taikinys
Maža npm ekosistemos kliūtis publikuojant paketus ir automatinis išankstinio diegimo, diegimo ir po diegimo scenarijų vykdymas daro ją pagrindiniu taikiniu. Užpuolikai gali paslėpti kenkėjišką elgesį gyvavimo ciklo scenarijuose, dažnai be kūrėjo žinios, o tai iliustruoja padidėjusio budrumo ir patikimų saugumo praktikų poreikį šiuolaikinėse kūrimo aplinkose.