文章总结: js-reverse-mcp是一个基于MCP协议的JS逆向工具,允许用户通过自然语言指令直接操作ChromeDevTools进行网页逆向分析。该工具提供23个功能模块,涵盖页面导航、脚本搜索、断点设置、函数追踪、网络请求分析等场景,内置反检测引擎可绕过知乎等站点的反爬机制。项目支持主流AI编辑器集成,通过trace_function可追踪webpack打包的内部函数调用,适用于加密参数分析、登录流程逆向等实战需求。 综合评分: 85 文章分类: 逆向分析,WEB安全,安全工具,渗透测试,爬虫
让 AI 帮你逆向 JS:js-reverse-mcp
原创
攻防路 攻防路
攻防录
2026年3月24日 20:23 北京
在小说阅读器读本章
去阅读
#
js-reverse-mcp 是一个 JS 逆向用的 MCP Server。装上之后,Claude Code、Cursor、Copilot 这些 AI 编辑器可以直接操作 Chrome DevTools——搜脚本、设断点、查调用栈,用自然语言就行。
比如你跟 AI 说”打开这个页面,搜所有包含 encrypt 的代码,在加密函数入口设个断点”,它真的会帮你做完。底层基于 Patchright 反检测引擎,知乎、Google 这种有反爬的站也能用。
截至 2026 年 3 月,这个项目在 GitHub 上约 417 颗 star。
它能做什么
一共 23 个工具,按功能分成六大类:
页面与导航
| 工具 | 作用 | | — | — | | select_page | 列出所有打开的页面,按索引切换调试目标 | | new_page | 创建新页面并导航到 URL | | navigate_page | 导航、后退、前进、刷新 | | select_frame | 切换 iframe 执行上下文 | | take_screenshot | 截图 |
脚本分析
| 工具 | 作用 | | — | — | | list_scripts | 列出页面加载的所有 JS 脚本 | | get_script_source | 获取脚本源码片段(支持行范围/字符偏移) | | save_script_source | 把完整脚本存到本地文件 | | search_in_sources | 在所有脚本里搜字符串或正则 |
断点与执行控制
| 工具 | 作用 | | — | — | | set_breakpoint_on_text | 通过搜索代码文本自动设断点,对压缩代码特别有用 | | break_on_xhr | 按 URL 模式设 XHR/Fetch 断点 | | remove_breakpoint | 移除断点,支持按 ID、URL 或全部移除 | | list_breakpoints | 列出所有活动断点 | | get_paused_info | 获取暂停位置、调用栈、作用域变量 | | pause_or_resume | 暂停/恢复执行 | | step | 单步调试(step over / into / out) |
函数追踪与注入
| 工具 | 作用 | | — | — | | trace_function | 追踪任意函数调用(包括 webpack 打包的内部函数),无需设断点 | | inject_before_load | 在页面加载前注入脚本,用于拦截和插桩 |
网络与 WebSocket
| 工具 | 作用 | | — | — | | list_network_requests | 列出网络请求 | | get_request_initiator | 获取网络请求的 JS 调用栈——就是找到是哪段 JS 发起了这个请求 | | get_websocket_messages | 列出 WebSocket 连接,查看消息内容和模式 |
检查工具
| 工具 | 作用 | | — | — | | evaluate_script | 在页面中执行 JavaScript,支持在断点上下文中运行 | | list_console_messages | 查看控制台输出 |
安装和使用
最简单的方式是用 npx,不需要手动安装。
前置条件:
- Node.js v20.19 或以上
- Chrome 浏览器
配置 MCP 客户端:
在你的 MCP 客户端配置文件里加上:
{
"mcpServers": {
"js-reverse": {
"command": "npx",
"args": ["js-reverse-mcp"]
}
}
}
各客户端的快捷方式:
Claude Code:
claude mcp add js-reverse npx js-reverse-mcp
Codex:
codex mcp add js-reverse -- npx js-reverse-mcp
VS Code Copilot:
code --add-mcp '{"name":"js-reverse","command":"npx","args":["js-reverse-mcp"]}'
Cursor 的话,在 Cursor Settings → MCP → New MCP Server 里粘贴上面的 JSON 配置就行。
加强反检测的配置(推荐对抗风控严格的站点):
{
"mcpServers": {
"js-reverse": {
"command": "npx",
"args": [
"js-reverse-mcp",
"--hideCanvas",
"--blockWebrtc"
]
}
}
}
连接已运行的 Chrome(适合用已登录的浏览器):
先启动带调试端口的 Chrome:
# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug
# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="%TEMP%\chrome-debug"
然后配置 MCP 连接:
{
"mcpServers": {
"js-reverse": {
"command": "npx",
"args": [
"js-reverse-mcp",
"--browser-url=http://127.0.0.1:9222"
]
}
}
}
实战场景
场景一:分析网页加密参数
你在抓包时发现某个接口的请求参数有加密字段,想找到加密逻辑。
跟 AI 说:
打开 https://target.com 并列出所有加载的 JS 脚本
在所有脚本中搜索包含 "encrypt" 的代码
在加密函数入口处设置断点
然后在页面上触发操作(比如点个按钮),断点命中后 AI 会自动帮你查看参数值、调用栈和作用域变量。整个流程不需要手动打开 DevTools。
场景二:追踪 webpack 打包的内部函数
现代网站基本都是 webpack 打包的,代码被压缩混淆到一个巨大文件里。传统方式要在压缩代码里手动找函数入口,非常痛苦。
trace_function 工具可以直接按函数名追踪调用,连 webpack 打包的内部函数都能追。比如:
使用 trace_function 追踪 webpack 打包的内部函数 "encryptData",
无需设置断点即可查看每次调用的参数
原理是通过 logpoint(日志断点)实现的——在函数入口自动插入日志点,记录每次调用的参数,但不会暂停执行。
场景三:WebSocket 协议分析
有些站点用 WebSocket 传数据,在 Network 面板里看 WS 消息比较麻烦,尤其是消息量大的时候。
列出 WebSocket 连接,分析消息模式,查看特定类型的消息内容
AI 会帮你归类消息类型、分析数据格式,比手动翻 WS 帧高效不少。
场景四:逆向登录流程
想分析一个网站的登录请求是怎么构造的,密码是怎么加密传输的。
- 用
inject_before_load在页面加载前注入拦截脚本,hook 关键 API - 打开登录页面
- 让 AI 搜索 “password”、”sign”、”token” 相关的代码
- 在关键函数设断点,执行登录操作
- 断点命中后检查参数传递过程
整个过程用自然语言指挥 AI 完成,连 DevTools 都不用打开。
和直接用 DevTools 比
| 维度 | 手动 DevTools | js-reverse-mcp | | — | — | — | | 操作方式 | 鼠标点击 + 快捷键 | 自然语言指令 | | 搜索效率 | 一个文件一个文件翻 | AI 批量搜索所有脚本 | | 设断点 | 得先找到代码位置 | 按代码文本搜索自动定位 | | 分析能力 | 纯人工 | AI 辅助理解代码逻辑 | | 反爬绕过 | 手动配置 | 内置多层反检测 | | 适合对象 | 经验丰富的逆向工程师 | 有 AI 编辑器的开发者 |
手动 DevTools 在灵活性和精细控制上仍然无可替代。但对于”搜代码、设断点、查参数”这类重复性劳动,交给 AI 省时间。
项目地址:https://github.com/zhizhuodemao/js-reverse-mcp
欢迎关注“攻防录”✨
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:攻防录 攻防路 攻防路《让 AI 帮你逆向 JS:js-reverse-mcp》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论