把Frida、CDP、MCP串起来,微信小程序安全测试还能这么玩?

admin 2026-11-13 11:12:26 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

把 Frida、CDP、MCP 串起来,微信小程序安全测试还能这么玩?

原创

菜狗
菜狗

只会看监控的实习生

2026年11月10日 16:00
广东

去阅读

微信小程序渗透测试也能自动化了?这个开源工具把 Frida、CDP 和 AI 串起来了

做过微信小程序渗透测试的应该都知道,很多时候麻烦的不是漏洞本身,而是前期环境搭建。

微信版本不一样,偏移可能需要重新适配;Frida 注入、CDP 调试、接口分析又是不同的操作流程。想把这些东西全部串起来,往往需要自己写脚本、改配置,折腾半天才能开始测试。

最近在 GitHub 发现一个项目:WMP-pentest-automation。

它主要针对微信 PC 端小程序,把 Frida 注入、CDP 调试代理和 MCP 接口整合到了一起,还能接入 Claude Code 等 AI 工具,辅助开展小程序安全测试。

项目地址:

https://github.com/hello-xiaoniao/WMP-pentest-automation

一、这个工具主要解决什么问题?

先说一下它的整体思路。

传统的小程序测试流程中,通常需要自己处理微信客户端版本、Frida 注入、调试服务和代理配置。不同工具之间还需要手动衔接。

这个项目把这些环节拆开处理,再通过启动脚本串联起来。

主要包含几个部分:

组件 主要作用
WMPFDebugger 负责 Frida 注入
e0e1-wx 提供 CDP Debug Server 和 Proxy Server
偏移提取脚本 提取微信相关模块偏移
MCP Server 将调试能力提供给 AI
Claude Code 调用 MCP 工具辅助分析

它不是一个简单的接口扫描器,重点在于把小程序运行时调试环境搭建起来,让后续的安全分析更加方便。

二、几个比较实用的功能

1. 自动提取偏移

微信客户端升级之后,原来的 Frida 脚本可能会因为模块偏移变化而失效。

以前遇到这种情况,往往需要重新定位模块、分析地址,再手动修改脚本。

项目提供了 extract_wmpf_offsets.py,用于从 flue.dll 中提取相关偏移。

使用示例:

python extract_wmpf_offsets.py --version 25297

其中版本号需要根据实际微信版本填写。

这个功能主要是为了减少版本更新后的重复适配工作。不过,自动提取不代表所有偏移都一定正确,实际注入前还是要检查结果。

2. Frida 注入

项目使用 WMPFDebugger 处理 Frida 注入。

这里采用了 Frida-only 模式,把注入和后续调试服务分开处理。

这样做有一个好处:出现问题时比较容易排查。

例如:

  • Frida 脚本加载失败,先检查微信版本和偏移。
  • 注入成功但没有调试信息,检查后续调试服务。
  • AI 无法调用工具,则检查 MCP 服务和连接配置。

不用所有环节都混在一个脚本里排查。

3. CDP 调试代理

CDP 全称是 Chrome DevTools Protocol,也就是 Chrome 开发者工具使用的调试协议。

项目通过 CDP Debug Server 和 Proxy Server 提供小程序调试能力。

在实际测试中,可以利用这些能力观察运行时信息,进一步分析页面脚本、请求和相关调用行为。

例如,测试一个小程序时,可以从页面逻辑入手,观察它调用了哪些接口、请求参数是如何传递的,再结合后端响应分析业务逻辑。

这对于小程序接口分析、客户端逻辑研究和安全测试都有一定帮助。

4. MCP 接入 AI

这部分是项目比较有意思的地方。

项目通过 MCP Server 把调试能力开放给 AI 编程助手。

配置完成后,可以让 Claude Code 等支持 MCP 的客户端调用相关工具,不需要每次都手动执行相同的调试操作。

例如,可以让 AI 辅助完成:

  • 梳理小程序页面和脚本信息。
  • 分析页面与接口之间的调用关系。
  • 整理请求参数和响应数据。
  • 查找可能存在敏感信息暴露的位置。
  • 根据收集到的证据整理测试记录。

这里需要注意,AI 只是辅助分析。发现接口不代表存在漏洞,是否存在越权、鉴权缺失等问题,还需要结合实际业务和授权环境验证。

三、环境准备

项目主要面向 Windows PC 端微信环境。

环境 要求
操作系统 Windows 10 / 11
微信 PC 版 4.x 及以上
Python 3.10+,推荐 3.12
Node.js 20 LTS
内存 建议 16 GB 及以上

另外,项目涉及 flue.dll 偏移提取,相关操作可能消耗较多内存,配置太低的虚拟机不一定适合直接运行。

四、实际启动流程

环境准备好之后,按照项目说明依次启动即可。

第一步:启动 WMPFDebugger

进入 WMPFDebugger 目录,运行:

一键启动.bat

等待控制台出现类似提示:

[frida] script loaded, WMPF version: xxx

说明 Frida 脚本已经加载。

第二步:启动调试引擎

进入 e0e1-wx 目录,执行:

python start_engine.py

正常情况下会看到类似输出:

[OK] debug server (9421) + proxy server (62000) started

此时 Debug Server 和 Proxy Server 已经启动。

第三步:打开微信小程序

启动微信 PC 版,正常打开需要测试的小程序。

这里要注意,应该通过微信客户端正常打开目标小程序,再进行后续调试。

第四步:启动 MCP Server

在 e0e1-wx 对应目录中执行:

python main.py

正常情况下,MCP Server 会监听本地 49999 端口。

第五步:接入 Claude Code

执行:

claude mcp add wxcdp --transport http http://127.0.0.1:49999/mcp

添加完成后检查 MCP 服务是否连接成功,再让 Claude Code 调用对应的工具。

五、端口整理

启动过程中如果遇到连接失败,可以先检查下面几个端口:

端口 用途
9421 Debug Server
62000 Proxy Server
49999 MCP Server

排查时可以先确认对应进程是否正常运行,再检查端口是否被其他程序占用。

六、实际可以用来做什么?

如果是做小程序安全测试,我觉得下面几个方向比较值得研究:

1. 小程序接口分析

结合运行时调试信息,观察页面调用的接口、请求参数和响应数据,为后续接口安全测试提供线索。

2. 业务逻辑分析

研究小程序前端的页面逻辑、参数传递和接口调用过程,辅助排查可能存在的业务逻辑问题。

3. 敏感信息排查

检查授权测试环境中的运行时数据和客户端资源,排查不应该暴露的配置、凭据和敏感信息。

4. AI 辅助分析

让 AI 帮忙整理页面、接口和调试信息,减少重复性操作,把更多时间放在漏洞验证和业务逻辑分析上。

当然,自动化工具不能代替人工判断,最终还是要结合实际请求、响应和业务规则确认漏洞。

七、使用前需要注意

  • 微信版本发生变化后,需要重新检查偏移适配情况。
  • 建议使用独立测试环境和专门的测试账号。
  • Frida 注入、客户端调试可能受到微信版本及系统环境影响。
  • MCP 服务建议只监听本地地址,不要随意暴露到公网。
  • 仅对自己拥有或获得授权的小程序进行测试。

最后

这个项目比较实用的地方,是把微信 PC 端小程序测试中几个比较麻烦的环节串联起来了。

以前需要自己处理 Frida 注入、偏移适配和调试代理,现在可以通过项目提供的脚本和服务完成环境衔接,再通过 MCP 接入 AI 辅助分析。

项目地址:

https://github.com/hello-xiaoniao/WMP-pentest-automation

评论:0   参与:  0