PureScripti installeri npm-paketi sĂ”ltuvustes kahjustav kood, mis ilmneb paketi installimise katsete ajal . Kahjustav kood on sisse ehitatud sĂ”ltuvuste kaudu ja . Oluline on, et selliste sĂ”ltuvustega pakettide hooldamise eest vastutas algne PureScripti installeri npm-paketi autor, kes hooldas seda npm-paketti kuni hiljuti, kuid umbes kuu tagasi anti paketile ĂŒle teiste hooldajate.
Probleemi avastas ĂŒks paketi uusi hooldajaid, kellele Ă”igused hooldamiseks anti pĂ€rast pikka vaidlust ja ebameeldivaid arutelusid algse PureScripti npm-paketi autori ja uute hooldajate vahel. Uued hooldajad vastutavad PureScripti komileerija eest ning nĂ”udsid, et npm-paketti koos selle installijaga peaks hooldama sama meeskond, mitte keegi teine. Algne PureScripti npm-paketi autor ei olnud pikka aega nĂ”us, kuid lĂ”puks leppis ta ning andis juurde pÀÀsu repo. Samas jĂ€id mĂ”ned sĂ”ltuvused tema kontrolli alla.
Eelmisel nÀdalal ilmus PureScripti komileerija versioon 0.13.2 ja
uued hooldajad valmistasid ette vastava uuenduse npm-paketile, mille installijaga seotud sĂ”ltuvustes tuvastati kahjustav kood. Hooldustöölt kĂ”rvaldatud algne PureScripti npm-paketi autor teatas, et tema konto on tundmatute rĂŒndajate poolt kompromiteeritud. Siiski, praeguses seisus piirdus kahjustava koodi tegevus ainult paketi installimise saboteerimisega, mis sai uute hooldajate poolt esimeseks versiooniks. Kahjustavad tegevused piirdusid tsĂŒklite loomisega, mis viskas veateate, kui prooviti installida paketti kĂ€su ânpm i -g purescriptâ abil ilma selgesĂ”nalist kahjulikku tegevust teostamata.
Tuvastati kaks rĂŒnnakut. MĂ”ni tund pĂ€rast uue purescript npm-paketi ametlikku vĂ€ljalaskmist lĂ”petati kellegi poolt sĂ”ltuvuse load-from-cwd-or-npm uus versioon 3.0.2, mille muudatused viisid selleni, et kutsumine loadFromCwdOrNpm() tagastas vajalikud binaarfailid loendi asemel , mis peegeldas sissese tulevaid pĂŒhendusi vĂ€ljundvÀÀrtustena.
Neli pĂ€eva pĂ€rast seda, kui arendajad olid probleemide allika tuvastanud ja olid valmis vĂ€ljastama uuenduse, et eemaldada load-from-cwd-or-npm sĂ”ltuvused, avaldasid kurjategijad uue uuenduse load-from-cwd-or-npm 3.0.4, milles kahjulik kood eemaldati. Sellegipoolest ilmus peaaegu kohe uuendus teisele sĂ”ltuvusele rate-map 1.0.3, milles lisati parandusi, mis blokeerivad callback-kutse ĂŒleslaadimiseks. See tĂ€hendab, et mĂ”lema sĂ”ltuvuse uutes versioonides load-from-cwd-or-npm ja rate-map muudatused olid selgelt saboteerimise iseloomuga. Veelgi enam, kahjulikus koodis oli kontroll, mis aktiveeris vigaseid tegevusi ainult uute toetajate vĂ€ljaande installeerimise korral ega avaldunud vanade versioonide installimisel.
Arendajad lahendasid probleemi, vĂ€ljastades uuenduse, milles probleemsed sĂ”ltuvused eemaldati. Et vĂ€ltida kompromiteeritud koodi jÀÀkide sattumist kasutajate sĂŒsteemidesse pĂ€rast probleemse PureScript versiooni installimist, on soovitatav kustutada node_modules kataloogide sisu ja package-lock.json failid ning seejĂ€rel seadistada minimi versiooniks purescript 0.13.2.
Allikas: opennet.ru
