Schadelijke wijzigingen gedetecteerd in afhankelijkheden voor npm-pakket met PureScript-installatieprogramma

Afhankelijk van het npm-pakket met het PureScript-installatieprogramma geïdentificeerd schadelijke code die verschijnt wanneer u een pakket probeert te installeren zuiverschrift. Schadelijke code is ingebed via afhankelijkheden laden-van-cwd-of-npm и tariefkaart. Het is opmerkelijk dat het onderhoud van pakketten met deze afhankelijkheden wordt uitgevoerd door de oorspronkelijke auteur van het npm-pakket met het PureScript-installatieprogramma, die tot voor kort dit npm-pakket onderhield, maar ongeveer een maand geleden werd het pakket overgedragen aan andere beheerders.

Het probleem werd ontdekt door een van de nieuwe beheerders van het pakket, aan wie de onderhoudsrechten werden overgedragen na veel meningsverschillen en onaangename discussies met de oorspronkelijke auteur van het purescript npm-pakket. De nieuwe beheerders zijn verantwoordelijk voor de PureScript-compiler en stonden erop dat het NPM-pakket en het installatieprogramma ervan door dezelfde beheerders zouden worden onderhouden en niet door een externe partij. De auteur van het npm-pakket met de PureScript-installer was het lange tijd niet eens, maar gaf toen toe en droeg de toegang tot de repository over. Sommige afhankelijkheden bleven echter onder zijn controle.

Vorige week werd de PureScript 0.13.2-compiler uitgebracht en
de nieuwe beheerders hebben een overeenkomstige update van het npm-pakket voorbereid met een installatieprogramma, in de afhankelijkheden waarvan kwaadaardige code werd geïdentificeerd. De auteur van het npm-pakket met het PureScript-installatieprogramma, die uit zijn functie als beheerder werd verwijderd, zei dat zijn account was gecompromitteerd door onbekende aanvallers. In zijn huidige vorm bleven de acties van de kwaadaardige code echter beperkt tot het saboteren van de installatie van het pakket, de eerste versie van de nieuwe beheerders. Schadelijke acties kwamen neer op een lus met een foutmelding bij het installeren van een pakket met de opdracht “npm i -g purescript” zonder enige duidelijke kwaadaardige activiteit uit te voeren.

Er werden twee aanvallen gedetecteerd. Een paar uur na de officiële release van de nieuwe versie van het purescript npm-pakket heeft iemand een nieuwe versie gemaakt van de load-from-cwd-or-npm 3.0.2-afhankelijkheid, veranderingen die leidden tot de aanroep van loadFromCwdOrNpm() in plaats daarvan van de lijst met binaire bestanden die vereist zijn voor de installatie, wordt gestreamd Pass Through, waarbij invoerquery's worden gespiegeld als uitvoerwaarden.

Vier dagen later, nadat de ontwikkelaars de oorzaak van de fouten hadden ontdekt en zich voorbereidden op het uitbrengen van een update om load-from-cwd-or-npm uit te sluiten van afhankelijkheden, brachten de aanvallers een nieuwe update uit, load-from-cwd-or-npm 4, waarin de kwaadaardige code werd verwijderd. Vrijwel onmiddellijk werd er echter een update uitgebracht naar een andere afhankelijkheid, rate-map 3.0.4, die een oplossing toevoegde die de callback-oproep voor het laden blokkeerde. Die. in beide gevallen hadden de veranderingen in de nieuwe versies van load-from-cwd-or-npm en rate-map het karakter van duidelijke sabotage. Bovendien had de kwaadaardige code een controle die alleen foutieve acties veroorzaakte bij het installeren van een release van nieuwe beheerders en op geen enkele manier verscheen bij het installeren van oudere versies.

De ontwikkelaars hebben het probleem opgelost door een update uit te brengen waarin de problematische afhankelijkheden werden verwijderd. Om te voorkomen dat gecompromitteerde code zich op gebruikerssystemen nestelt na een poging om een ​​problematische versie van PureScript te installeren, wordt aanbevolen om de inhoud van de mappen node_modules en package-lock.json-bestanden te verwijderen en vervolgens purescript versie 0.13.2 in te stellen als de ondergrens.

Bron: opennet.ru

Voeg een reactie