Protestware in NPM-Paket: Antikriegsbotschaft auf Webseiten geschmuggelt
Ein russischer Entwickler hat seinem NPM-Paket eine Protestfunktion gegen den Ukrainekrieg hinzugefügt. In der Open-Source-Community ist die Änderung umstritten.

Etwa 15 Sekunden nach dem Öffnen der Webseite erscheint eine Nachricht. Sie prangert die "sinnlose Invasion" der Ukraine an und stammt aus einem Update des NPM-Pakets event-source-polyfill, das von etlichen Projekten eingebettet wird. Dies ist damit bereits um die dritte Protestware, die über NPM verteilt wird, und führt zu Diskussionen in der Open-Source-Szene.
Den entsprechenden Code hat der russische Entwickler mit dem Alias Yaffle laut dem Onlinemagazin Bleepingcomputer bereits am 17. März hinzugefügt. Polyfill-Bibliotheken erweitern insbesondere ältere Browser per Javascript um Funktionen, die sie eigentlich nicht unterstützen. Das nun modifizierte event-source-polyfill erweitert Browser um Mozillas Eventsource-API. Das Paket wird von über 135.000 Projekten auf Github verwendet und wöchentlich 600.000-mal von NPM heruntergeladen.
Im Unterschied zu anderer Protestware, die bereits als NPM-Paket verteilt wurde, löscht die Polyfill-Bibliothek keine Daten, sondern zeigt russischen Internetnutzern ein Pop-up an, das gegen den Krieg protestiert und auf den Tor-Browser hinweist, um die Zensur im russischen Internet zu umgehen. Anschließend werden die Nutzer auf eine Petition bei Change.org weitergeleitet, die bereits über eine Million Menschen unterzeichnet haben.
Protestware ist umstritten
Bereits die Protestware im NPM-Paket Node-IPC sorgte für hitzige Diskussionen in der Open-Source-Community. Das Paket löschte allerdings Dateien auf Rechnern oder Servern mit einer externen russischen oder belarussischen IP-Adresse. Entwickler kritisierten die Schadfunktion (CVE-2022-23812) als "großen Schaden" für die Glaubwürdigkeit der gesamten Open-Source-Gemeinschaft.
Zwar belässt es die Polyfill-Bibliothek bei einer Protestnote und löscht keine Dateien, für Streit sorgte die Funktion dennoch. "Für einige ist das Malware, während es für etliche Menschen in Russland wertvolle Informationen sein könnten, etwas Hilfreiches", schreibt eine Person auf Hackernews. Manche sprechen von Sabotage des Projektes.
"Sabotage bedeutet für mich ausdrücklich, dass die Handlung in der Absicht begangen wurde, den ursprünglichen Zweck des Projekts zu vereiteln. Diese Handlung scheint im Widerspruch zur ursprünglichen Absicht des Projekts zu stehen, also ist sie hinterhältig, aber nicht wirklich Sabotage", schreibt eine Person im gleichen Thread. Auch auf Github werden entsprechende Diskussionen geführt.
Hinzugefügt wurde die Änderung der Version 1.0.26, die weiterhin auf NPM und Github herunterzuladen ist. Ob russische Nutzer die Botschaft tatsächlich zu sehen bekamen, ist nicht bekannt. Als Vorsichtsmaßnahme haben manche Projekte die event-source-polyfill-Version auf 1.0.25 gepinnt, welche die Protestware nicht enthält.
Alle aktuellen Golem.de-Artikel und weitere News zum Ukraine-Krieg finden sich in unserem Liveblog.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Zumal npm schon seit Jahren per default eine package-lock.json anlegt. Man muss die schon...
Würde auch mit Maven funktionieren.... Aber JavaScript Zeug bietet sich durch Nähe zum...