Material Theme aus dem VS-Code-Marketplace entfernt
(web.archive.org)- VS-Code-Nutzer berichten, dass
equinusocio.vsc-material-thememit der Meldung als problematisch gemeldet entfernt wurde und dass Neuinstallationen blockiert wurden oder wiederholte Pop-ups erschienen - Die Frage in GitHub Q&A begann mit der Zuverlässigkeit von Marketplace-Kommentaren; die ausgewählte Antwort verweist auf eine alternative Erweiterung von t3dotgg
- Kern der Kontroverse ist, dass das Vertrauen durch die Kombination aus Umstellung der Erweiterung auf Closed Source, Vorwürfen zu Code-Obfuskation und dem Umgang des Autors mit Reviews erschüttert wurde
- Einige Nutzer verweisen auf gelöschte Commits und Diskussionsverläufe sowie auf einen Reddit-Beitrag von vor sechs Monaten und berichten, dass schon früher diskutiert wurde, ob die Erweiterung kompromittiert sei
- Um die wiederholten Pop-ups loszuwerden, mussten manche Nutzer den Erweiterungsordner und den Eintrag in
extensions.jsonunter.vscodeoder.vscode-insiders/extensionsmanuell löschen; in einigen Fällen war sogar eine Neuinstallation von VS Code nötig
Von VS Code angezeigte Problemmeldung
- Ein Nutzer teilte mit, VS Code habe die Meldung
We have uninstalled 'equinusocio.vsc-material-theme' which was reported to be problematic.angezeigt - Jedes Mal, wenn VS Code geschlossen und erneut geöffnet wurde, wirkte es so, als würde die Erweiterung wieder installiert; selbst nach manueller Entfernung erschien dieselbe Meldung weiter
- Ein anderer Nutzer sagte, VS Code habe auch die Neuinstallation der Erweiterung blockiert
- Es gab die Vermutung, Settings Sync könne die Ursache sein; der betroffene Nutzer war sich aber nicht sicher, da er Code erst kürzlich neu installiert und nur minimale Erweiterungen eingerichtet hatte
Ausgewählte Antwort und alternative Erweiterung
- Die ausgewählte Antwort nennt
t3dotgg.vsc-material-theme-but-i-wont-sue-youim Visual Studio Marketplace - Der Fragesteller ergänzte im Text, dass dieser Antwort-Link durch das Repository von t3dotgg gestützt werde
- Ein Nutzer reagierte mit dem Kommentar, dass es „jetzt ein echtes Ergebnis gibt und heute ein Tag war, an dem ich arbeiten musste“
Code- und Lizenzkontroverse erschüttert Vertrauen
- Ein Nutzer nannte die jüngste Umstellung auf Closed Source und fehlende Vorwarnung als Problem und erklärte, er vertraue der Erweiterung nicht mehr, nachdem er gesehen habe, wie der Autor in Review-Antworten unhöflich auf besorgte Nutzer reagierte
- Derselbe Nutzer ergänzte, der obfuskierte Code sehe aus wie eine Ausgabe von
obfuscator.io - Ein anderer Nutzer behauptete, der Autor der Erweiterung bedrohe Personen, die Material Theme in ihren Produkten nutzen, und scheine vergessen zu haben, dass die Erweiterung ursprünglich unter Apache License 2.0 stand
- Dieser Nutzer fügte einen Link an, der wie eine frühere Lizenzdatei aussieht
- Derselbe Kommentar behauptet, die Commit-Historie sei gelöscht worden, damit es so aussehe, als habe von Anfang an eine andere Lizenz gegolten
Gelöschte Historie und frühere Verdachtsmomente
- Ein Nutzer sagte, im Git-Repository seien offenbar viele Commits und Diskussionsverläufe gelöscht worden
- Derselbe Nutzer fand einen Reddit-Beitrag von vor sechs Monaten mit dem Titel
has_the_material_theme_extension_been_compromisedund teilte mit, dass dieser Beitrag auf einen defekten Discussion-Link dieses Repositorys verweise - Ein anderer Nutzer reagierte, es sei das „einzige Theme gewesen, das ich in VSCode mochte“, während ein weiterer sagte, es gebe bereits viele Forks
Versuchte Methoden gegen die wiederholten Pop-ups
- Ein Linux-Nutzer löschte den Erweiterungsordner im Verzeichnis
.vscodemanuell, was das Problem jedoch nicht löste; erst nach einer Neuinstallation von VS Code verschwand das Pop-up - Ein Windows-Nutzer berichtete, er habe den Erweiterungsordner unter
%USERPROFILE%/.vscode/gelöscht und die Definition der betreffenden Erweiterung manuell ausextensions.jsonentfernt, wodurch das Pop-up verschwand - Ein Nutzer von Visual Code Insiders sagte, es habe wieder funktioniert, nachdem er den Ordner
equinusocio.vsc-material-theme-34.7.9unter.vscode-insiders/extensionsgelöscht und das entsprechende Objekt ausextensions.jsonentfernt hatte - Die Beispielbefehle umfassen den Ablauf, mit
cat extensions.json | jq | grep eqden Eintragequinusocio.vsc-material-themezu finden und mitrm -rf equinusocio.vsc-material-theme-34.7.9den Erweiterungsordner zu löschen
1 Kommentare
Meinungen auf Hacker News
Der gelöschte Beitrag ist hier einsehbar: https://web.archive.org/web/20250226020241/https://github.co...
Ich bin Isidor aus dem VS-Code-Team. Ein Community-Mitglied hat eine gründliche Sicherheitsanalyse dieser Erweiterung durchgeführt und dabei mehrere Warnsignale gefunden und gemeldet, die auf böswillige Absichten hindeuteten.
Microsoft-Sicherheitsforscher haben diese Behauptungen überprüft und zusätzlich weiteren verdächtigen Code gefunden.
Wir haben diesen Publisher im VS Marketplace gesperrt, alle betreffenden Erweiterungen entfernt und diese Erweiterung von allen VS-Code-Instanzen entfernt, auf denen sie ausgeführt wurde.
Um es klarzustellen: Diese Maßnahme hat nichts mit Urheberrecht oder Lizenzen zu tun, sondern ausschließlich mit potenzieller Bösartigkeit.
In Kürze werden wir unter https://github.com/microsoft/vsmarketplace/ eine ausführlichere Mitteilung veröffentlichen.
Zur Einordnung: Der VS Marketplace investiert weiterhin in Sicherheit; Informationen zum Vertrauen in die Extension Runtime gibt es unter https://code.visualstudio.com/docs/editor/extension-runtime-....
Beim Entfernen über das Extension-Panel auf normalem Weg passiert dasselbe.
Am Ende musste ich den Erweiterungsordner unter
%USERPROFILE%\.vscode\extensionsmanuell löschen und den Eintrag auch aus%USERPROFILE%\.vscode\extensions\extensions.jsonentfernen.VSCode 1.97.2, Commit
e54c774e0add60467559eb0d1e229c6452cf8447Auch das Vertrauensmodell von VSCode halte ich für grundlegend kaputt. Auf Client-Rechnern wird beliebiger Drittanbieter-Code ohne jede Sandbox ausgeführt.
Ein solches Sicherheitsniveau würde man in Azure wohl kaum ausrollen; warum ist es dann bei VSCode angemessen, „beliebigen Drittanbieter-Code auf den Rechnern anderer Leute auszuführen“?
Ich schätze die Arbeit des VS-Code-Teams und nutze es tatsächlich, aber das Fehlen einer Sandbox hat sich für mich immer unangenehm angefühlt.
https://marketplace.visualstudio.com/items?itemName=t3dotgg....
Ich frage, weil auf https://open-vsx.org keine Versionen dieser Erweiterung verfügbar sind, nachdem sie auf Closed Source umgestellt wurde.
Das Publisher-Konto Equinusocio von Material Theme und Material Theme Icons wurde versehentlich geflaggt und ist nun wiederhergestellt.
Wir haben aus Sicherheitsgründen schnell gehandelt, dabei aber einen Fehler gemacht. Diese Themes haben mehrere interne Malware-Erkennungsindikatoren bei Microsoft ausgelöst, und die Untersuchung führte zu einem falschen Schluss.
Wir nehmen die Sicherheit des VS-Code-Ökosystems sehr ernst und haben schnell gehandelt, um Nutzer zu schützen.
Wir verstehen die Frustration und die heftige Reaktion des Autors der Equinusocio-Erweiterungen und haben sie gehört. Das ist unschön, aber manchmal passieren solche Dinge. Wir geben unser Bestes, sind aber auch nur Menschen; jetzt möchten wir das bereinigen und nach vorn schauen.
Wir werden unsere Richtlinie zu obfuskiertem Code klarer fassen und unsere Scanner sowie Untersuchungsprozesse aktualisieren, um die Wahrscheinlichkeit zu verringern, dass so etwas erneut passiert.
Diese Erweiterungen sind sicher und wurden wiederhergestellt, damit die VS-Code-Community sie nutzen kann.
Material Theme: https://marketplace.visualstudio.com/items?itemName=Equinuso...
Material Theme Icons: https://marketplace.visualstudio.com/items?itemName=Equinuso...
Nochmals Entschuldigung dafür, dass der Autor in diese Folgen hineingezogen wurde; wir freuen uns auf seine künftigen Themes und Erweiterungen. Wir haben Kontakt mit ihm aufgenommen, um Kompensationsmaßnahmen zu besprechen, und danken ihm für seine Geduld.
Scott Hanselman und das Visual Studio Code Marketplace Team – @shanselman
Ich habe den prominentesten Fork dieser Erweiterung erstellt: „Material Theme (But I Won't Sue You)“
Der ursprüngliche Maintainer hat letztes Jahr endgültig eine Grenze überschritten. Er nahm den ursprünglich unter Apache 2 stehenden Quellcode offline und begann damit zu drohen, Leute zu verklagen, die alternative Versionen hosten oder sie in andere IDEs einbinden
Aus ausreichender Vorsicht habe ich bei meinem Fork folgende Maßnahmen ergriffen: Das VS-Code-Team führt derzeit ein Audit durch, und ich habe ausdrücklich erlaubt, ihn sofort aus dem Marketplace zu entfernen und bei Nutzern zwangsweise zu deinstallieren, falls auch nur irgendein Schadcode gefunden wird
Ich habe auch die Codebasis gründlich auditiert, aber nichts gefunden, das bösartig wirkte, und sämtlichen Code für Changelog, Analytics, Open Collective und HTML-Rendering entfernt
Ein bisschen Sorge machten mir nur das HTML für das Changelog und der Sanity-Loader, also habe ich sie komplett herausgenommen. Mit zwei PRs wurden nahezu alle Abhängigkeiten und über 7.000 Zeilen entfernt, wobei der Großteil davon
package-lockistFalls jemand anderes ein Audit durchführen möchte, ist das Repository hier: https://github.com/t3dotgg/vsc-material-but-i-wont-sue-you
Noch absurder ist, dass irgendjemand auf meinem Rechner etwas „zwangsweise deinstallieren“ kann
Zum Glück bin ich kein VS-Code-Nutzer. Im Marketplace und bei den Plug-ins scheint sich der typische Corporate-Lärm abzuspielen
Interessanterweise hat jemand auf Reddit schon vor 7 Monaten verdächtige Änderungen an dieser Erweiterung bemerkt [1]. Obfuscation ist bei Open Source normalerweise ein extremes Warnsignal
Microsoft sollte das Sicherheitsmodell für VS-Code-Erweiterungen ernsthaft überdenken. In der aktuellen Form ist es als Angriffsziel viel zu lukrativ geworden
Wenn man einen Entwickler sperrt, folgen zehn neue bösartige Erweiterungen
[1] https://www.reddit.com/r/vscode/comments/1eq40o2/has_the_mat...
VS Code ist möglicherweise eines der besten Produkte, die Microsoft je veröffentlicht hat, und ein großer Grund dafür ist der Extension Marketplace
Wenn Microsoft den Marketplace stärker kontrolliert, wird die Qualität von VS Code wahrscheinlich schlechter
Die Begründung ist folgende: Strengere Marketplace-Prüfungen erhöhen die Einstiegshürde und verringern die Gesamtzahl der Erweiterungen. Weniger Erweiterungen schaffen für Microsoft einen Anreiz, Funktionen direkt in VS Code einzubauen. Je mehr Funktionen Microsoft einbaut, desto aufgeblähter wird VS Code
Am Ende könnte mehr Sicherheitsauditierung des Extension Marketplace also zu einem aufgeblähteren VS Code führen
Natürlich wären bessere Sicherheitskontrollen im Extension Marketplace wünschenswert, aber ich glaube nicht, dass Microsoft das auf eine Weise umsetzen wird, die das Produkt für echte Nutzer verbessert
Nachdem ich die entsprechenden Inhalte gelesen habe, wirkt diese Person instabil. Sie scheint buchstäblich hexadezimale Farbcodes als ihr Eigentum zu betrachten
Technisch ist sie auch nicht besonders gut und hat alle fähigen Leute vertrieben
Ich nutze seine Software nicht, aber ich hoffe, dass er schnell über diese Episode hinwegkommt und lernt, dass er Material nicht erfunden hat
Man sollte eher davon ausgehen, dass er raffiniert und betrügerisch ist oder vielleicht ein Handlanger eines Nachrichtendienstes
Solche Verdachtsmomente gegenüber jemandem, der Schadcode in Entwicklertools einschleust, sind keine Paranoia
Jemand hat eine alternative Erweiterung namens Material Theme (But I Won't Sue You) hochgeladen
https://marketplace.visualstudio.com/items?itemName=t3dotgg....
Ich habe das Repository https://github.com/t3dotgg/vsc-material-but-i-wont-sue-you geklont und mir angesehen; die Zusammenfassung der Codezeilen sieht so aus
CSS: 2 Dateien, 142 Zeilen, 119 Codezeilen, 0 Kommentarzeilen, 23 LeerzeilenTypeScript: 32 Dateien, 2026 Zeilen, 1650 Codezeilen, 243 Kommentarzeilen, 133 LeerzeilenHTML: 2 Dateien, 59 Zeilen, 49 Codezeilen, 1 Kommentarzeile, 9 LeerzeilenInsgesamt 36 Dateien, 2227 Zeilen, 1818 Codezeilen, 244 Kommentarzeilen, 165 Leerzeilen
Davon sind 622 TypeScript-Zeilen hexadezimale Farbdefinitionen für Varianten in
scripts/generator/settings/specificDer Rest wirkt ebenfalls weitgehend wie Boilerplate, zum Beispiel die 599 Zeilen in
scripts/generator/color-set.tsDie Frage bleibt also: Was genau muss hier gewartet werden, das mehr als ein paar Minuten benötigen würde?
Ich habe über Jahre hinweg deutlich substanziellere Open-Source-Projekte veröffentlicht und gepflegt, ohne je finanzielle Beiträge zu erwarten
Was hat es eigentlich mit Material-Themes auf sich, dass sie Leute so werden lassen? Vor etwa fünf Jahren gab es auf der IntelliJ-Seite etwas Ähnliches
Allerdings bestand das damals nicht buchstäblich nur aus Farben
Kann jemand im Repository zeigen, wo genau der bösartige Teil war? Ich finde ihn nicht.
Den obfuskierten Code habe ich hier gefunden: https://web.archive.org/web/20250226020241/https://github.co...
Dass diese Person Beiträge anderer angenommen und das Projekt danach auf Closed Source umgestellt hat, ist wirklich merkwürdig. Es wirkt nicht richtig, aber ich bin kein Urheberrechtsexperte.
Der Maintainer kann die Lizenz ändern, aber das wirkt sich nicht auf frühere Beiträge aus. Grundsätzlich bleibt alles bis zur Lizenzänderung unter der bisherigen Lizenz.
Deshalb können beliebte Softwareprojekte auch nach einem Lizenzwechsel geforkt werden.
Um eine Lizenz rückwirkend zu ändern, braucht man die Zustimmung der Beitragenden oder ein Dokument, das solche Rechte einräumt.
Ein Contributor License Agreement (CLA) kann dem Maintainer das Recht geben, auch frühere Beiträge nach Belieben neu zu lizenzieren, aber nicht jedes CLA tut das.
Bekannte Software, die ihre Lizenz geändert hat, sind Redis und Terraform. Auch in solchen Fällen kann bereits veröffentlichte Software weiterhin unter der alten Lizenz genutzt werden, und diese alte Lizenz erlaubt Forks.
Es ist gut, dass die meisten Tools heutzutage standardmäßig ziemlich gut gemachte Themes mitbringen.
Wenn man solche Risiken verringern und die Zahl installierter Extensions/Add-ons minimieren will, ist das eine recht realistische Option.
Natürlich ist es auch gut, dass Software in diesem Maß thematisiert werden kann und dadurch je nach Fall Usability und Barrierefreiheit verbessert werden können.
Allerdings sollten Feature Requests zu Berechtigungsbeschränkungen umgesetzt werden.
Offenbar besteht es nicht nur aus offensichtlich simplen Farbcodes und Definitionen.
Vermutlich sollte das Theme-System stärker eingeschränkt werden.