未知のCRXはインストールせず、作業用コピーをpackageとして確認します。 manifest.jsonやresourceを取り出せても、署名者、権限の妥当性、JavaScriptの挙動、マルウェアの有無が分かるわけではありません。
インストール、一覧、展開、署名検証は別の作業
CRXはChrome拡張機能を配布するpackageです。Chromeへ追加すると拡張機能のコードが動き、許可した権限を使える状態になります。一方、Karuzipで一覧・書庫テスト・展開する操作は、CRXをZIP系containerとしてローカルで読むだけです。
| 操作 | 分かること | 分からないこと |
|---|---|---|
| Karuzipで一覧 | ZIP部分のファイル名・サイズ・階層 | コードの挙動、署名者、安全性 |
| 書庫テスト | containerを最後まで読めるか | Chromeで動くか、信頼できるか |
| 選択解凍 | manifestや画像を別フォルダーへ保存 | permissionの妥当性、改ざんの保証 |
| Chromeへインストール | 拡張機能として導入可能か | 無害性の保証 |
CRX3の前置headerとZIP部分を読み違えない
検証用CRXはGoogle Chrome 152.0.7977.64の--pack-extensionで作成しました。1,056 Bで、7-Zip 25.01はZIP部分をOffset 593から認識し、Headers Error warningを記録しながら2ファイルを一覧しました。
Karuzip 1.4.5は同じCRXを開き、fixture.txtとmanifest.jsonを表示します。現行UIは底層のHeaders Error warningを表示せず、書庫テストを「問題は見つかりませんでした」と完了します。この差を、warningが表示されるかのように書き換えてはいけません。
CRXをインストールせず確認する4ステップ
-
1
配布元を記録して作業用コピーを作る
入手URL、ファイル名、サイズ、SHA-256を控え、元CRXを変更しないコピーで進めます。
-
2
Karuzipでファイル一覧を確認する
CRXを開き、manifest.json、JavaScript、画像、設定ファイルなど、ZIP部分に見える項目を確認します。
-
3
書庫テストの範囲を記録する
containerを読めるか確認します。成功しても署名、permission、コード、安全性の判定には使いません。
-
4
必要な静的ファイルだけ選択解凍する
manifest.jsonや画像を空の作業フォルダーへ取り出し、実行せず、必要なら専門ツールで別に解析します。
manifest.json、script、resourceは役割を分けて見る
manifest.jsonは拡張機能の名前、version、entry point、permission等を記述する入口です。ただしmanifestだけで全挙動は分かりません。content script、service worker、外部通信、同梱libraryも別に確認する必要があります。
| 項目 | 確認できること | 境界 |
|---|---|---|
| manifest.json | 拡張機能の宣言、entry point、permission | 実際のコード挙動までは分からない |
| JavaScript | 実行コードの候補 | Karuzipはcode auditを行わない |
| 画像・HTML・CSS | UI resource | 見た目だけで配布元や安全性は分からない |
| CRX前置header | package固有の領域 | ZIP一覧だけでは署名検証にならない |
自作CRX3で一覧・テスト・選択解凍を実測
| 確認 | 結果 | 言える範囲 |
|---|---|---|
| 標本 | 1,056 B・SHA-256 9190198a…27fd23 | Chrome 152で作成した自作package |
| 一覧 | 2ファイル | fixture.txtとmanifest.jsonを認識 |
| 書庫テスト | Karuzip UIは問題なし | 底層warningをUIは表示しない |
| 選択解凍 | manifest.json 196 B・SHA-256一致 | 同じバイト列を取り出せた |
| インストール | 未実施 | Chromeでの動作・安全性は検証対象外 |
tests/corpus/crx/manifest.jsonに固定しています。書庫テスト、署名、permission、malware判定を分ける
書庫テストはcontainerの読取確認です。CRXの署名者、改ざん、permissionの妥当性、JavaScriptの挙動、malwareの有無を判定しません。ChromeやChromiumの公式資料、配布元、専門の解析手段を組み合わせます。
- Chrome Web Storeまたは開発元の公式導線から入手元を確認する
- 公式値がある場合だけSHA-256を比較する
- manifest.jsonのpermissionを用途に照らす
- JavaScriptや実行形式を抽出後に起動しない
- Karuzipの書庫テスト成功を安全保証にしない
- 説明できないpackageはChromeへ追加しない
CRXの中身確認・署名・安全性に関するFAQ
CRXファイルとは何ですか?
Chrome拡張機能を配布するpackageです。CRX3ではpackage固有の前置headerと、その後ろのZIP部分にmanifest.jsonやresource等が入ります。
CRXを見るためにChromeへインストールする必要がありますか?
必要ありません。KaruzipでZIP部分の一覧・書庫テスト・展開ができます。インストールとlocal inspectionは別の作業です。
Headers ErrorはCRXが壊れている意味ですか?
今回のCRX3標本では前置headerがあり、7-ZipはHeaders Error warningを記録しながらlist・test・extractを完了しました。warningだけで破損とは断定できません。
書庫テストが通れば安全な拡張機能ですか?
いいえ。書庫テストはcontainerを読めるかの確認です。署名者、permission、コードの挙動、malwareの有無は判定しません。
manifest.jsonだけを取り出せますか?
はい。今回の標本では196 Bのmanifest.jsonだけを選択解凍し、元のSHA-256と一致しました。
KaruzipでCRXの署名やpermissionを検証できますか?
できません。ファイルの存在は確認できますが、署名検証、permissionの妥当性、code audit、安全性判定は別の専門手段が必要です。
Karuzipで確認した条件
- 確認日
- 2026-08-30
- 環境
- Windows 11 25H2 build 26200.9168 日本語環境、Karuzip 1.4.5、7-Zip 25.01、Google Chrome 152.0.7977.64
- 標本
- Chromeの--pack-extensionで作成した自作CRX3。1,056 B、SHA-256 9190198ae9b67efd814c44bab82cdebef0b623c2dcf54cb9f209bfe9d727fd23。
- 確認項目
- fixture.txtとmanifest.jsonの2ファイル一覧、書庫テスト、manifest.jsonの選択解凍、196 BとSHA-256 bdc5f842…11a47fの一致、底層Headers Error warningとUI表示の差。
Chromeへのインストール、署名検証、permissionの妥当性、JavaScriptの挙動、第三者CRX、malware判定は検証していません。
根拠と更新方針
Windowsの操作、ZIP形式の仕様、Karuzipの機能を混同しないよう、判断ごとに根拠を分けています。
- Self-host for Linux | Chrome Extensions developer.chrome.com CRX package、private key、self-host、Chrome Web Store外の配布境界。
- Chrome extension packaging | Chromium chromium.googlesource.com CRXがsigned ZIP packageであり、key pairとextension IDが関係すること。
- 拡張機能をインストールして管理する | Google Chrome ヘルプ support.google.com Chrome Web Storeからの導入、permission確認、信頼できる拡張機能だけを追加する注意。
CRXをインストールせず、まず中身を確認
KaruzipはCRXのZIP部分を一覧し、書庫テスト、全体または選択解凍をローカルで行えます。Chromeへの導入、署名検証、code audit、安全性判定は行いません。
Karuzipを無料でダウンロード