Web・通信・セキュリティ

Chrome拡張 CRX権限・プライバシー監査

Chrome拡張のCRX・ZIPから、権限とサイトアクセスを確認。拡張をインストールせずに調べます。

  • ✓ 登録不要
  • ✓ ブラウザ内処理
  • ✓ Tool入力の外部送信なし

CRX / ZIPを選ぶ

ここへ1ファイルをドロップするか、ファイルを選択してください。選択後に解析します。

サンプルはこのTool用の合成packageです。CRXのwrapperは未署名で、実在する拡張の監査結果ではありません。

Manifest V2 / V3、ZIPのstore / deflateに対応。rootまたは単一トップディレクトリのmanifest.jsonを採用します。暗号化・分割・ZIP64・symlink・非UTF-8の非ASCII entry名は対象外です。最大10000 entries、1 entry展開後100MB、展開後合計500MB。source scanは1 file 5MB・合計50MBまでです。

処理範囲と入力データの取り扱い

CRX / ZIPから、権限・サイトアクセス・通信文字列候補を確認するCRX権限チェッカーです。拡張をインストールせず、宣言とpackage構造を整理します。

CRX / ZIPはブラウザ内だけで解析します。Tool本体から拡張ファイル、manifest、source code、URL候補、解析結果を外部へ送信・保存しません。

安全性・マルウェアの判定、Risk Scoreの算出は行いません。CRX署名・発行者の真正性は検証していません。

権限を読むときの区別

API権限は使う機能、host permissionは対象サイトの範囲です。activeTabは利用者が拡張を呼び出したときの現在のタブのmain-frame originへの一時アクセスで、<all_urls>と同じではありません。scriptingには対象hostへの権限またはactiveTabなどが必要です。tabsはurl・pendingUrl・title・favIconUrlなどの属性に関する権限で、DOMを直接読む許可そのものではありません。

Optionalと全URL

Optional権限は必要な場面で利用者に要求し得る宣言です。実際の許可状態はpackageだけでは分かりません。<all_urls>はChromeが対象とする対応scheme全体、*://*/*はhttp / httpsの全hostです。fileへのアクセスは利用者側の設定も必要です。Content Scriptのmatchesは別の宣言として確認します。

解析の限界

CRX2 / CRX3の構造からZIPを取り出しますが、署名、publisherの真正性、拡張IDは検証・推定しません。拡張の安全性、悪意、Chrome Web Storeの審査結果を示すものではありません。実行経路、remote側の動作、optional grant、難読化の意味、今後の更新による挙動は分かりません。source codeを実行せず、通信先へ問い合わせません。削除やインストールの判断には公式説明と実行時の動作も確認してください。

仕様の参考:Chromeの権限宣言、activeTab、externally_connectable、Chromium CRX3形式。

Chrome拡張のactiveTab・特定サイト・全サイト権限を合成拡張で比較した検証記事