把 JS 逆向 Agent 装进了浏览器内核
把 JS 逆向 Agent 装进了浏览器内核
过去做 JS 逆向,往往要在 AI IDE 里拼一套工具链才能开工。现在这套能力被直接焊进了一个定制 Firefox——侧栏常驻一个 AI 逆向 Agent,观测点下沉到 SpiderMonkey 的 C++ 引擎内核,把目标接口丢给它就行。它是个通用逆向浏览器,不为任何站点定制,下文案例均为测试样例。两种打法:简单站用 DeepSeek 全自动几分钟跑通;难站让 DeepSeek 主导、再用 GPT / Opus 经 MCP 接管纠方向。
一、先说这是什么
Firefox-Reverse 是一个内置了 AI 逆向 Agent 的通用逆向浏览器。给它「站点 + 接口 + 目标参数」,它会像一名逆向工程师那样自己来:抓包 → 在代码里定位加密逻辑 → 在引擎层打点观测 → 补运行环境 → 写脚本 → 实打接口验证。最终产物是一段脱离浏览器、可独立运行的 Node.js / Python 纯算法。
侧栏 Agent · 首屏

侧栏常驻 Agent,进会话先选工作模式,底部标着「已接入 41 个工具」。
为什么这事一直很难?因为网站请求里那个加密参数——签名 sign、令牌 token、风控指纹——往往被层层保护:

二、和常见做法比,变了什么
常见的 JS 逆向工作流,是在 AI IDE 里外挂一堆工具拼出来的:编辑器当大脑,配上方法论和一个被外部驱动的浏览器来抓包调试。能用,但要自己装配,而且 hook 多在页面 JS 层。Firefox-Reverse 把这些收进了一个浏览器。
|
维度 |
常见做法:外挂工具链 |
现在:Firefox-Reverse |
|---|---|---|
|
形态 |
编辑器 + 插件 + 外部浏览器,手动拼装 |
一个浏览器,开箱即用 |
|
Agent 在哪 |
跑在外部 AI IDE 里 |
焊进浏览器侧栏,常驻父进程 |
|
浏览器的角色 |
被外部协议驱动的「工具」 |
就是运行现场本身 |
|
观测层 |
多在页面 JS 层 hook,可能被反射 / 检测 |
下沉到 C++ 引擎内核,页面无感 |
|
上手 |
配编辑器 + 装插件 + 起外部服务 |
下载装好、配个大模型 Key |
一句话概括这次的变化:把「从外部驱动浏览器的 Agent」,变成了「住在浏览器引擎里的 Agent」。
三、引擎层的「上帝视角」
这是它最关键的差异点:核心观测都在 SpiderMonkey 的 C++ 内核里做,页面 JS 反射不到、也检测不出来。对抗反调试 / 反 hook 的强站点时,这种「从内核往外看」的视角尤其值钱。

这些都是页面 JS 反射不到、检测不出的视角。下面用两个测试样例看它怎么打——一个简单站全自动跑通,一个难站靠强模型接管啃下来。
四、选模型、选模式,还能让强模型接管
Agent 支持 DeepSeek、智谱 GLM、Kimi(Moonshot)、MiniMax、通义千问(Qwen)、Claude、OpenAI,或任何 OpenAI / Anthropic 协议兼容的自定义端点(填 baseUrl + token + 模型名即可)。日常逆向首选 DeepSeek v4 Pro——成本和效果的平衡最好。开跑前先选它怎么跟你配合:
|
⚡ 全自动 |
🧭 AI 辅助 |
|
|---|---|---|
|
节奏 |
给目标 → 一条龙跑到底 |
先出方案 → 逐阶段停 → 你选方向 |
|
打扰 |
中途不打扰,完成才停 |
每做完一个阶段就停下汇报、给方向选项 |
|
适合 |
简单站、目标清晰、信任模型 |
复杂站、想边看边学、想把控方向 |
选「AI 辅助」,每个阶段节点都得有人给 Agent 把方向。这个「领航」可以是你自己,也可以是另一个强模型——两种玩法:


配套 frx-director-mcp(开箱即用):接好 MCP 后,把它 README 里「🟢 一键贴给你的 AI」整段复制给你的 director,它会自检环境、缺啥一句话引导你补齐,然后自动建目录 / 选 AI 辅助 / 新建会话 / 下任务 / 读结论 / 回发方向修正,循环到出结果——你只需在它问的时候给目标站。
五、案例一:简单站,全自动 4 分钟跑通
DeepSeek v4 ProAI 全自动
目标:某潮玩交易平台的列表接口,请求头里带两个签名字段 X-Request-Sign 和 X-Request-Timestamp,少一个、错一个都会被服务端拒掉。要求:用 Node.js 还原这套 header 的生成算法,脱离浏览器也能请求成功拿到数据。
第一步 · 把目标贴给它

选「全自动」,把站点、接口、目标参数、输出要求一次性贴进去。
它自己跑的流程(全程无人值守):

② 定位 · 在混淆代码里摸到签名函数

Agent 自主用 code_search 定位到 HMAC 实现函数、签名主体与取密钥的入口。
③ 挖出密钥(已打码)

Agent 从混淆代码里挖出了写死在前端的签名密钥(生产 / 开发各一套),并确认签名算法是 HMAC-SHA256。
还原出来的算法(只讲结构,不放可直接运行的实现):


完成 · 实打 200,跨接口验证通过

本地脚本实打接口返回 200 与真实列表数据,同一套算法在 3 个不同接口上都验证通过。
15:20 开始,15:24 结束。两条它自己踩出来、并记下来的坑:header 名必须全小写、POST body 不参与签名。这种细节正是手动逆向最耗时的地方。
任务只要求做到「黑盒可用」,它实际直接做到了「白盒纯算」。这正是它设计里的二阶段思路:

六、案例二:难站,强模型经 MCP 接管纠正
DeepSeek 主导Opus 4.8 经 MCP 纠正
遇到 JSVMP / 强风控的硬站,DeepSeek 单独跑容易在死胡同里打转。这时让 Opus 4.8(或 GPT)经 frx-director-mcp 接管:浏览器里先配好 DeepSeek 的 Key,由强模型经 MCP 建目录、选「AI 辅助」、新建会话、输入目标;每当 DeepSeek 抛出阶段性结论,强模型用专业的 Web 逆向经验纠方向,让它继续,直到打通。便宜模型省 token,强模型保方向。
MCP 接管 · director 指挥 worker(实拍)


-
左:Claude Opus 4.8 在 Claude Code 里经
frx-director(agent_read/agent_send)读阶段结论、发方向修正; -
右:浏览器里的 DeepSeek v4 Pro worker 按指挥继续干活。左下角放大(下图):这一单任务里 director 总共只花了 22 分钟 / 1.4k tokens——这就是「成本拆分」的意义。
|
目标站点(已匿名) |
轮次 |
Agent 净执行 |
|---|---|---|
|
某 AI 对话产品 · |
8 轮 |
103.5 min |
|
某社区平台 · |
6 轮 |
92.9 min |
| 合计 | 14 轮 |
≈ 3.3 小时(Agent 净执行) |
这几个是 JSVMP / 强风控里常见的硬目标,作为测试样例,用「便宜模型干活 + 强模型领航」的组合跑通了。工具面向通用 JS / JSVMP / WASM / 签名,不为特定站点定制;能不能打通,仍取决于目标本身的复杂度。
注:预算充足的话,也可以在浏览器里直接把 Opus 4.8 配成 worker 全程跑,跳过成本拆分这一步——上面的组合只是更省的方案。
七、41 个工具,分 11 类
整个过程里,Agent 就是在下面这 41 个工具之间自主编排——抓包、搜代码、引擎打点、跑 Node、写文件、记笔记,一气呵成。

八、怎么用 · 五步上手
不用编译、不用配环境,下载安装包就能跑(Win / macOS / Linux 三端):

配置大模型 Key

模型接入页:上文提到的 7 家模型与任意兼容端点都在这里配,Key 只存本地,不上传。
贴目标的格式很直白,照着填就行:
【站点 URL】 https://example.com/list【接口 URL】 GET https://api.example.com/v1/list?page=1【目标参数】 请求头里的 X-Request-Sign / X-Request-Timestamp【输出】 Node.js 纯算签名脚本,脱离浏览器请求成功
几个让它更耐用的工程细节:

九、最后
从「拼一堆工具」到「一个浏览器」,真正变了的不是模型有多强,而是把整条逆向流水线和观测视角都搬进了引擎内部,还能让强模型经 MCP 接管领航——AI 少绕路,人少搭环境。简单站 DeepSeek 用 4 分钟、两毛六跑通全流程,难站靠「便宜模型干活 + 强模型纠方向」啃下来。
⚖️ 本项目面向安全研究、接口对接、授权测试。仅可在你拥有合法授权的目标上使用,不得用于未授权访问或绕过他人系统的安全机制。文中案例均为测试样例,站点、密钥、接口均已脱敏、不可还原。
firefox-reverse:github.com/WhiteNightShadow/firefox-reverse
frx-director-mcp:github.com/WhiteNightShadow/frx-director-mcp
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)