Cod rău intenționat găsit în programul de instalare purescript npm

nures purescript

Acum câteva zile codul rău intenționat a fost detectat în dependențele pachetului npm cu programul de instalare PureScript, care se manifestă atunci când se încearcă instalarea pachetului purescript.

Cod rău intenționat încorporat prin dependențe load-from-cwd-or-npm și dependențele hărții de viteză. Trebuie remarcat faptul că autorul original al pachetului npm cu programul de instalare PureScript, care până de curând se ocupa cu întreținerea acestui pachet npm, dar pachetul a fost trimis altor întreținători, este responsabil pentru însoțirea pachetelor cu aceste dependențe.

Despre problemă

Problema a fost descoperită de unul dintre noii analiști ai pachetului, căruia i s-au transferat drepturile de întreținere după multe neînțelegeri și discuții urâte cu autorul original al pachetului purescript npm.

Noii întreținători sunt responsabili pentru compilatorul PureScript și au insistat ca pachetul NPM cu instalatorul său să fie reparat de către întreținători înșiși, nu de către un dezvoltator din afara proiectului.

Autorul pachetului npm cu programul de instalare PureScript nu a fost de acord mult timp, dar apoi a renunțat și a dat acces la depozit. Cu toate acestea, unele dependențe au fost lăsate sub controlul său.

Săptămâna trecută a fost anunțată lansarea compilatorului PureScript 0.13.2 iar noii mentenanți au pregătit actualizarea corespunzătoare a pachetului npm cu programul de instalare, pentru care a fost detectat codul rău intenționat.

Codul rău intenționat a fost introdus mai întâi în pachetul npm „load-from-cwd-or-npm” în versiunea 3.0.2 și apoi în pachetul rate-map de la versiunea 1.0.3. În ultimele zile au fost publicate mai multe versiuni ale ambelor pachete.

Înlăturat din postarea care însoțea autorul pachetului npm cu programul de instalare PureScript, el a spus că contul său a fost compromis de atacatori necunoscuți.

Sin embargo, în forma actuală, acțiunile codului rău intenționat au fost limitate doar prin sabotarea instalării pachetului, care a fost prima versiune a noilor mentenanți. Acțiunile rău intenționate au fost blocate când s-a încercat instalarea unui pachet cu comanda „npm i -g purescript” fără a efectua nicio activitate rău intenționată.

Au fost identificate două atacuri

Pe scurt, codul sabotează programul de instalare purescript npm pentru a împiedica finalizarea descărcării, determinând programul de instalare să se blocheze în timpul pasului „Verificați dacă este furnizat un binar precompilat pentru platforma dvs.”.

Primul exploat a făcut acest lucru rupând pachetul load-from-cwd-or-npm astfel încât orice apel la loadFromCwdOrNpm () ar returna o secvență de trecere în loc de pachetul așteptat (în acest caz, pachetul de solicitare, pe care îl foloseam pentru a descărca binele compilatorului). A doua iterație a exploatării a făcut acest lucru modificând un fișier sursă pentru a preveni declanșarea unui apel de apel descărcat.

4 de zile mai târziu dezvoltatorii au înțeles sursa defectelor și se pregăteau să lanseze o actualizare pentru a exclude încărcarea din cwd-o-npm din dependențe, atacatorii au lansat o altă actualizare load-from-cwd-or-npm 3.0.4, unde codul rău intenționat a fost eliminat.

Cu toate acestea, o actualizare la o altă dependență Rate-Map 1.0.3 a fost lansată aproape imediat, în care a fost adăugată o corecție care blochează apelul de apel invers pentru descărcare.

Adică, în ambele cazuri, modificările în noile versiuni de încărcare-de-cwd-sau-npm și rata de hartă au avut natura unei deviații aparente.

De asemenea, în codul rău intenționat a existat o verificare care a declanșat acțiunile eșuate numai la instalarea versiunii noilor mentenanți și nu a apărut deloc la instalarea versiunilor anterioare.

Dezvoltatorii au rezolvat problema lansând o actualizare în care dependențele problematice au fost eliminate.

Pentru a preveni instalarea codului compromis pe sistemele utilizatorilor după ce ați încercat să instalați versiunea problematică a PureScript.

În cele din urmă recomandă dezvoltatorul tuturor celor care au versiunile menționate ale pachetului pe sistemul lor eliminați conținutul directoarelor node_modules și al fișierelor package-lock.json și apoi setați versiunea purescript 0.13.2.


Conținutul articolului respectă principiile noastre de etică editorială. Pentru a raporta o eroare, faceți clic pe aici.

Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.