1 Punkte von GN⁺ 2024-07-25 | 1 Kommentare | Auf WhatsApp teilen
  • 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 Day und ↑492 Featured Product angezeigt
  • 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

 
GN⁺ 2024-07-25
Hacker-News-Kommentare
  • Das Problem dieser „harmlosen“ Erweiterung ist, dass sie im Manifest host_permissions verwendet.
    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.

    • Es scheint keine Möglichkeit zu geben, sie ohne solche Berechtigungen umzusetzen.
      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.
    • Es ist seltsam, dass es für Erweiterungen keine separate Berechtigung für Netzwerkanfragen gibt.
      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.
      1. Warten, bis die Erweiterung populär wird
      2. An eine bösartige Firma verkaufen
      3. Werbung/Spyware/Malware landet im Browser
    • Berechtigungen müssen irgendwie feiner abgestuft werden.
      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.
    • Wie hätte der Autor des ursprünglichen Beitrags die Erweiterung ohne diesen Ansatz bauen sollen?
  • 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.

    • Hat Bonzi-Buddy-Vibes.
  • 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.

    • Es gibt Unterschiede, aber viele Grundfunktionen überschneiden sich.
      Firefox ist mit den chrome.*-API-Aufrufen kompatibel, die ich in meinen selbst geschriebenen Erweiterungen verwende.
    • Chrome unterstützt die WebExtensions API nicht.
  • GitHub: https://github.com/anatolyzenkov/button-stealer

    • Jetzt wäre es gut, noch eine Rangliste der Leute hinzuzufügen, die am meisten gesammelt haben.
      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

    • Es ist schön, meinen Bildschirm zu sehen, und es ist schön zu sehen, wie sich Kosten für Werbetreibende anhäufen.
      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.