引言:一个被低估的攻击面
先问一个场景:你公司上架了一个微信小程序,功能正常、流量不错、用户活跃。但有没有人问过——这个小程序的包里,到底藏着什么?
做过移动安全的人都知道,APK 反编译是基本功。但微信小程序呢?它的代码同样在本地——以 .wxapkg 的格式静静躺在 %USERPROFILE%DocumentsWeChat Files 下。解包、反编译、翻代码,这套流程并不复杂,但很多团队根本没把它纳入安全审计范围。
问题在于:小程序的开发节奏往往快于 App,上线流程更短,安全意识更薄弱。API Token 硬编码、数据库连接串明文存储、云服务密钥随手写进去——这些在 App 开发中已经逐渐被规范的「低级错误」,在小程序里依然大量存在。
今天要聊的 MPScan,就是针对这个场景而生的一款工具。
一、MPScan 是什么
一句话概括:MPScan 是一款专门为微信小程序设计的自动化安全审计工具,实现了从包提取 → 反编译 → 敏感信息识别 → 风险可视化 → 报告输出的完整工作流。
它是 Windows GUI 应用,纯原生,不需要装 Python/Node.js/Java 这些运行时环境,解压双击就能跑。
看它的 GitHub 主页,v2.0.0 版本发布于 2026 年 4 月,仍然在活跃迭代。
核心理念很直接:小程序审计不应该是个体力活,也不应该依赖一堆命令行工具的拼凑。
二、技术拆解:它做了什么、怎么做的
2.1 核心工作流
微信客户端产生 .wxapkg
↓
MPScan 自动监控目录
↓
发现新包 → 触发反编译
↓
规则引擎扫描反编译产物
↓
高风险/中风险/低风险三级分类
↓
代码上下文预览 + 右键快捷操作 + CSV 导出
每一步的细节:
自动监控与反编译:工具实时监听微信小程序包的默认存放目录。当用户在微信中打开一个新小程序,.wxapkg 文件被写入磁盘的瞬间,MPScan 就会自动捕获、解包、反编译、启动扫描。做到「小程序刚打开,审计已经跑完」。
敏感信息识别:内置了专门针对微信生态和主流云服务的正则规则库,覆盖 20+ 类敏感信息:
| 类别 | 典型匹配项 |
|---|---|
| 微信生态 | AppSecret、支付密钥 mch_key、商户号 mch_id |
| 腾讯云 | SecretId、SecretKey、COS 配置、短信密钥 |
| 阿里云 | AccessKey ID/Secret、OSS 配置 |
| AWS | AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY |
| 其他云 | 七牛/华为/百度 AK/SK |
| 数据库 | MongoDB URL、MySQL 连接串、Redis 地址密码 |
| 通用密钥 | API Key、JWT Token、Bearer Token、私钥路径 |
| 内网信息 | 10.x/172.16.x/192.168.x 内网 IP、硬编码端点 |
风险分级与呈现:高/中/低危三级色彩标记,结果按严重程度排序。点击条目,中央面板展示命中代码行 ±20 行的上下文,方便人工研判是真实风险还是误报。
快捷操作:右键菜单支持复制内容、用记事本打开源文件、在资源管理器中定位文件——从发现到验证,路径很短。
报告导出:CSV 格式,编码兼容 Excel,中文不乱码,方便存档或向上汇报。
2.2 v2.0.0 值得关注的更新
v2.0.0 有两个关键变化:
小程序名称识别修复:之前很多小程序显示为
wxid或乱码,新版按照app-config.json → project.config.json → app.json的优先级解析名称,解决了识别问题——别小看这个,审计报告里全是乱码,没法跟业务方对齐集成 API-Explorer 工具:右下角新增快捷入口,双击启动同目录下的
API-Explorer.exe,方便对扫描发现的外部接口做进一步测试。把「发现」和「利用」串联起来,思路是对的
2.3 与同类工具的对比定位
市面上也有一些小程序解包工具,但 MPScan 的差异化在于:
一体化流程:不是「解包工具+手工 grep」,监控、反编译、扫描、展示都在一个界面里,降低了使用门槛
开箱即用:无依赖的 Windows exe,安全工程师不用在客户现场折腾环境
规则库针对性强:覆盖了微信生态+国内主流云服务+通用敏感信息,相比通用正则工具更贴合小程序场景
三、实践场景:什么时候用它
场景 1:上线前安全检查
小程序发布前,用 MPScan 扫描一遍,确认没有硬编码密钥、内网地址、调试接口泄露。这是一个性价比极高的安全卡点——成本几乎为零,收益是避免一次生产事故。
场景 2:外包交付验收
很多公司的小程序是外包开发的。交付阶段,扫描一遍代码中的硬编码和敏感信息,可以作为验收的质量门禁之一。
场景 3:红队测试的信息收集
对于渗透测试人员来说,小程序的代码可能包含后端 API 结构、鉴权方式、第三方服务配置等有价值的信息。MPScan 可以快速从包中提取这些线索,减少手动翻代码的时间。
场景 4:安全自查与合规
对于需要满足等保或行业合规要求的团队,小程序的安全审计是容易遗漏的环节。可以用 MPScan 做定期的批量扫描,纳入安全运营流程。
四、几点思考:工具虽好,不能替代判断
4.1 误报需要人工确认
MPScan 基于正则匹配,必然存在误报。比如一段 HTML 示例代码里的 access_key 配置、文档里的占位符秘钥,都会被检出。用户需要结合上下文判断——这也是工具设计时保留了代码预览面板的原因。
4.2 规则库需要持续更新
云端服务的 API 格式在变,新的服务类型不断出现。一个静态规则库的覆盖范围总是有限的。好消息是这个项目还在活跃迭代,规则库有持续更新的可能。如果项目支持自定义规则(目前文档未明确说明),将会是很大的加分项。
4.3 小程序审计只是起点
发现密钥硬编码之后,更重要的是推动修复——密钥轮换、敏感信息后端化、使用微信云开发的密钥管理能力,才是治本。MPScan 帮你发现「病」,但「治病」需要流程和制度配合。
项目地址
https://github.com/xjzhi/MPScan/
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……




还没有评论,来说两句吧...