Zum Hauptinhalt Zur Navigation Zur Suche

Open Source: Entwickler sabotiert eigene vielfach genutzte NPM-Pakete

Millionenfach genutzte NPM-Pakete und darauf aufbauende Projekte sind nicht mehr nutzbar, weil deren Entwickler sie zerstört hat.
/ Sebastian Grüner
207 Kommentare undefined News folgen (öffnet im neuen Fenster)
Was sich in NPM-Paketen befindet, erfahren viel Projekte und Entwickler erst, wenn es schon zu spät ist. (Bild: USA TODAY NETWORK via Reuters Connect)
Was sich in NPM-Paketen befindet, erfahren viel Projekte und Entwickler erst, wenn es schon zu spät ist. Bild: USA TODAY NETWORK via Reuters Connect

Die Probleme des NPM-Ökosystems mit seinen zahlreichen Paketen und teils unübersichtlichen Abhängigkeiten von Projekten zeigen sich seit Jahren etwa bei Sicherheitsuntersuchungen oder auch durch das Löschen von Paketen . In diese Reihe von Problemen passt nun ein Vorgang, der offenbar gezielt als Sabotage-Akt umgesetzt worden ist: Der Entwickler der millionenfach genutzten NPM-Pakete Colors(öffnet im neuen Fenster) und Faker(öffnet im neuen Fenster) , hat diese unbrauchbar gemacht, wie Bleeping Computer zuerst berichtete(öffnet im neuen Fenster) .

Das Paket Faker wird im NPM-Registry mit fast 2,5 Millionen wöchentlichen Downloads gelistet und besteht in der aktuellen Version(öffnet im neuen Fenster) aus gar keinem sinnvoll nutzbaren Code mehr. Das Paket Colors(öffnet im neuen Fenster) mit mehr als 23 Millionen Downloads führt darüber hinaus in eine unendliche Schleife und gibt seltsame Symbole aus, die nicht Teil des ASCII-Zeichensatzes sind.

Das in seiner aktuellen Version nicht mehr nutzbare Colors-Paket wird darüber hinaus von rund 19.000 weiteren NPM-Projekten als direkte Abhängigkeit genutzt. Durch transitive Abhängigkeiten könnte diese auch noch deutlich weiter verbreitet sein. Wenig überraschend finden sich unter den Paketen, die nun von dem Sabotage-Akt betroffen sind, auch vielfach genutzte Anwendungen und Werkzeuge wie etwa AWS' Cloud Development Kit(öffnet im neuen Fenster) , das von Heroku gepflegte Open CLI Framework(öffnet im neuen Fenster) oder für Programmierkurse genutzte Bibliotheken(öffnet im neuen Fenster) .

Änderungen offenbar aus Frust

Die naheliegende Lösung für die von den Änderungen betroffenen Projekte ist, eine vorhergehende Version der NPM-Pakete zu verwenden. Dies wird auch in den entsprechenden Bug-Reports diskutiert und empfohlen. Der Entwickler der NPM-Pakete selbst, der unter dem Namen Marak auftritt, schreibt in den Github-Issues zu Color nur offenbar sarkastisch(öffnet im neuen Fenster) : "Bitte beachten Sie, dass wir derzeit daran arbeiten, die Situation zu beheben und in Kürze eine Lösung finden werden" . Der Github-Account von Marak ist zudem zwischenzeitlich von Github suspendiert worden ist, wie The Verge berichtet(öffnet im neuen Fenster) .

Bleeping Computer berichtet darüber hinaus, dass die Aktion von Marak im Zusammenhang damit zu stehen scheint, dass dessen Pakete zwar vielfach auch von großen Konzernen genutzt werden, dieser für seine Arbeiten aber nicht bezahlt wird. Bereits zuvor hatte Marak geschrieben(öffnet im neuen Fenster) , bei der Pflege seiner Pakete zu streiken: Dazu heißt es: "Nehmen Sie dies zum Anlass, mir einen sechsstelligen Jahresvertrag zu schicken oder das Projekt zu teilen und jemand anderen daran arbeiten zu lassen" . Auch in seinem inzwischen nicht mehr verfügbaren Blog hatte Marak über Finanzierungsmöglichkeiten seiner Open-Source-Arbeiten nachgedacht(öffnet im neuen Fenster) .

Der Autor meint dazu:

Der Vorgang verdeutlicht die offensichtlichen Probleme von Open-Source-Projekten. So zeigt dies erneut, dass die unübersichtlichen Abhängigkeiten des NPM-Ökosystems immer wieder zu gravierenden Schwierigkeiten und auch Sicherheitsprobleme führen können. Einen systematischen Lösungsansatz dafür scheint es aber weiterhin nicht zu geben, da ähnliche Probleme immer wieder auftreten.

Ebenso wirft der Sabotage-Akt erneut Fragen zur nachhaltigen Entwicklung von Open-Source-Software auf. Immerhin wird diese oft von Konzernen mit Milliarden US-Dollar Gewinnen genutzt, ohne sich an der Entwicklung zu beteiligen. Auch das hat Auswirkungen auf die Sicherheit, was etwa Heartbleed oder Log4shell gezeigt haben. Die Entwickler müssen sich aber bewusst sein, dass sie ihre Arbeit als Open-Source-Code prinzipbedingt verschenken und diese anders finanziert werden muss. Das gilt für einzelne Maintainer wie Marak ebenso wie für Unternehmen wie MongoDB, Elastic oder weitere. Sich später über ein fehlendes oder mangelhaftes Geschäftsmodell zu beschweren, ist nicht zielführend.


Relevante Themen