1unitedpower: Soweit zu: „Erstellen und vergessen“ (Schadcode-in-weit-verbreiteter-JavaScript-Bibliothek-UAParser-js)

Beitrag lesen

da steht "NPM-Paket". Das alleine sollte schon die Alarmglocken schrillen lassen.

Auf NPM gibt es viele unbrauchbare, aber auch viele brauchbare Tools. Ich kann im Allgemeinen nichts alarminierendes am Gebrauch von NPM finden. Natürlich muss der verantwortungsbewusste Umgang damit erlernt werden.

Ironischerweise zeigt dieses aktuelle Beispiel doch auch, dass ein bestimmter Aspekt das NPM-Ökosystem im Ernstfall funktioniert: Die Bedrohung ist scheinbar einer US-Behörde aufgefallen, Medien haben die Meldung verbreitet, etwa 6 Stunden später hat NPM den Schadcode von seiner Plattform eliminiert. Bleibt zu hoffen, dass die bisherigen Opfer nun auch davon Wind bekommen und das technische Verständnis haben um ihre Rechner zu desinfizieren bevor der Schaden anwächst.

Wer externe Libraries (insbesondere NPM-Pakete!) in sein Projekt lutscht, muss meiner Meinung nach bereit sein dafür auch die Haftung zu tragen. Warum sonst sollte man sie sonst verwenden wollen? Es ist eben eine Abschätzungsfrage: Will ich das alles selbst programmieren, oder nehme ich gratis die Leistung anderer in Anspruch, eventuell gar ohne sie genauer zu prüfen?

"Wollen" spielt nur eine untergeordnete Rolle. Für Leute, die mit Webentwicklung Geld verdienen, geht ist in erster Linie oft um ökonomische Machbarkeit. Mit kompletten Eigenentwicklungen ist es schwierig bis unmöglich unter den vorherrschenden Marktbedingungen wettbewerbsfähig zu agieren. Eine Eigenentwicklung hat im Vergleich zu einer Lösung basierend auf etablierten Marktstandards höhere Kosten, längere Entwicklungsphasen und engere Kundenbindung. Hinzu kommt, dass ab einer gewissen Komplexität auch die Qualität notgedrungen leidet, weil ein einzelner Freelancer oder ein mittelständiges Unternehmen nicht genügend Kompetenz in allen relevanten technischen Bereichen aufbringen kann. Insbesondere beim Thema Sicherheit gibt es beängstigende Defizite. Das sind für Auftraggeber:innen erstmal alles negative Faktoren. Es gibt nicht viele Entwickler:innen, die unter diesen Umständen ihren Lebensunterhalt erfolgreich bestreiten können. Noch schwieriger wird es, wenn nicht nur der eigene wirtschaftliche Erfolg davon abhängt, sondern zusätzliche Verantwortung für Mitarbeiter:innen ins Spiel kommt.