ブラウザ拡張機能リバースエンジニアリング は何をしますか?
アクション必須(読んだらすぐ実行)
NOW:../field-journal/precedent-reverse.mdを読むNOW: 対象がブラウザ拡張機能(crx/xpi/解凍ディレクトリ)であることを確認(通常のWeb JSの場合はjs-reverse/へ)NEXT: 拡張機能を解凍し、マニフェストを読むACT: 権限面 → バックグラウンドスクリプト → ネットワーク/ストレージフック
適用シナリオ
- Chrome/Edge MV2/MV3 拡張機能の解析
- Firefox 拡張機能
- 悪意のある拡張機能のIOC、サプライチェーン拡張機能汚染調査
- 拡張機能による署名/暗号化/プロキシロジックの復元
ワークフロー
1. パッケージ
□ crx の解凍 / プロファイルから拡張ディレクトリを取得
□ manifest.json:permissions、host_permissions、background、content_scripts
□ 過剰権限の評価(<all_urls>、webRequest、debugger)
2. ロジック
□ service_worker / background エントリポイント
□ content_script の注入箇所とワールド(isolated)
□ chrome.storage / IndexedDB に保存された鍵
□ `js-reverse` と同様:ネットワークとメッセージパッシング(runtime.sendMessage)の監視
3. 動的解析
□ 開発者モードで解凍ディレクトリをロード
□ chrome://extensions でエラーを確認
□ DevTools を service worker にアタッチ
□ 必要に応じて Frida/ブラウザCDP(jshookmcp)
ツールチェーン
| ツール | 用途 |
|---|---|
| 解凍/jq | マニフェスト解析 |
| Chrome DevTools | worker デバッグ |
| js-reverse ツールチェイン | 高度なJS解析 |
| YARA | 悪意拡張ルール |
参考
references/extension-analysis.md- field-journal 拡張機能復元関連エントリ
../js-reverse/../malware-analysis/
ルーティングコンテキスト
上流: MASTER R30
下流: 複雑な難読化JS → js-reverse;汚染調査 → supply-chain / malware
タスク完了自己チェック
- 権限面とエントリスクリプトを列挙しましたか?
- 主要なデータフローを復元しましたか?
- チェックリストは完了しましたか?