Ein Entwickler scheint absichtlich zwei Open-Source-Bibliotheken auf GitHub und die Software-Registry npm – „faker.js“ und „colors.js“ – beschädigt zu haben, auf die Tausende von Benutzern angewiesen sind, und alle rendern Projekt, das diese Bibliotheken nutzlos enthält, wie von Bleeping Computer berichtet. Obwohl color.js anscheinend auf eine funktionierende Version aktualisiert wurde, scheint faker.js immer noch betroffen zu sein, aber das Problem kann durch ein Downgrade auf eine frühere Version (5.5.3) umgangen werden.
Die sabotierten Versionen bewirken, dass Anwendungen unendlich viele seltsame Buchstaben und Symbole ausgeben
Bleeping Computer hat herausgefunden, dass der Entwickler dieser beiden Bibliotheken, Marak Squires, einen bösartigen Commit (eine Dateirevision auf GitHub) in colors.js eingeführt hat, der „ein neues Modul für die amerikanische Flagge“ hinzufügt, sowie die Version 6.6.6 von faker . ausgerollt hat .js, was die gleiche destruktive Wendung von Ereignissen auslöst. Die sabotierten Versionen führen dazu, dass Anwendungen unendlich viele seltsame Buchstaben und Symbole ausgeben, beginnend mit drei Textzeilen mit der Aufschrift „LIBERTY LIBERTY LIBERTY“.
Noch merkwürdiger ist, dass die Readme-Datei faker.js auch in „Was ist wirklich mit Aaron Swartz passiert?“ geändert wurde. Swartz war ein prominenter Entwickler, der beim Aufbau von Creative Commons, RSS und Reddit mitgewirkt hat. Im Jahr 2011 wurde Swartz angeklagt, Dokumente aus der akademischen Datenbank JSTOR gestohlen zu haben, um sie frei zugänglich zu machen, und beging 2013 später Selbstmord. Die Erwähnung von Swartz könnte sich möglicherweise auf Verschwörungstheorien um seinen Tod beziehen.
Wie von Bleeping Computer betont, wandten sich eine Reihe von Benutzern – darunter einige, die mit dem Cloud Development Kit von Amazon arbeiten – an das Bug-Tracking-System von GitHub, um ihre Bedenken zu dem Problem zu äußern. Und da faker.js fast 2,5 Millionen wöchentliche Downloads auf npm verzeichnet und color.js etwa 22,4 Millionen Downloads pro Woche, sind die Auswirkungen der Korruption wahrscheinlich weitreichend. Für den Kontext generiert faker.js gefälschte Daten für Demos, color.js fügt Farben zu Javascript-Konsolen hinzu.
Als Reaktion auf das Problem hat Squires ein Update auf GitHub veröffentlicht, um das „Zalgo-Problem“ zu beheben, das sich auf den fehlerhaften Text bezieht, den die beschädigten Dateien erzeugen. „Uns ist aufgefallen, dass es in der Version 1.4.44-liberty-2 von Colors einen Zalgo-Bug gibt“, schreibt Squires vermutlich sarkastisch. “Bitte wissen Sie, dass wir gerade daran arbeiten, die Situation zu beheben und in Kürze eine Lösung finden werden.”
NPM wurde zurückgesetzt auf eine frühere Version des Pakets faker.js und Github hat meinen Zugriff auf alle öffentlichen und privaten Projekte gesperrt. Ich habe Hunderte von Projekten. #AaronSwartz pic.twitter.com/zFddwn631S
— marak (@marak) 6. Januar 2022
Zwei Tage nachdem er das korrupte Update auf faker.js gepusht hatte, verschickte Squires später einen Tweet, in dem er feststellte, dass er von GitHub gesperrt wurde, obwohl er Hunderte von Projekten auf der Website gespeichert hat. Nach dem Changelog sowohl für faker.js als auch für colors.js zu urteilen, sieht es jedoch so aus, als ob seine Sperre bereits aufgehoben wurde. Squires führte den faker.js-Commit am 4. Januar ein, wurde am 6. Januar gesperrt und führte die “Liberty” -Version von colors.js erst am 7. Januar ein. Es ist unklar, ob das Konto von Squires erneut gesperrt wurde. The Verge hat sich mit der Bitte um einen Kommentar an GitHub gewandt, aber nicht sofort eine Antwort erhalten.
Die Geschichte endet damit jedoch nicht. Bleeping Computer hat auf GitHub vom November 2020 einen Post von Squires ausgegraben, in dem er erklärt, keine freie Arbeit mehr verrichten zu wollen. „Mit Respekt, ich werde Fortune 500s (und andere kleinere Unternehmen) nicht mehr mit meiner freien Arbeit unterstützen“, sagt er. „Nehmen Sie die Gelegenheit, mir einen sechsstelligen Jahresvertrag zu schicken oder das Projekt zu teilen und jemand anderen daran arbeiten zu lassen.“
Der mutige Schritt von Squires lenkt die Aufmerksamkeit auf die Moral – und Finanziell – Dilemma der Open-Source-Entwicklung, das wahrscheinlich das Ziel seines Handelns war. Eine riesige Anzahl von Websites, Software und Apps verlassen sich auf Open-Source-Entwickler, um wichtige Tools und Komponenten zu erstellen – alles kostenlos. Es ist das gleiche Problem, das dazu führt, dass unbezahlte Entwickler unermüdlich daran arbeiten, die Sicherheitsprobleme in ihrer Open-Source-Software zu beheben, wie der Heartbleed-Schrecken im Jahr 2014, der OpenSSL betraf, und die neuere Log4Shell-Schwachstelle, die in log4j gefunden wurde und die Freiwillige dazu veranlasste, sie zu beheben.