Flutter Secret Exposed 是一个用于分析 Flutter APK 文件,并从中提取潜在敏感环境变量配置的工具。本工具旨在帮助开发者和安全研究人员识别和审计其应用程序中可能意外暴露的秘密信息,从而提高应用程序的安全性。
请注意:本工具仅供教育研究和技术学习使用,严禁用于非法入侵、数据窃取等违法行为。违反相关法律法规将承担法律责任。使用前请确保已获得合法授权。开发者不承担用户滥用导致的任何责任。
.apk 文件转换为 .zip 格式并进行解压,以便访问其内部文件结构。.env 文件扫描:自动在解压后的 Flutter 项目资产中查找常见的 .env 配置文件(如 .env, .env.dev, .env.production 等)。.env 文件,将直接打印其内容,帮助用户快速审查潜在的敏感配置。在项目根目录下执行以下 Maven 命令进行构建:
mvn clean install
这将在 target/ 目录下生成一个可执行的 JAR 文件,例如 flutter_secret_exposed-1.0-SNAPSHOT.jar。
构建成功后,可以通过以下命令运行程序:
java -jar target/flutter_secret_exposed-1.0-SNAPSHOT.jar
Flutter Secret Exposed。1. 扫描 APK 文件中的 .env 配置。extracted 文件夹。assets/flutter_assets/ 目录下查找 .env 文件。如果找到,其内容将直接显示在控制台中。下面是一次真实的运行日志,展示了对某个 APK 文件的分析过程(敏感信息已做脱敏处理):
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:06 | ┌──────────────────────────────────────────────────────────────
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:06 | │ Flutter 秘密暴露 (1.0.0)
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:06 | │ 作者: 钟智强
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:06 | └──────────────────────────────────────────────────────────────
...
📁 请输入 APK 文件路径: '/Users/ctkqiang/Dxxxxxxxxx/xxxx-xxxxxxxxxx.apk'
📂 请输入解压目录 [默认: ./extracted]:
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:21 | 🚀 开始扫描 APK 文件...
...
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:23 | ==================================================
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:23 | .env.dev
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:23 | ==================================================
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:23 | ENVIRONMENT=develop
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:23 | ENV_TYPE=D
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:23 | APP_NAME="xxxx xxxx xxxx"
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:23 | BASE_URL=xxxxxxxxxx
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:23 | API_URL_MY=$BASE_URL.com
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:23 | APPIER_IS_SANDBOX=true
ctkqiang | Flutter 秘密暴露 [info] | 2025-11-08 23:05:23 |
...
注意:日志中的敏感信息(如域名、App ID 等)已用 xxxx 进行脱敏处理,实际运行时会显示真实内容。
.
├── .gitignore
├── pom.xml
├── src/
│ └── main/
│ └── java/
│ └── xin/
│ └── ctkqiang/
│ ├── constant/
│ │ └── FilePath.java
│ ├── controller/
│ │ ├── FileUtilities.java
│ │ ├── Logger.java
│ │ └── interfaces/
│ │ └── AttackPath.java
│ └── FlutterSecretExposed.java
└── docs/
├── class_diagram.puml
├── flow_diagram.puml
└── sequence_diagram.puml

钟智强
1.0.0
这不仅是个工具,也是我热爱的安全世界的一部分 ❤️
build.gradle.kts)文件的反编译与敏感信息提取AndroidManifest.xml 源码级反编译,并高亮展示潜在暴露的组件与权限## 许可证
本项目采用 木兰宽松许可证 (Mulan PSL) 进行许可。
感谢您使用本项目!您的支持是开源持续发展的核心动力。
每一份捐赠都将直接用于:
✅ 服务器与基础设施维护(魔法城堡的维修费哟~)
✅ 新功能开发与版本迭代(魔法技能树要升级哒~)
✅ 文档优化与社区建设(魔法图书馆要扩建呀~)
点滴支持皆能汇聚成海,让我们共同打造更强大的开源工具!
(小仙子们在向你比心哟~)
🔵 支付宝(小企鹅在收金币哟~) |
🟢 微信支付(小绿龙在收金币哟~) |
🙌 感谢您成为开源社区的重要一员!
💬 捐赠后欢迎通过社交平台与我联系,您的名字将出现在项目致谢列表!