报告内容
范围和背景
在列出任何发现之前,先说明测试内容、测试方式以及应用的功能。
执行摘要
用通俗的语言说明主要风险,从不安全的存储到注入漏洞。
代码级发现
每个发现都展示根本原因、漏洞代码和利用证据。
验证和修复
第二轮检查确认每个发现,随后给出建议的修复方案和参考资料。
带注释的发现
逐步解读一个发现
展示报告如何把一个发现从实际测试的构建版本一路跟到修复方案。每一步都标注了它在完整报告中的页码。
- 构建
AndroGoat 1.0 (1),包名 owasp.sat.agoat
报告通过 SHA-256 哈希确定所测试的 APK,并将其与公开的 AndroGoat 代码库的提交 1f38398 对应。
报告第 2 页 - 设备
Android 11 模拟器
动态测试在具有 root 权限的 Android 11(API 30)模拟器上运行,由代理安装并启动应用。
报告第 7 页 - 范围
仅 Android 应用,未提供测试凭据
于 2026 年 5 月 19 日至 20 日对 APK 进行的 Mobile Agentic Deep Scan。iOS、后端 API 和 Web 组件不在范围内。
报告第 2 页 - 流程
应用自身的登录界面
AndroGoat 没有服务器:其登录和 PIN 界面在设备上运行。代理追踪了这些界面如何处理用户输入的用户名和密码。
报告第 27 页 - 发现
高危:凭据以明文存储
用户名和密码以明文写入 SharedPreferences、一个 SQLite 数据库和临时文件,其中一个位于共享存储上。应用还启用了备份。
报告第 27 页 - 证据
可被其他用户读取的凭据文件
报告先展示存在漏洞的代码,再给出运行时证据:以其他用户身份读取 SD 卡上的凭据文件,得到了全部明文内容。
报告第 8 页 - 修复
加密,并避免将凭据放在共享存储中
立即关闭备份并加密已存储的数据。长期修复方案是将凭据迁移到基于 KeyStore 的 EncryptedSharedPreferences,并附代码示例。
报告第 29 页 - 验证
如何确认修复
在反编译后的应用中搜索以明文传给存储调用的凭据,并确认 adb 备份不再暴露可读的凭据文件。
报告第 29 页
代理如何判断
为什么这是真正的风险
扫描器会报告所有匹配规则的内容。代理在报告之前,会先确认一条线索是否会造成实际危害。以下是它对 AndroGoat 应用中一条线索的推理过程。
第 1 步
这个地址在应用里做什么?
应用资源文件 res/values/strings.xml 中包含一个 Firebase 数据库地址:androgoat-42597.firebaseio.com。
报告第 79 页



