概要
- Firefox拡張機能の全件スクレイピングと分析の記録
- API制限の回避方法やカテゴリ別取得の工夫
- 収集した拡張機能の数や容量、異常な拡張機能の事例
- フィッシングやSEOスパム、PUA(潜在的に望ましくないアプリ)の発見
- データセット公開と今後の課題
Firefox拡張機能の全件スクレイピング
- Firefox拡張機能の全数調査 を目指し、 公式API を利用したスクレイピング手法
- APIは 認証不要・レート制限なし で利用可能
- 1ページ50件・最大600ページ で約3万件しか取得できない制限
- ソート条件( created, rating, hotness, updated)を変更し、重複排除で件数を増やす工夫
- exclude_addonsパラメータ でさらに追加ページを取得
- URL長制限 により20ページ追加が限界
- カテゴリごとに並列取得 することで、ほぼ全件取得に成功
- 最終的に84,235件 (約49.3GB、平均584.9KB/拡張機能)を取得
スクレイピングの工夫と課題
- ページ制限回避 のため、ソートやカテゴリを活用
- 並列処理 で取得速度を大幅向上
- 重複slug やIDの排除によるユニーク件数の算出
- 拡張機能の一部は取得・検出できず、ウェブサイト表示数との差異が発生
- データセットはHugging Faceで公開 し、再取得の手間を削減
拡張機能サイズ・特徴ランキング
- 最大サイズ はdmitlichess(196.3MB、音声ファイル2,000件以上)
- 上位10件 にはUnityアプリや画像大量含有拡張など、多様な巨大拡張機能
- 最小サイズ はtheTabs-saver(7,518バイト、コードなし)
- 最悪の拡張機能 はTab Stack for Firefox(評価アルゴリズムに基づく)
- 最初の拡張機能 はWeb Developer
- 最多スクリーンショット はRDS Bar(54枚)
- 異常な権限要求 はFalscheLaden(3,695件)、Google Dark Theme(2,675件)
開発者・運営分析
- 最多拡張機能公開者 はDr. B(84件、全てREADME.md付き、アイコン・スクリーンショットなし)
- 開発者ごとの拡張機能数は意外と少数
- SEOスパム :AI生成拡張や「Code Injector」など、著者のホームページリンクを利用したスパム
- PUA(潜在的に望ましくないアプリ) :Custom Web Searchシリーズなど、同一開発者による大量展開
- 合計70万ユーザー以上
- ChromeとFirefox両対応、同一デザイン、同一企業名義(Innover Online Group Ltd)
セキュリティ・悪質拡張機能の発見
- フィッシング拡張 :偽MetaMask等、ユーザーのシードフレーズ窃取
- Cyrillic文字を使ったホモグリフ攻撃
- NocoDB経由でフィッシングページURLを取得・自動表示
- APIキー流出によりスプレッドシートを削除可能だった事例
- Mozillaへの通報で即日削除 されるケースも多い
- PUA :Yahooアフィリエイトコード付きの検索誘導、Google広告活用、短期間での大量配信
今後の課題・まとめ
- APIや公式サイトの仕様変更 によるスクレイピング手法の見直し必要性
- 悪質拡張機能の検出・通報体制強化 の重要性
- データセット公開 による再調査・二次利用の促進
- 拡張機能エコシステム の健全化と透明性向上への貢献