JS 逆向自动化在真浏览器里取证并交付调用接口
用户要定位前端加密函数(登录密码、请求签名、表单字段、响应解密),并且想把结果做成可复用的服务、接到 Burp 里时,用这个 Skill。底层是开源的 js-reverse-automation--skill(Apache-2.0):通过 chrome-devtools-mcp 连接真实浏览器,自动定位加密入口,生成 JSRPC 注入代码、Flask 代理和 Burp autoDecoder 对接文档。
触发
用户说"这个登录密码是怎么加密的""请求里的 sign / token / enc 怎么来的""把这段加密逻辑封装成接口""接到 Burp 里自动加解密"。
硬性规则
- 只分析你自己的目标,或有明确授权的目标。 授权范围不清楚,先停下来问用户,不要先动手。
- 不对线上系统做扫描、攻击、绕过付费或访问控制、拒绝服务。 只读分析和本地分析优先。
- 装东西、改配置之前先说一声,用户同意后再做。
- 结论分三类: 亲眼看到的(带文件和位置)、推断的、没找到的(写"未知",不写"不存在")。
- 不输出、不记录找到的密钥和令牌的完整内容,只报告它在哪里。
- 只对自己的站点或获得授权的测试目标做。 目标地址、参数都由用户提供,不自己找目标。
- 用完必须关掉 JSRPC 和 Flask 服务,按输出里的指示操作,别让它们留在后台。
- 遇到反调试、反 Hook、JSVMP 等对抗信号,先观察再干预:先跑对抗运行时探针,确认有明确信号才进入干预模式或源码插桩。
安装
- 在 Skill 目录里安装 Python 依赖:
python3 -m pip install -r requirements.txt
- 安装浏览器 MCP(按你用的 Agent 选一条,装之前先问用户):
claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest # Claude Code
codex mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest # Codex
gemini mcp add chrome-devtools npx -y chrome-devtools-mcp@latest # Gemini
- 把仓库里的
js-reverse-automation目录放进 Agent 的 Skill 目录。
输入格式
Target URL: https://目标地址/login
Parameters To Analyze: password
Optional Fetch Example: fetch("https://目标地址/api/login", {"body":"...","method":"POST"})
第一次使用,建议带上 jsrpc 路径,后面的流程更稳。
流程(Phase 0 到 9)
- 预分析 Fetch 示例(如果有):提取算法、参数格式、目标地址。
- 打开页面,注入 Hook,触发目标动作。
- 捕获网络请求,定位加密函数(8 个维度给候选打分,再用真实样本和差分验证)。
- 注册 JSRPC,生成 Flask 代理和 Burp 产物。
- 验证并按标准格式输出。
第一次运行会生成产物文件夹,里面有证据图、加密候选评分、四层校验报告、JSRPC 和 Flask 状态、浏览器取证验收等文件,用 analysis_result.json 作为各阶段之间的契约。
输出格式
- 明文、密文或签名、最终请求、服务端响应。
- JSRPC 注入代码、Flask 代理、Burp autoDecoder 配置。
- 验证报告,以及哪些环节没通过。
- 提醒用户:先验证有效,再配置 Burp,最后关掉 JSRPC 和 Flask。

评论(0)
还没有评论,来说第一句。