WhiteNightShadow/firefox-reverse
🦊 内置 AI 逆向 Agent 的 Firefox — 通用 JS/JSVMP/WASM/签名逆向工作站,SpiderMonkey 引擎层非侵入 trace,把加密参数从黑盒还原成不依赖浏览器的纯算法
Firefox‑Reverse – AI駆動の逆アーキテクチャブラウザ
何であるか – Firefox (v153) のカスタムビルドで、組み込みの AI エージェント(reverse agent)と fingerprint環境マネージャ を搭載しています。エージェントは永続的なサイドバーに常駐し、JavaScriptのオブスカレーション、JSVMPバイトコード、またはWebAssemblyで生成される暗号化されたリクエストパラメータ(署名、トークン、リスクフィンガープリントなど)を自動的にキャプチャ・トレース・復号できます。その後、ブラウザ外で同じパラメータを再現できるスタンドアロンのNode.jsまたはPython実装を出力します。
主な機能
- AIエージェント – ページ自動化、ネットワークキャプチャ、コード検索、WebAPIトレース、JSVMP/WASMの検査、ファイルI/O、環境制御など、66種類の登録済みツールを備えています。フルオート(エージェントがエンドツーエンドで実行)または AIアシスト(エージェントがステップを提案し、ユーザーが確認)の2モードで動作します。
- フィンガープリント環境 – 各環境は独自のFirefoxプロファイル、別プロセス、専用のMarionetteポートを確保し、クッキー、ストレージ、カスタムブラウザフィンガープリント(Navigator、画面サイズ、DPR、UA-CH、WebGLベンダー/レンダラーなど)を完全に分離します。サイドバーから環境の作成、インポート、編集、開閉、削除が可能です。
- エンジンレベルの観察 – SpiderMonkey/GeckoのC++内部にフックを仕掛けて、署名関数の引数、JSVMP命令ストリーム、WASMのインポート境界、本物のブラウザと再現されたNode/Pythonコード間のブランチレベルの差異をトレースします。これにより、脆弱なページ内モンキーパッチを回避できます。
- モデル非依存 – DeepSeek、GLM、Kimi、MiniMax、Qwen、Claude、OpenAIなど多数のLLMプロバイダをサポートし、OpenAI/Anthropic互換エンドポイントも利用可能。APIキーはローカルに保存され、ブラウザが直接使用します。
- 結果の永続化 – セッション、生成されたスクリプト、メモ、ツール出力はユーザーが選択した作業ディレクトリに保存されます。セッションは
.frx-chat.jsonとしてエクスポート・インポート可能(APIキーは含まない)。 - 2段階出力 – まず ブラックボックス利用可能 バージョン(モック環境で元のWASM/JSVMPを実行するNode/Python)を出力し、オプションで ホワイトボックス純コード バージョン(元のバイナリなしでアルゴリズムを再実装)も生成可能。
クイックスタート(5ステップ)
- ダウンロード – Releasesページから適切なインストーラー(Windows exe/zip、macOS dmg、Linux tar.xz)を取得。
- AIサイドバーを開く – 右上隅の星型「Firefox‑Reverse」アイコンをクリック。
- モデルを設定 – サイドバーの設定で、プロバイダ、APIキー、モデル名を含む名前付き構成を追加。
- 新しいセッションを作成 – フルオート または AIアシスト を選択。
- ターゲットを記述 – ページURL、再現したいAPIリクエスト、暗号化されたパラメータ名を入力。エージェントがリクエストをキャプチャし、生成コードを特定し、必要なブラウザ環境をモックして実行可能なスクリプトを生成します。
フィンガープリント環境ワークフロー
- サイドバーの Environment タブを開く → Create new(または
fingerprint.jsonをインポート)。 - 環境は
~/.firefox-reverse/environments下に独自のプロファイルフォルダと新規のMarionetteポートを取得します。 - Open をクリックして環境に切り替えると、選択されたフィンガープリントでブラウザが再起動します。
- フィンガープリントの変更には、環境を閉じて再開するか、アプリ全体を再起動する必要があります(メインプロセスの場合)。
インストールノート
- macOSビルドは自己署名されています。初回起動時にブロックされる可能性があります。
xattr -dr com.apple.quarantine <app-path>を実行するか、「いつでも開く」ダイアログを使用してください。 - 通常の使用にはコンパイルは不要です。リポジトリには上流Firefoxに適用されたパッチセットのみが含まれます。ソースからビルドするには、Firefox 153のソースを取得し、
additions/パッチを適用し、mach build && mach packageを実行します。
法的・責任に関する注意 本ツールはセキュリティ研究、承認されたテスト、CTF、または自社サービスとの連携を目的としています。ターゲットサイトを分析する権限を持っている必要があります。不正利用に関して著者らは一切の責任を負いません。
ライセンス – Mozilla Public License 2.0(上流Firefoxと同一)。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch