把 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
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论