Purescript npm instalētājā atrasts ļaunprātīgs kods

npm purescript

Pirms dažām dienām ar PureScript instalēšanas programmu paketes npm atkarībās tika atklāts ļaunprātīgs kods, kas izpaužas, mēģinot instalēt purescript pakotni.

Ļaunprātīgs kods iegulti, izmantojot atkarības no slodzes no-cwd-vai-npm un ātruma kartes atkarības. Jāatzīmē, ka sākotnējais paketes npm autors ar PureScript instalētāju, kurš vēl nesen bija iesaistīts šīs npm pakotnes uzturēšanā, bet pakete tika nosūtīta citiem uzturētājiem, ir atbildīgs par pakotņu pievienošanu šīm atkarībām.

Par problēmu

Problēmu atklāja viens no jaunajiem paketes analītiķiem, kam uzturēšanas tiesības tika nodotas pēc daudzām nesaskaņām un neglītām diskusijām ar npm purescript paketes sākotnējo autoru.

Jaunie uzturētāji ir atbildīgi par PureScript kompilatoru un viņi uzstāja, ka NPM pakotne ar tās instalētāju jālabo pašiem uzturētājiem, nevis izstrādātājam ārpus projekta.

Paketes npm autors ar PureScript instalētāju ilgu laiku nepiekrita, bet pēc tam atteicās un deva piekļuvi krātuvei. Tomēr dažas atkarības tika atstātas viņa kontrolē.

Pagājušajā nedēļā tika paziņots par kompilatora PureScript 0.13.2 izlaišanu un jaunie uzturētāji kopā ar instalētāju sagatavoja atbilstošo paketes npm atjauninājumu, par kuru tika atklāts ļaunprātīgais kods.

Ļaunprātīgais kods vispirms tika ievietots npm paketē "load-from-cwd-or-npm" versijā 3.0.2 un pēc tam likmju kartes paketē no versijas 1.0.3. Pēdējās dienās ir publicētas vairākas abu paku versijas.

Pārvietojies no ziņas, kas pavadīja paketes npm autoru kopā ar PureScript instalētāju, viņš teica, ka nezināmi uzbrucēji ir apdraudējuši viņa kontu.

Tomēr, pašreizējā formā ļaunprātīgā koda darbības tika ierobežotas, tikai sabotējot pakotnes instalāciju, kas bija pirmā jauno uzturētāju versija. Mēģinot instalēt pakotni ar komandu "npm i -g purescript", neveicot skaidru ļaunprātīgu darbību, tika novērstas ļaunprātīgas darbības.

Tika identificēti divi uzbrukumi

Kopumā, Kods sabotē purescript npm instalētāju, lai lejupielāde netiktu pabeigta, liekot instalētājam pakārt, veicot darbību "Pārbaudiet, vai jūsu platformai ir paredzēts iepriekš sastādīts binārs fails".

Pirmais izmantojums to izdarīja, izjaucot paketi load-from-cwd-or-npm lai jebkurš izsaukums uz loadFromCwdOrNpm () atgrieztu caurlaides secību gaidītās pakotnes vietā (šajā gadījumā pieprasījuma pakotne, kuru mēs izmantojām kompilatora bināro failu lejupielādei). Otrā izmantošanas atkārtojums to izdarīja, modificējot avota failu, lai novērstu lejupielādes atzvanīšanas aktivizēšanu.

4 dienas vēlāk izstrādātāji saprata trūkumu avotu un gatavojās izlaist atjauninājumu, lai izslēgtu no atkarībām slodzi no-cwd-o-npm, uzbrucēji izlaida vēl vienu atjauninājumu load-from-cwd-or-npm 3.0.4, kur ļaunprātīgais kods tika noņemts.

Tomēr gandrīz nekavējoties tika izlaists citas atkarības no Rate-Map 1.0.3 atjauninājums, kurā tika pievienots labojums, kas bloķē atzvanīšanas zvanu lejupielādei.

Tas ir, abos gadījumos izmaiņas jaunajās slodzes no-cwd-vai-npm versijās un kartes ātrumā bija acīmredzamas novirzes raksturs.

Tāpat ļaunprātīgajā kodā bija pārbaude, kas izraisīja neveiksmīgās darbības tikai instalējot jauno uzturētāju versiju, un tā vispār netika parādīta, instalējot iepriekšējās versijas.

Izstrādātāji problēmu atrisināja, izlaižot atjauninājumu, kurā tika noņemtas problemātiskās atkarības.

Lai novērstu apdraudēta koda instalēšanu lietotāju sistēmās pēc mēģinājuma instalēt problemātisko PureScript versiju.

Beidzot iesaka izstrādātājs visiem, kuru sistēmā ir minētās paketes versijas noņemiet direktoriju node_modules un failu package-lock.json saturu un pēc tam iestatiet purescript versiju 0.13.2.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.