Haitallisia muutoksia havaittu PureScript-asennusohjelman npm-paketin riippuvuuksissa

Riippuen npm-paketista, jossa on PureScript-asennusohjelma tunnistettu haittakoodi, joka tulee näkyviin, kun yrität asentaa paketin puhdas kirjoitus. Haitallinen koodi on upotettu riippuvuuksien kautta load-from-cwd-or-npm и hinta-kartta. On huomionarvoista, että näitä riippuvuuksia sisältävien pakettien ylläpidosta vastaa npm-paketin alkuperäinen kirjoittaja PureScript-asennusohjelmalla, joka viime aikoihin asti ylläpiti tätä npm-pakettia, mutta noin kuukausi sitten paketti siirrettiin muille ylläpitäjille.

Ongelman havaitsi yksi paketin uusista ylläpitäjistä, jolle ylläpitooikeudet siirtyivät monien erimielisyyksien ja epämiellyttävien keskustelujen jälkeen purescript npm -paketin alkuperäisen kirjoittajan kanssa. Uudet ylläpitäjät ovat vastuussa PureScript-kääntäjästä ja vaativat, että NPM-pakettia ja sen asennusohjelmaa ylläpitävät samat ylläpitäjät, eivät ulkopuolinen osapuoli. PureScript-asennusohjelman npm-paketin kirjoittaja ei sopinut pitkään aikaan, mutta antoi sitten periksi ja siirsi pääsyn arkistoon. Jotkut riippuvuudet pysyivät kuitenkin hänen hallinnassaan.

Viime viikolla PureScript 0.13.2 -kääntäjä julkaistiin ja
uudet ylläpitäjät valmistivat vastaavan päivityksen npm-paketille asentimella, jonka riippuvuuksista havaittiin haitallista koodia. PureScript-asennusohjelmalla varustetun npm-paketin kirjoittaja, joka poistettiin hänen tehtävistään ylläpitäjänä, sanoi, että tuntemattomat hyökkääjät ovat vaarantuneet hänen tilinsä. Haitallisen koodin toimet rajoittuivat kuitenkin nykyisessä muodossaan paketin asennuksen sabotointiin, joka oli uusien ylläpitäjien ensimmäinen versio. Haitalliset toiminnot muodostuivat silmukaksi, jossa oli virheilmoitus, kun yritettiin asentaa paketti komennolla "npm i -g purescript" suorittamatta mitään ilmeistä haitallista toimintaa.

Hyökkäyksiä havaittiin kaksi. Muutama tunti purescript npm -paketin uuden version virallisen julkaisun jälkeen joku loi uuden version load-from-cwd-or-npm 3.0.2 -riippuvuudesta, jonka muutokset johtivat sen sijaan kutsuun loadFromCwdOrNpm(). asennukseen vaadittavien binaaritiedostojen luettelosta palautti virran Kulkea läpi, peilaa sisääntulokyselyt lähtöarvoina.

4 päivää myöhemmin, kun kehittäjät selvittivät vikojen syyn ja olivat valmistautumassa julkaisemaan päivityksen sulkeakseen kuorman-from-cwd-or-npm riippuvuuksista, hyökkääjät julkaisivat uuden päivityksen, load-from-cwd-or-npm. 3.0.4, jossa haitallinen koodi poistettiin. Kuitenkin melkein välittömästi julkaistiin päivitys toiseen riippuvuuteen, rate-map 1.0.3, joka lisäsi korjauksen estämään latauksen takaisinkutsun. Nuo. Molemmissa tapauksissa muutokset load-from-cwd-or-npm ja rate-map uusissa versioissa olivat ilmeistä sabotaasi. Lisäksi haitallisessa koodissa oli tarkistus, joka laukaisi virhetoimintoja vain uusien ylläpitäjien julkaisua asennettaessa, eikä se näkynyt millään tavalla vanhempia versioita asennettaessa.

Kehittäjät ratkaisivat ongelman julkaisemalla päivityksen, jossa ongelmalliset riippuvuudet poistettiin. Jotta estetään vaarantunut koodi asettumasta käyttäjäjärjestelmiin ongelmallisen PureScript-version asentamisen jälkeen, on suositeltavaa poistaa node_modules-hakemistojen ja package-lock.json-tiedostojen sisältö ja asettaa sitten purescript-versio 0.13.2 alaraja.

Lähde: opennet.ru

Lisää kommentti