Otkrivene su zlonamjerne promjene u zavisnostima za npm paket sa PureScript instalaterom

Ovisno o npm paketu s PureScript instalaterom identifikovan zlonamjerni kod koji se pojavljuje kada pokušate instalirati paket purescript. Zlonamjerni kod je ugrađen putem zavisnosti load-from-cwd-or-npm и rate-map. Važno je napomenuti da održavanje paketa sa ovim zavisnostima vrši originalni autor npm paketa sa PureScript instalaterom, koji je donedavno održavao ovaj npm paket, ali je pre otprilike mesec dana paket prebačen na druge održavaoce.

Problem je otkrio jedan od novih održavatelja paketa, na koga su preneta prava održavanja nakon mnogih nesuglasica i neugodnih razgovora sa originalnim autorom purescript npm paketa. Novi održavaoci su odgovorni za PureScript kompajler i insistirali su da NPM paket i njegov instalater treba da održavaju isti održavaoci, a ne spoljna strana. Autor npm paketa sa PureScript instalaterom se dugo nije slagao, ali je onda popustio i prenio pristup spremištu. Međutim, neke zavisnosti su ostale pod njegovom kontrolom.

Prošle sedmice je objavljen kompajler PureScript 0.13.2 i
novi održavaoci su pripremili odgovarajuće ažuriranje npm paketa sa instalaterom, u čijoj zavisnosti je identifikovan zlonamerni kod. Autor npm paketa sa instalaterom PureScript, koji je uklonjen sa svoje pozicije održavaoca, rekao je da su njegov nalog kompromitovali nepoznati napadači. Međutim, u svom sadašnjem obliku, radnje zlonamjernog koda bile su ograničene na sabotiranje instalacije paketa, što je bila prva verzija novih održavatelja. Zlonamjerne radnje su dovele do petlje s porukom o grešci kada se pokušava instalirati paket sa naredbom “npm i -g purescript” bez izvođenja bilo kakve očigledne zlonamjerne aktivnosti.

Otkrivena su dva napada. Nekoliko sati nakon službenog objavljivanja nove verzije purescript npm paketa, neko je kreirao novu verziju ovisnosti load-from-cwd-or-npm 3.0.2, čije promjene su dovele do poziva loadFromCwdOrNpm() umjesto toga sa liste potrebnih za instalaciju binarnih datoteka vratio stream Proći kroz, zrcaljenje ulaznih upita kao izlaznih vrijednosti.

4 dana kasnije, nakon što su programeri otkrili izvor grešaka i pripremali se za izdavanje ažuriranja kako bi isključili load-from-cwd-or-npm iz zavisnosti, napadači su objavili još jedno ažuriranje, load-from-cwd-or-npm 3.0.4, u kojoj je zlonamjerni kod uklonjen. Međutim, skoro odmah, objavljeno je ažuriranje za drugu zavisnost, mapu brzine 1.0.3, koja je dodala ispravku koja je blokirala učitavanje povratnog poziva. One. u oba slučaja, promjene u novim verzijama load-from-cwd-or-npm i rate-map bile su u prirodi očigledne sabotaže. Štaviše, zlonamjerni kod je imao provjeru koja je pokretala pogrešne radnje samo prilikom instaliranja izdanja od novih održavatelja i nije se pojavljivala ni na koji način prilikom instaliranja starijih verzija.

Programeri su riješili problem tako što su objavili ažuriranje u kojem su problematične ovisnosti uklonjene. Kako bi se spriječilo da se kompromitirani kod naslanja na korisničke sisteme nakon pokušaja instaliranja problematične verzije PureScript-a, preporučuje se da izbrišete sadržaj direktorija node_modules i datoteke package-lock.json, a zatim postavite purescript verziju 0.13.2 kao donja granica.

izvor: opennet.ru

Dodajte komentar