Der Button-Stealer-Fall
(anatolyzenkov.com)- Button Stealer ist eine Browser-Erweiterung, die auf Websites, die Nutzer besuchen, nach und nach Buttons „stiehlt“ und sammelt
- Sie ist eher ein spielerisches Tool, bei dem die Button-Sammlung automatisch wächst, während man das Web ganz normal nutzt
- Das Produkt wird als spaßige, nutzlose und kostenlose Erweiterung vorgestellt
- Als öffentliche Kennzahlen werden im Chrome Web Store 4.9/5, auf Product Hunt
#3 Product of the Dayund↑492 Featured Productangezeigt - Da sie lokal läuft und keine Daten nach außen sendet, bleiben Nutzerdaten privat
Wie Website-Buttons gesammelt werden
- Button Stealer ist eine Browser-Erweiterung, die von Websites, die Nutzer öffnen, jeweils einen Button „stiehlt“
- Auch ohne zusätzliche Aktionen der Nutzer wächst die Sammlung der gestohlenen Buttons, während sie wie gewohnt online aktiv sind
- Das Produkt selbst wird als spaßiges, nutzloses und kostenloses Tool vorgestellt
Veröffentlichte Badges und Kennzahlen
-
Chrome Web Store
- Bewertung: 4.9/5
- Featured Badge wird angezeigt
-
Product Hunt
#3 Product of the Day↑492 Featured Product
Datenschutz und Installation
- Button Stealer läuft lokal
- Da keine Daten irgendwohin gesendet werden, bleiben Nutzerdaten privat
- Auf der Seite wird ein Installationsbutton für Button Stealer bereitgestellt
1 Kommentare
Hacker-News-Kommentare
Das Problem dieser „harmlosen“ Erweiterung ist, dass sie im Manifest
host_permissionsverwendet.Damit kann sie auf praktisch jeder besuchten Webseite so ziemlich alles tun und auch Daten auslesen.
Aus Sicht eines Extension-Entwicklers würde ich davon abraten. Dass eine Erweiterung, die keinen praktischen Nutzen hat und nur Spaß macht, so weitreichende Berechtigungen verlangt, ist riskant.
Wenn man den Code auf GitHub prüft und die Erweiterung anschließend lokal installiert, kann man das Risiko vermeiden, dass später bösartige Änderungen nachgeschoben werden.
Selbst wenn man Zugriff auf das DOM jeder von mir besuchten Seite gewährt, wäre das in Ordnung, solange es keine Möglichkeit gibt, die Daten nach außen zu schleusen.
Der richtige Ansatz wäre meiner Meinung nach, eine vom restlichen Code isolierte Funktion zu ermöglichen und eine vertrauenswürdige dritte Partei dafür zu bezahlen, diese Funktion zu prüfen.
In diesem Fall dürfte die Funktion nur 1) auf das HTML der Website zugreifen, 2) Buttons finden und 3) nur das zurückgeben, woraus der Button besteht.
Dann könnte auch der von einer Vertrauensinstanz formulierte Berechtigungshinweis präzise lauten: „Diese Erweiterung möchte Buttons von Websites kopieren.“
Ich würde das gern DEWISOTT Computing nennen: Es bedeutet, dass etwas genau das tut, was außen draufsteht.
Solange diese Funktion nicht angefasst wird, kann die Erweiterung auch 1000-mal am Tag aktualisiert werden.
Das wirkt wie die App-Version einer Phishing-Mail.
Nur wegen ein bisschen Augenfutter soll man Zugriff auf alles auf jeder besuchten Website gewähren.
Bei Erweiterungen dieser Art habe ich Bedenken, sie zu installieren.
Jemand könnte dem Entwickler viel Geld bieten, sie aufkaufen und dann für weniger lustige Zwecke einsetzen.
Ich weiß nicht, ob zusätzliche Berechtigungen nötig sind, aber zumindest das aktuelle Content Script läuft bereits für „[https:///\](https://*/\)“.
Ich frage mich, ob es einen besonderen Grund gibt, statt der standardisierten WebExtensions API eine Chrome-spezifische API zu verwenden.
Ich wollte mit Web-Erweiterungen experimentieren und wüsste gern, welche praktischen Einschränkungen die Standard-API im Vergleich zu browserspezifischen APIs tatsächlich hat.
Firefox ist mit den
chrome.*-API-Aufrufen kompatibel, die ich in meinen selbst geschriebenen Erweiterungen verwende.GitHub: https://github.com/anatolyzenkov/button-stealer
Ich habe mir den Code angesehen, er wirkt harmlos. Allerdings weiß ich nicht, ob es eine Möglichkeit gibt zu prüfen, ob der im Chrome Extension Store veröffentlichte Code derselbe ist.
Das erinnert mich an die Ansicht der angeklickten Anzeigen von https://adnauseam.io/: https://adnauseam.io/img/adnauseam_vault.png
Moderne Probleme erfordern moderne Lösungen.
Die Idee gefällt mir, aber die Zugriffsberechtigungen sind etwas beängstigend.
Idealerweise ließe sich das wohl als Bookmarklet neu umsetzen. Allerdings müsste das Button-HTML-Fragment in einer Datei gespeichert werden, daher bräuchte man vermutlich einen Blob-bezogenen Workaround, um den Download zu ermöglichen.
Ich habe früher einmal ein Tool mit ähnlichem Zweck gebaut.
Allerdings stiehlt es nicht Buttons, sondern CSS/SCSS, und es ist keine Erweiterung, sondern ein CLI-Tool. Auf GitHub findet man es unter
coalio/rfscss.Ich frage mich, ob HTML/CSS gespeichert wird, damit man Buttons leicht wiederverwenden kann, oder ob sie als Bilder gespeichert werden.
Ersteres wäre ziemlich nützlich, Letzteres zwar unterhaltsam, aber weniger nützlich. Falls es Bilder sind, würde mich auch interessieren, wie schwierig es ist, sie aus einer Seite zu extrahieren, die alle Buttons zeigt.
Das klingt nach einer sehr guten Methode, um Inspiration für UI/UX-Design zu finden.