Abo
  • Services:

event-stream: Populäres NPM-Paket verteilt Schadsoftware

Ein Entwickler des Javascript-Pakets event-stream interessierte sich nicht mehr für das Projekt und übergab die Entwicklung an eine unbekannte andere Person. Daraufhin wurde über das Modul Schadsoftware verteilt, die offenbar auf Bitcoin-Wallets abzielt.

Artikel veröffentlicht am , Hanno Böck
So viele Abhängigkeiten, dass niemand mehr den Überblick haben kann: Das ist bei NPM leider üblich.
So viele Abhängigkeiten, dass niemand mehr den Überblick haben kann: Das ist bei NPM leider üblich. (Bild: Graphcommons/NPM Dependency Network)

Ein mit Schadsoftware versehenes Javascript-Paket zielt darauf ab, Nutzer der Bitcoin-Wallet-Software Copay zu bestehlen. Der Entwickler von event-stream hatte das Interesse an dem Paket verloren und die Kontrolle an eine unbekannte Person weitergegeben.

Stellenmarkt
  1. Bosch Gruppe, Reutlingen
  2. PSI Energie Gas & Öl, Essen

Die Javascript-Bibliothek event-stream kann über die Paketverwaltung NPM genutzt werden. Ein Nutzer der Bibliothek hatte festgestellt, dass das Paket an einen neuen Maintainer übergeben wurde und dieser eine verdächtige neue Abhängigkeit eingefügt hatte. Nachzuvollziehen ist das in einer Diskussion im Github-Bugtracker. Das Paket event-stream wird laut NPM knapp 2 Millionen Mal pro Woche heruntergeladen.

Demnach wurde das Paket von einem Entwickler mit dem Pseudonym Right9ctrl übernommen. Dieser fügte kurz darauf in einer neuen Version (3.3.6) von event-stream eine Abhängigkeit zu einem Paket namens flatmap-stream hinzu. Dieses Paket wiederum enthielt minimalisierten Javascript-Code, der nicht mit dem eigentlichen Code des Pakets übereinstimmte. In diesem minimalisierten Javascript fand sich der eigentliche Schadcode.

Entwickler hat Interesse am Paket verloren

Kurz darauf wurde eine neue Version 4.0.0 von event-stream veröffentlicht, die wiederum die Schadcode-Abhängigkeit nicht enthielt, offenbar um seine Spuren zu verwischen. Diese Situation führte dazu, dass alle Nutzer von event-stream, welche für ihre Pakete die Version 3 nutzten, die Schadsoftware einbanden.

Der ursprüngliche Entwickler von event-stream, Dominic Tarr, erklärte, dass er das Modul schon seit Jahren nicht mehr genutzt hatte. Der Nutzer Right9Ctrl habe ihm gemailt und angeboten, das Betreuen des Moduls zu übernehmen.

In der weiteren Diskussion analysierten einige Nutzer, was der Schadcode konkret tat. Aktiv wurde dieser nur, wenn er in einem Paket eingebunden war, das zur App Copay gehörte. Copay wiederum ist eine Software zur Verwaltung von Bitcoin-Wallets. Die Schadsoftware versuchte demnach, die privaten Schlüssel der Bitcoin-Nutzer zu klauen und schickte diese an den Server des Angreifers.

Der Hersteller der Copay-Software hat inzwischen eine Stellungnahme veröffentlicht. Demnach waren alle Versionen von 5.0.2 bis 5.1.0 von der Schadsoftware befallen. Nutzer, die diese installiert haben, sollten diese auf keinen Fall öffnen und auch davon ausgehen, dass ihre Keys bereits kompromittiert sind. Die Copay-Entwickler empfehlen, sofort ein Update auf die jüngste Version 5.2.0 durchzuführen und anschließend alle Bitcoins in ein neues Wallet zu transferieren.

Der ursprüngliche Autor von event-stream, Dominic Tarr, hat inzwischen eine Stellungnahme veröffentlicht. Er beschreibt darin die schwierige Situation, die Verantwortung für eine Software zu haben, für die er sich nicht mehr interessiert. Das Übergeben an andere Maintainer sei in der Community nicht unüblich. Für das konkrete Paket haben nun zwei andere, vertrauenswürdige Entwickler die Betreuung übernommen.

Probleme mit Abhängigkeiten in der NPM-Paketverwaltung gab es schon häufiger. Im Jahr 2016 entfernte ein Entwickler aus Verärgerung über einen Streit mit den NPM-Betreibern Hunderte seiner Pakete, darunter das besonders populäre left-pad, welches von Millionen anderer Pakete genutzt wurde. Im Juni dieses Jahres wurde Schadsoftware im Paket eslint-scope gefunden, der Account des Maintainers war gehackt worden.

Über tausend Abhängigkeiten keine Seltenheit in NPM

Im August 2017 wurden zahlreiche sogenannte Typosquatting-Pakete in NPM gefunden. Dabei versuchten Angreifer, Pakete mit Namen hochzuladen, die bestehenden, populären Paketen sehr ähnlich sind. Ähnliche Angriffe gab es auch mehrfach in der Python-Paketverwaltung PyPi.

Ein generelles Problem bei NPM ist, dass die Pakete oft extrem viele Abhängigkeiten haben. So weist auf Twitter ein Entwickler darauf hin, dass das von Facebook entwickelte Paket create-react-app insgesamt 1.770 indirekte Abhängigkeiten hat. Diese vielen Mikro-Abhängigkeiten sind natürlich ein enormes Sicherheitsrisiko.



Anzeige
Blu-ray-Angebote
  1. 5€ inkl. FSK-18-Versand
  2. (u. a. 3 Blu-rays für 15€, 2 Neuheiten für 15€)
  3. 5€ inkl. FSK-18-Versand

kaklaka 30. Nov 2018

Schießt das nicht am Thema vorbei? Als Entwickler werde ich auch mit Web Assembly...

Allandor 29. Nov 2018

Das trifft auch aif javascript zu. Warum aus der Vergangenheit lernen wenn man alle...

magnolia 28. Nov 2018

Uh, richtig! @Neuro-Chef: Danke! (-:

zZz 28. Nov 2018

Ob man jetzt danach googelt oder npm install ausführt dürfte, ist doch der gleiche...

basti1253 28. Nov 2018

Ahnungsloses Gebrabbel voller Polemik und Häme. Keinen Paketmanager zu verwenden ist dem...


Folgen Sie uns
       


Der Mars-Maulwurf des DLR erklärt

Ulrich Köhler vom DLR erläutert die Funktionsweise des Mars-Maulwurfes.

Der Mars-Maulwurf des DLR erklärt Video aufrufen
Alienware m15 vs Asus ROG Zephyrus M: Gut gekühlt ist halb gewonnen
Alienware m15 vs Asus ROG Zephyrus M
Gut gekühlt ist halb gewonnen

Wer auf LAN-Partys geht, möchte nicht immer einen Tower schleppen. Ein Gaming-Notebook wie das Alienware m15 und das Asus ROG Zephyrus M tut es auch, oder? Golem.de hat beide ähnlich ausgestatteten Notebooks gegeneinander antreten lassen und festgestellt: Die Kühlung macht den Unterschied.
Ein Test von Oliver Nickel

  1. Alienware m17 Dell packt RTX-Grafikeinheit in sein 17-Zoll-Gaming-Notebook
  2. Interview Alienware "Keiner baut dir einen besseren Gaming-PC als du selbst!"
  3. Dell Alienware M15 wird schlanker und läuft 17 Stunden

Chromebook Spin 13 im Alltagstest: Tolles Notebook mit Software-Bremse
Chromebook Spin 13 im Alltagstest
Tolles Notebook mit Software-Bremse

Bei Chromebooks denken viele an billige, knarzende Laptops - das Spin 13 von Acer ist anders. Wir haben es einen Monat lang verwendet - und uns am Ende gefragt, ob der veranschlagte Preis für ein Notebook mit Chrome OS wirklich gerechtfertigt ist.
Ein Test von Tobias Költzsch


    Ottobock: Wie ein Exoskelett die Arbeit erleichtert
    Ottobock
    Wie ein Exoskelett die Arbeit erleichtert

    Es verleiht zwar keine Superkräfte. Bei der Arbeit in unbequemer Haltung zum Beispiel mit dem Akkuschrauber unterstützt das Exoskelett Paexo von Ottobock aber gut, wie wir herausgefunden haben. Exoskelette mit aktiver Unterstützung sind in der Entwicklung.
    Ein Erfahrungsbericht von Werner Pluta


        •  /