Mit dem PureScript-Installationsprogramm wurden schädliche Änderungen in Abhängigkeiten für das NPM-Paket erkannt

Abhängig vom npm-Paket mit dem PureScript-Installer identifiziert Schadcode, der angezeigt wird, wenn Sie versuchen, ein Paket zu installieren Reinschrift. Schadcode wird über Abhängigkeiten eingebettet Laden von CWD oder NPM и Tarifkarte. Bemerkenswert ist, dass die Wartung von Paketen mit diesen Abhängigkeiten vom ursprünglichen Autor des npm-Pakets mit dem PureScript-Installer durchgeführt wird, der dieses npm-Paket bis vor Kurzem pflegte, das Paket jedoch vor etwa einem Monat an andere Betreuer übertragen wurde.

Das Problem wurde von einem der neuen Betreuer des Pakets entdeckt, dem die Wartungsrechte nach vielen Meinungsverschiedenheiten und unangenehmen Diskussionen mit dem ursprünglichen Autor des Purescript-NPM-Pakets übertragen wurden. Die neuen Betreuer sind für den PureScript-Compiler verantwortlich und bestanden darauf, dass das NPM-Paket und sein Installationsprogramm von denselben Betreuern und nicht von einer externen Partei gepflegt werden sollten. Der Autor des npm-Pakets mit dem PureScript-Installer war lange nicht einverstanden, gab dann aber nach und vergab den Zugriff auf das Repository. Einige Abhängigkeiten blieben jedoch unter seiner Kontrolle.

Letzte Woche wurde der PureScript 0.13.2-Compiler veröffentlicht und
Die neuen Betreuer bereiteten mit einem Installer ein entsprechendes Update des NPM-Pakets vor, in dessen Abhängigkeiten Schadcode identifiziert wurde. Der Autor des npm-Pakets mit dem PureScript-Installationsprogramm, der von seinem Posten als Betreuer entfernt wurde, sagte, dass sein Konto von unbekannten Angreifern kompromittiert worden sei. In seiner aktuellen Form beschränkten sich die Aktionen des Schadcodes jedoch darauf, die Installation des Pakets zu sabotieren, bei dem es sich um die erste Version der neuen Betreuer handelte. Schädliche Aktionen stellten eine Schleife mit einer Fehlermeldung dar, wenn versucht wurde, ein Paket mit dem Befehl „npm i -g purescript“ zu installieren, ohne offensichtliche böswillige Aktivitäten auszuführen.

Es wurden zwei Angriffe festgestellt. Einige Stunden nach der offiziellen Veröffentlichung der neuen Version des purescript npm-Pakets erstellte jemand eine neue Version der Abhängigkeit „load-from-cwd-or-npm 3.0.2“, deren Änderungen stattdessen zum Aufruf von „loadFromCwdOrNpm()“ führten Der aus der Liste der für die Installation erforderlichen Binärdateien zurückgegebene Stream Durchgang, Eingabeabfragen als Ausgabewerte spiegeln.

Vier Tage später, nachdem die Entwickler die Ursache der Fehler herausgefunden hatten und die Veröffentlichung eines Updates vorbereiteten, um Load-from-cwd-or-npm von Abhängigkeiten auszuschließen, veröffentlichten die Angreifer ein weiteres Update, Load-from-cwd-or-npm 4, in dem der Schadcode entfernt wurde. Allerdings wurde fast sofort ein Update für eine andere Abhängigkeit, Rate-Map 3.0.4, veröffentlicht, das einen Fix zum Blockieren des Download-Rückrufs hinzufügte. Diese. In beiden Fällen waren die Änderungen in den neuen Versionen von Load-from-CWD-Or-NPM und Rate-Map offensichtliche Sabotage. Darüber hinaus verfügte der Schadcode über eine Prüfung, die nur bei der Installation eines Releases neuer Betreuer fehlerhafte Aktionen auslöste und bei der Installation älterer Versionen in keiner Weise auftrat.

Die Entwickler haben das Problem gelöst, indem sie ein Update veröffentlicht haben, in dem die problematischen Abhängigkeiten entfernt wurden. Um zu verhindern, dass sich kompromittierter Code auf Benutzersystemen festsetzt, nachdem versucht wurde, eine problematische Version von PureScript zu installieren, wird empfohlen, den Inhalt der Verzeichnisse „node_modules“ und der Dateien „package-lock.json“ zu löschen und dann die Purescript-Version 0.13.2 als festzulegen untere Grenze.

Source: opennet.ru

Kommentar hinzufügen