Flutter APK 安全哨兵
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/flutter-apk-security-lr-zo51。
技能介绍
Flutter 应用发布后的 Android 产物通常是编译好的 APK 或 AAB 文件。对于安全工程师而言,审计这类黑盒产物极其耗时:核心 Dart 业务逻辑被编译进 libapp.so 原生快照中,而 UI 配置、声明权限和组件属性散落在解压后的 XML 与资源文件里。仅靠肉眼观察反编译代码,很难系统地追踪权限滥用、签名异常或内嵌密钥的风险。
工作流与核心能力
该技能是一个基于证据收集的 Agent 工作流,而非简单的自动化扫描器。它会首先在目标应用工程之外的临时目录中进行操作,确保完全隔离。其核心审查步骤包括:
- 只读提取:使用只读命令解压并检查产物,绝不修改、重签或删除原始文件。
- 证据记录:精确定位
manifest节点、证书主体、包名、权限列表以及原生库路径,提供可追溯的上下文证据。 - 自动获取:如果审查对象是已上架的公开应用,Agent 可以通过
apkeep自动拉取APK并继续后续审查流程。
适用边界与注意点
该技能坚持最小干预原则。它绝不会擅自更改用户应用的权限配置、签名状态、依赖项或生产环境发布策略。在提取并展示内嵌密钥(API Key 等敏感信息)时,系统会自动进行脱敏处理,仅展示用于标识的短前缀或后缀。此外,反编译得到的 Java/Kotlin/smali 代码仅作为安全审查的证据参考,不能被视为应用的真实源码。
使用场景
- 拿到 Flutter Android 发布 APK,需要确认权限、签名与 manifest 风险后给出可复现证据。
- 在能使用 apkeep 时,希望按应用包名或商店链接拉取 APK,再检查内嵌密钥与组件暴露。
- 需要审查 release 产物是否被篡改或重签,并记录证书主体、签名信号与文件路径证据。
- 团队要评估第三方 Flutter 应用的 manifest 权限和敏感字符串,但不想修改原始包。
适合人员
- 移动安全工程师:要为 Flutter Android 发布产物出具权限、签名和密钥风险的证据清单。
- Android 发布负责人:想在上线前核对 APK/AAB 的 manifest 与签名是否与预期一致。
- 应用商店审核员:需要对上架或待上架 Flutter 应用做只读取证审查,保留原始产物。
- 逆向工程师:要定位 libapp.so 中的原生快照线索,并区分反编译证据与真实源码。