AI 前端逆向终极神器!AntiDebug MCP 实战:告别 debugger 无限循环、破解 JS 加密与 Vue 隐藏路由
在 Web 前端安全分析与渗透测试中,开发者和安全人员经常遇到各种让人头疼的“绊脚石”:页面一打开控制台就陷入死循环的 debugger 陷阱;console.log 被重写清空;请求参数在客户端被复杂算法(如 CryptoJS、JSEncrypt)二次加密;Vue/React 单页应用(SPA)后台隐匿着大量未挂载的动态路由。
以往面对这些场景,我们需要手动安装各种油猴脚本、重写 JS 源码、打条件断点,甚至在 DevTools 里一层层抠闭包栈。
AntiDebug MCP (AntiDebug_Breaker_mcp) 的出现,彻底重构了这一工作流!它是一个专门面向前端 JS 逆向与安全分析的开源 Chrome 插件,结合了 Model Context Protocol (MCP) 协议,让 Cursor、Trae、Qoder 等 AI 工具能够直接“看见”并“操控”浏览器运行环境,实现自动化感知、脚本注入、Hook 定位与算法提取。
为什么前端逆向到了 AI 时代需要重构工作流?
传统的 Web 逆向过程存在严重的信息孤岛与操作割裂:
1. 反调试陷阱重重:目标网站常用 setInterval 定时执行 debugger 或检测 window.outerWidth 与 innerWidth 的差值。一旦检测到开发者工具打开,就会触发死循环或自动跳转空白页。
2. 算法定位繁琐:遇到登录或敏感接口加签(sign / token / nonce),需要从 XHR/Fetch 入口打断点,沿着臃肿压缩的 .js 堆栈追寻几十层闭包。
3. 与 AI 工具脱节:过去我们要把复杂的堆栈截屏或复制成几千行 JS 代码塞给大模型,模型缺乏真实的运行上下文,往往只能凭空“盲猜”。
通过 MCP 协议,AI Agent 可以获得直接调用浏览器能力的权限:让 AI 自动化执行反调试绕过、精准开启 CryptoJS/JSEncrypt 密钥拦截、提取全量 Vue Router 内存路由,并将分析结果实时反馈到对话框中。
AntiDebug MCP 四层分层架构解析
AntiDebug_Breaker_mcp 并不是一个孤立的脚本,而是一套高度协同的浏览器内分析基础设施。其底层架构划分为以下四个清晰的层级:
| 架构层级 | 核心文件 / 模块 | 功能与职责描述 |
|---|---|---|
| 页面注入层 | content.js / scripts/*.js |
在 document_start 页面早期加载阶段注入,向主运行世界植入反调试及 API Hook 脚本 |
| 扩展后台层 | background.js |
负责全局模式切换、脚本动态注册、全局 Headers 注入与 Chrome 扩展状态持久化 |
| MCP 客户端层 | mcp-client.js |
运行于扩展侧,与本地 MCP Server 建立 WebSocket 长连接,将 AI 命令译码为浏览器操作 |
| MCP Server 层 | mcp-server/src/index.ts |
基于 TypeScript 编写,向 AI 暴露 76+ 个标准化 MCP 工具接口,处理 stdio 协议通信 |
系统的运行通信链路如下图所示:



源码中 MCP Server 注册了高达 76 个 专属工具函数,完整覆盖了 DOM 操作、网络抓包、Storage 读取、Vue 路由提取、Crypto 加密分析与敏感字段扫描。
反调试绕过与 API Hook 底层原理剖析
1. 动态清洗反调试 debugger
目标网页防止调试的核心手段往往是重载 eval 或通过构造函数动态生成代码。Bypass_Debugger.js 在页面最早期注入以下代理逻辑:
// 示例:动态函数与构造器 Hook 剥离反调试代码
(function() {
const nativeFunction = window.Function;
window.Function = function(...args) {
if (args.length > 0 && typeof args[args.length - 1] === 'string') {
let code = args[args.length - 1];
if (code.includes('debugger')) {
// 清洗构造函数中的 debugger 关键词
code = code.replace(/debugger/g, '/* bypassed by AntiDebug MCP */');
args[args.length - 1] = code;
}
}
return nativeFunction.apply(this, args);
};
window.Function.prototype = nativeFunction.prototype;
})();
通过重写 eval、Function 和 Function.prototype.constructor,脚本能在动态字符串解开的第一时间剔除 debugger 关键字,确保 DevTools 打开时页面不卡死。
2. 传统逆向 vs 扩展+MCP+AI 模式对比
| 维度 | 传统纯浏览器面板模式 | 扩展 + DevTools 模式 | 扩展 + MCP + AI 自动化模式 |
|---|---|---|---|
| 反调试处理 | 手动寻找并右键“Deactivate breakpoints” | 注入油猴脚本重写 eval |
自动化注入,AI 感知异常并秒级解除 |
| 加密定位 | 手动在 XHR 发送处打断点单步调试 | 在控制台手写 Hook 代码打印日志 | 自动 Hook CryptoJS/RSA,AI 直接输出加解密明文 |
| 路由挖掘 | 检查 Network 逐个点击页面 | 在 Console 打印 router.options.routes |
AI 一键调用工具导出结构化 JSON 路由树 |
| 效率与输出 | 高度依赖人工经验,零文档产出 | 需手动整理报告 | AI 实时完成“抓包-分析-还原算法-编写复现脚本” |

Vue 路由挖掘与动态 Headers 请求头管理
在对单页应用(SPA)进行授权渗透或接口盘点时,防守方常会将管理员页面入口从导航栏隐去。
AntiDebug MCP 提供了针对 Vue.js 的专属运行时扫描机制:
// Vue Router 运行时内存遍历核心逻辑
function extractVueRoutes() {
const root = document.querySelector('#app') || document.querySelector('#root');
if (!root || !root.__vue__) return [];
const router = root.__vue__.$router;
if (!router) return [];
return router.getRoutes().map(r => ({
path: r.path,
name: r.name,
meta: r.meta,
components: Object.keys(r.components || {})
}));
}
此外,扩展内置了类似于 ModHeader 的请求头管理模块,支持创建“测试环境”、“低权限角色”、“多租户 Tenant”等分组。AI 可以通过 MCP 接口动态添加 Authorization 或 X-Custom-Token,实现自动化越权或多角色测试。
从零搭建:AntiDebug MCP 配置实战指南
Step 1: 克隆仓库与安装扩展
1. 克隆官方代码库:bashgit clone https://github.com/vs-olitus/AntiDebug_Breaker_mcp.gitcd AntiDebug_Breaker_mcp
2. 打开 Chrome 浏览器,访问 chrome://extensions/。
3. 开启右侧的“开发者模式”。
4. 点击“加载已解压的扩展程序”,选择 AntiDebug_Breaker_mcp 项目根目录。
Step 2: 编译与部署 MCP Server
进入 mcp-server 目录并完成构建:
cd mcp-server
npm install
npm run build
编译成功后,将在 dist/index.js 生成可执行文件。
Step 3: 配置 AI 客户端(Trae / Cursor)
在 Trae 或 Cursor 的 mcpServers 配置文件中添加如下节点:
{
"mcpServers": {
"AntiDebug_Breaker_mcp": {
"command": "node",
"args": [
"C:/your/path/AntiDebug_Breaker_mcp/mcp-server/dist/index.js"
],
"env": {
"MCP_PORT": "9527"
}
}
}
}
Step 4: 激活通信
打开浏览器扩展面板的 MCP 选项卡,勾选“启用 MCP”。如果希望 AI 跨标签页匹配目标,可同步开启“全局操作模式”。
在 AI 客户端中发送指令测试通信:
“请调用 AntiDebug_Breaker_mcp 获取当前浏览器的页面状态与基本信息。”
若成功返回当前 Tab 的 URL、Title 和 Domain,即表示长连接建立成功!
四大硬核实战场景
场景一:突破无限 debugger 与页面卡死
当遇到打开控制台即陷入无限循环或控制台被 console.clear() 定时清空的网站时,让 AI 执行:
“开启 Bypass Debugger 与 Anti-Clear 功能,重新加载页面并保持分析。”
场景二:登录接口加密参数逆向还原
测试目标登录接口发现请求体中包含 sign 和 encryptedData:
“请启用 CryptoJS 和 JSEncrypt Hook,捕捉下一次登录点击的明文输入与输出调用栈,并帮我归纳加密算法和密钥。”
场景三:Vue 后台未授权接口挖掘
“提取当前 Vue 应用路由列表,检查所有含有
admin或manage的路由路径,整理出 API 对应清单。”
场景四:自动化多租户 Header 注入
“帮我创建一个名为
Tenant_Test的 Headers 分组,注入X-Tenant-Id: 10086,并启用该配置进行并发测试。”
生产环境安全合规与边界警告
[!WARNING] 1. 授权测试红线:AntiDebug MCP 具备极强的前端感知与 Hook 能力,仅可用于合法授权的安全测试或自有项目的调试逆向。 2. 敏感凭证防泄漏:自动修改请求头或读取
[xss_clean]时,请确保在测试环境中进行,严禁将生产环境真实的 Token/Session 直接推送到未受信任的大模型上下文中。 3. 避免全局混淆:测试完毕后建议关闭扩展的“全局操作模式”,防止影响正常的网页浏览。

长按二维码关注 “边学边练”
硬核技术实践 / AI 工具前沿 / 全栈架构探索
💻 配套实训环境与动手练习
本文涉及的相关技术指令、开发环境与工具链已内置在边学边练在线实验室中,无需繁琐安装配置,随时在浏览器中实践体验: