Chrome 拡張機能・.crx ファイル・権限 — よくある質問
拡張機能のパッケージとソースコード、そして宣言された権限が実際に何を意味するのかについて、よくある質問をまとめました。
(.crx) ファイルとは何ですか?
.crx は Chrome 拡張機能をパッケージ化した形式です。署名付きの短いヘッダーの後ろに ZIP 書庫が続く構造で、マニフェスト、JavaScript、スタイル、その他同梱されるすべてのリソースが入っています。
なぜ Chrome は .crx をダウンロードせずインストールしようとするのですか?
コンテンツ種別が原因です。Google はパッケージを application/x-chrome-extension として配信し、Chrome はこれをファイルではなくインストール要求として扱います。さらに 2018 年以降はウェブストア以外からのインストールを拒否するため、そのまま失敗します。当サイトからのダウンロードが機能するのは、同じ中身を通常の添付ファイルとして配信しているからです。
インストールせずにソースコードを読めますか?
読めます。.crx をダウンロードし、トップページの抽出欄にドロップしてください。ブラウザ内で展開され .zip が得られます。ファイルがどこかへアップロードされることはありません。
中のコードは読めますか?
たいていは読めますが、多くの拡張機能は圧縮された JavaScript を同梱しているため、読みやすいというより詰まった状態です。マニフェスト、権限の一覧、ファイル構成は常に明瞭で、拡張機能が何をするかという疑問のほとんどはそこで解けます。
このページの権限は何を意味しますか?
いずれも拡張機能がマニフェストで宣言した能力です。当サイトはその能力が何を許すのかを説明し、判断は利用者に委ねます。開発者がなぜそれを求めたのかは静的解析では分からないからです。用途に見合った権限はごく普通であり、必要のない拡張機能に同じ権限があれば疑問を持つ価値があります。
最も注意すべき権限はどれですか?
広範なホストアクセス、つまり <all_urls> や *://*/* です。ログイン中のサイトを含め、訪問するすべてのページが対象になります。同時に、広告ブロッカーやダークモード、パスワード管理では完全に普通のことでもあります。到達範囲の広さと危険性は別物です。
ページにある Manifest V2 とは何ですか?
その拡張機能が、Chrome が段階的に廃止している旧来のプラットフォームを対象にしていることを意味します。実際には長く更新されていない可能性を示し、現行の Chrome では動作しなくなることもあります。
このページのデータはどこから来ていますか?
二つの出所があります。ダウンロードしたパッケージから読み取った拡張機能自身のマニフェストと、Chrome ウェブストアの公開ページです。開発者から提供された情報や、手作業で編集した内容は含まれません。