WhiteNightShadow/firefox-reverse
🦊 内置 AI 逆向 Agent 的 Firefox — 通用 JS/JSVMP/WASM/签名逆向工作站,SpiderMonkey 引擎层非侵入 trace,把加密参数从黑盒还原成不依赖浏览器的纯算法
Firefox‑Reverse – AI‑powered reverse‑engineering browser
What it is – A custom build of Firefox (v153) that ships with a built‑in AI Agent (the reverse agent) and a fingerprint‑environment manager. The agent lives in a permanent sidebar and can automatically reverse‑engineer encrypted request parameters (signatures, tokens, risk‑fingerprints) that websites generate with obfuscated JavaScript, JSVMP bytecode, or WebAssembly. It then outputs a stand‑alone Node.js or Python implementation that reproduces the same parameter outside the browser.
Key capabilities
- AI Agent – 66 registered tools for page automation, network capture, code search, WebAPI tracing, JSVMP/WASM inspection, file I/O, and environment control. Works in two modes: full‑auto (the agent runs end‑to‑end) or AI‑assisted (the agent proposes steps and the user confirms).
- Fingerprint environments – Each environment gets its own Firefox profile, separate process, and dedicated Marionette port, guaranteeing isolated cookies, storage, and a custom browser fingerprint (Navigator, Screen, DPR, UA‑CH, WebGL vendor/renderer, etc.). Environments can be created, imported, edited, opened, closed, or deleted from the sidebar.
- Engine‑level observation – Hooks into SpiderMonkey/Gecko C++ internals to trace signature‑function arguments, JSVMP instruction streams, WASM import boundaries, and branch‑level differences between the real browser and the reproduced Node/Python code. This avoids fragile in‑page monkey‑patching.
- Model‑agnostic – Supports a long list of LLM providers (DeepSeek, GLM, Kimi, MiniMax, Qwen, Claude, OpenAI) and any OpenAI/Anthropic‑compatible endpoint. API keys are stored locally and used directly by the browser.
- Result persistence – Sessions, generated scripts, notes, and tool outputs are saved in a user‑chosen working directory. Sessions can be exported/imported as
.frx‑chat.json(without API keys). - Two‑stage output – First a black‑box usable version (Node/Python that runs the original WASM/JSVMP with a mocked environment) and optionally a white‑box pure‑code version that re‑implements the algorithm without the original binary.
Quick‑start (5 steps)
- Download the appropriate installer from the Releases page (Windows exe/zip, macOS dmg, Linux tar.xz).
- Open the AI sidebar – click the star‑shaped “Firefox‑Reverse” icon in the top‑right.
- Configure a model – in the sidebar settings add a named configuration with provider, API key, and model name.
- Create a new session – choose Full‑auto or AI‑assisted.
- Describe the target – give the page URL, the API request you want to reproduce, and the name of the encrypted parameter. The agent will capture the request, locate the generation code, mock the required browser environment, and produce a runnable script.
Fingerprint environment workflow
- Open the Environment tab in the sidebar → Create new (or import a
fingerprint.json). - The environment gets its own profile folder under
~/.firefox-reverse/environmentsand a fresh Marionette port. - Switch to the environment by clicking Open; the browser restarts with the selected fingerprint.
- Changes to the fingerprint require closing and reopening the environment (or restarting the whole app for the main process).
Installation notes
- macOS builds are self‑signed; the first launch may be blocked. Run
xattr -dr com.apple.quarantine <app‑path>or use the “Open Anyway” dialog. - No compilation is required for normal use; the repo only contains the patch set applied to upstream Firefox. Building from source involves pulling Firefox 153 source, applying the
additions/patches, and runningmach build && mach package.
Legal / responsible use The tool is intended for security research, authorized testing, CTFs, or interfacing with your own services. Users must have permission to analyze the target site; the authors are not liable for misuse.
License – Mozilla Public License 2.0 (same as upstream Firefox).
Related
- Project
- Project
- Project
- Project
- Dispatch