把 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-directoragent_read / agent_send)读阶段结论、发方向修正;

  • 右:浏览器里的 DeepSeek v4 Pro worker 按指挥继续干活。左下角放大(下图):这一单任务里 director 总共只花了 22 分钟 / 1.4k tokens——这就是「成本拆分」的意义。

目标站点(已匿名)

轮次

Agent 净执行

某 AI 对话产品 · a_bogus

8 轮

103.5 min

某社区平台 · X-S / X-T / X-S-Common黑盒侦察 + 复刻

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

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐