Abo
  • IT-Karriere:

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. Dataport, Hamburg
  2. EnBW Energie Baden-Württemberg AG, Karlsruhe

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
Hardware-Angebote
  1. 204,90€
  2. täglich neue Deals bei Alternate.de
  3. mit Gutschein: NBBGRATISH10

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
       


Motorola One Action im Hands On

Motorola hat das One Action vorgestellt. Das Mittelklasse-Smartphone hat eine Actionkamera eingebaut, die mit einem 117 Grad großen Weitwinkel und einer digitalen Bildstabilisierung versehen ist. Das One Action hat eine gute Mitteklasseausstattung und kostet 260 Euro.

Motorola One Action im Hands On Video aufrufen
Elektromobilität: Die Rohstoffe reichen, aber ...
Elektromobilität
Die Rohstoffe reichen, aber ...

Brennstoffzellenautos und Elektroautos sollen künftig die Autos mit Verbrennungsantrieb ersetzen und so den Straßenverkehr umweltfreundlicher machen. Dafür sind andere Rohstoffe nötig. Kritiker mahnen, dass es nicht genug davon gebe. Die Verfügbarkeit ist aber nur ein Aspekt.
Eine Analyse von Werner Pluta

  1. Himo C16 Xiaomi bringt E-Mofa mit zwei Sitzplätzen für rund 330 Euro
  2. ADAC-Test Hohe Zusatzkosten bei teuren Wallboxen möglich
  3. Elektroroller E-Scooter sollen in Berlin nicht mehr auf Gehwegen parken

Zephyrus G GA502 im Test: Das Gaming-Notebook, das auch zum Arbeiten taugt
Zephyrus G GA502 im Test
Das Gaming-Notebook, das auch zum Arbeiten taugt

Mit AMDs Ryzen 7 und Nvidia-GPU ist das Zephyrus G GA502 ein klares Gaming-Gerät. Überraschenderweise eignet es sich aber auch als mobiles Office-Notebook. Das liegt an der beeindruckenden Akkulaufzeit.
Ein Test von Oliver Nickel

  1. Vivobook (X403) Asus packt 72-Wh-Akku in günstigen 14-Zöller
  2. ROG Swift PG35VQ Asus' 35-Zoll-Display nutzt 200 Hz, HDR und G-Sync
  3. ROG Gaming Phone II Asus plant neue Version seines Gaming-Smartphones

10th Gen Core: Intel verwirrt mit 1000er- und 10000er-Prozessoren
10th Gen Core
Intel verwirrt mit 1000er- und 10000er-Prozessoren

Ifa 2019 Wer nicht genau hinschaut, erhält statt eines vierkernigen 10-nm-Chips mit schneller Grafikeinheit einen Dualcore mit 14++-Technik und lahmer iGPU: Intels Namensschema für Ice Lake und Comet Lake alias der 10th Gen macht das CPU-Portfolio wenig transparent.
Von Marc Sauter

  1. Neuromorphic Computing Intel simuliert 8 Millionen Neuronen mit 64 Loihi-Chips
  2. EMIB trifft Foveros Intel kombiniert 3D- mit 2.5D-Stacking
  3. Nervana NNP-I Intels 10-nm-Inferencing-Chip nutzt Ice-Lake-Kerne

    •  /