1 ポイント 投稿者 GN⁺ 2024-07-25 | 1件のコメント | WhatsAppで共有
  • Button Stealerは、ユーザーが訪れたWebサイトからボタンを1つずつ「盗んで」集めるブラウザ拡張機能
  • いつも通りWebを使っているだけで、ボタンコレクションが自動的に増えていく、いたずら的なツールに近い
  • 製品の性格は、楽しくて役に立たず無料の拡張機能として紹介されている
  • 公開指標として、Chrome Web Store 4.9/5、Product Hunt #3 Product of the Day↑492 Featured Product が表示されている
  • ローカルで動作し、データを外部へ送信しないため、ユーザーデータが非公開に保たれる構造

Webサイトのボタンを集める仕組み

  • Button Stealerは、ユーザーが開くWebサイトからボタンを1つ「盗む」ブラウザ拡張機能
  • ユーザーが特別な操作をしなくても、いつも通りオンラインで活動していれば、盗んだボタンのコレクションが増えていく
  • 製品自体は、楽しく、役に立たず、無料のツールとして紹介されている

公開されているバッジと指標

  • Chrome Web Store

    • 評価: 4.9/5
    • Featured Badge 表示
  • Product Hunt

    • #3 Product of the Day
    • ↑492 Featured Product

プライバシー処理の仕組みとインストール

  • Button Stealerはローカルで動作する
  • データをどこにも送信しないため、ユーザーデータは非公開に保たれる
  • ページにはButton Stealerのインストールボタンが用意されている

1件のコメント

 
GN⁺ 2024-07-25
Hacker Newsのコメント
  • この「無害な」拡張機能の問題は、マニフェストで host_permissions を使うことになる点です
    訪問するすべてのWebページで、実質的に何でもでき、データをスクレイピングすることもできます
    拡張機能開発者の立場からすると遠慮したいです。実用性はなく面白さだけのこうした拡張機能が広範な権限を要求するのは危険です

    • その権限なしで実装する方法はなさそうです
      GitHubでコードを確認してから拡張機能をローカルにインストールすれば、後から悪意ある変更が入ってくるリスクは避けられます
    • 拡張機能にネットワークリクエスト権限が別にないのは不思議です
      自分が訪問するすべてのページのDOMアクセス権を与えても、外部へ持ち出す手段がないなら問題ないはずなのに
      1. 拡張機能が人気になるまで待つ
      2. 悪意ある会社に売却する
      3. ブラウザに広告/スパイウェア/マルウェアが入り込む
    • 権限は何らかの形でもっと細分化されるべきです
      正しいアプローチは、コードの残り部分から隔離された関数を置けるようにし、信頼できる第三者にその関数の機能レビュー費用を支払うことだと思います
      この場合、その関数は 1) WebサイトのHTMLにアクセスし、2) ボタンを探し、3) ボタンを構成するものだけを返せます
      そうすれば、信頼機関が作成する権限案内も「この拡張機能はWebサイトからボタンをコピーしようとしています」のように正確にできます
      こういうものを DEWISOTTコンピューティング と呼びたいです。外側に書かれている通りに正確に動作する、という意味です
      その関数をいじらない限り、拡張機能を1日に1000回更新しても構いません
    • 元記事の作者は、この方式なしでどうやって拡張機能を作れるというのでしょうか?
  • これはアプリ版のフィッシングメールのようです
    ただの見世物のために、訪問するすべてのWebサイトのあらゆるものへのアクセスを求めているわけです

    • Bonzi Buddyっぽいです
  • この種の拡張機能はインストールが心配です
    誰かが開発者に大金を提示して買い取り、あまり面白くない目的に使う可能性があるからです
    追加権限が必要かどうかは分かりませんが、少なくとも現在のコンテンツスクリプトはすでに「[https:///\](https://*/\)」に対して実行されます

  • 標準の WebExtensions API ではなくChrome専用APIを使う特別な理由があるのか気になります
    Web拡張を試してみようかと思っていたのですが、標準APIがブラウザ別APIに比べて実際にどんな制約を持つのか知りたいです

    • 違いはありますが、基本機能はかなり重なっています
      Firefoxは、私が自作した拡張機能で使っている chrome.* API呼び出しと互換性があります
    • ChromeはWebExtensions APIをサポートしていません
  • GitHub: https://github.com/anatolyzenkov/button-stealer

    • いまや、最も多く集めた人のランキングも追加するとよさそうです
      コードを見ましたが無害に見えます。ただし、Chrome Extension Storeに上がっているコードが同じコードなのか検証する方法があるのかは分かりません
  • https://adnauseam.io/ のクリックされた広告ビュー https://adnauseam.io/img/adnauseam_vault.png を思い出します

    • 自分の画面を見るのもいいし、広告主に費用が積み上がるのを見るのもいいです
      現代の問題には現代の解決策が必要です
  • アイデアは気に入っていますが、アクセス権限が少し怖いです
    理想的にはブックマークレットとして作り直せそうです。ただ、ボタンのHTML断片をファイルに保存する必要があるので、Blob関連の回避策でダウンロード可能にする必要がありそうです

  • 以前、似た目的のツールを作ったことがあります
    ただしボタンではなく CSS/SCSS を盗むもので、拡張機能ではなくCLIツールです。GitHubで coalio/rfscss として見つけられます

  • ボタンを簡単に再利用できるように HTML/CSS を保存するのか、それとも画像として保存するのか気になります
    前者ならかなり有用で、後者なら面白いけれど有用性は低そうです。画像なら、すべてのボタンを表示するページから抽出するのがどれくらい難しいのかも気になります

  • UI/UXデザインのインスピレーションを探すには、とても良い方法に聞こえます