処理範囲と入力データの取り扱い
CRX / ZIPから、権限・サイトアクセス・通信文字列候補を確認するCRX権限チェッカーです。拡張をインストールせず、宣言とpackage構造を整理します。
CRX / ZIPはブラウザ内だけで解析します。Tool本体から拡張ファイル、manifest、source code、URL候補、解析結果を外部へ送信・保存しません。
安全性・マルウェアの判定、Risk Scoreの算出は行いません。CRX署名・発行者の真正性は検証していません。
Web・通信・セキュリティ
Chrome拡張の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までです。
Requiredはmanifestで要求する宣言です。Optionalは実行時に要求し得る宣言で、現在許可されていることを意味しません。宣言されていても、実際の利用を証明するものではありません。
Required Host・Optional Host・Content Scriptの対象を分けています。host permissionによる外部fetch、tabs属性、injection、webRequest、cookies、DNR操作は、それぞれAPI・実行context・追加権限などの条件に依存します。
Content Scriptはmatchesに一致するページへの宣言的injectionです。exclude・glob・frame・worldなどの条件も確認してください。参照fileの有無だけを確認し、JS / CSS / HTMLは実行しません。
externally_connectableは接続を受け付け得る対象、Web Accessible Resourcesは外部から参照できるresourceの宣言です。CSPの文字列チェックは合否判定ではありません。
fetch / XMLHttpRequest / WebSocket / EventSource / sendBeaconの文字列とhttp / https / ws / wssのURL literal候補です。コメント・未使用コードでも検出されます。文字列が組み立てられる通信や難読化された処理は網羅できません。候補URLを取得・開くことはありません。
path・種類・圧縮size・展開後の宣言sizeです。バイナリfileは展開せず、filesystemへの展開も行いません。全source viewerはありません。
CSVは権限とHostの宣言・説明です。Safe Copyは件数と確認ポイントのみで、source、file名、OAuth client ID、URL queryを含みません。
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権限は必要な場面で利用者に要求し得る宣言です。実際の許可状態は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・特定サイト・全サイト権限を合成拡張で比較した検証記事
TOOLPIPO LAB
Chrome拡張機能の「すべてのサイトのデータを読み取り、変更」とは何ができる権限なのか。activeTab・特定サイト・all_urlsを4つの合成拡張機能で比較し、権限の違いを検証しました。
検証の過程を読む →