看看移动端 Agentic Deep Scan 报告是什么样子

这是对 AndroGoat(一款用于 OWASP 培训、故意设置漏洞的 Android 应用)扫描的完整、未经编辑的报告。它展示了每个发现如何追溯到漏洞代码、加以验证并修复。

目标
AndroGoat(Android)
扫描
Mobile Agentic Deep Scan
篇幅
200 页
结果
整体风险:高

基于故意设置漏洞的培训应用,不含任何客户数据。

包含漏洞代码的发现方法论封面和风险等级

报告内容

范围和背景

在列出任何发现之前,先说明测试内容、测试方式以及应用的功能。

执行摘要

用通俗的语言说明主要风险,从不安全的存储到注入漏洞。

代码级发现

每个发现都展示根本原因、漏洞代码和利用证据。

验证和修复

第二轮检查确认每个发现,随后给出建议的修复方案和参考资料。

带注释的发现

逐步解读一个发现

展示报告如何把一个发现从实际测试的构建版本一路跟到修复方案。每一步都标注了它在完整报告中的页码。

  1. 构建

    AndroGoat 1.0 (1),包名 owasp.sat.agoat

    报告通过 SHA-256 哈希确定所测试的 APK,并将其与公开的 AndroGoat 代码库的提交 1f38398 对应。

    报告第 2 页
  2. 设备

    Android 11 模拟器

    动态测试在具有 root 权限的 Android 11(API 30)模拟器上运行,由代理安装并启动应用。

    报告第 7 页
  3. 范围

    仅 Android 应用,未提供测试凭据

    于 2026 年 5 月 19 日至 20 日对 APK 进行的 Mobile Agentic Deep Scan。iOS、后端 API 和 Web 组件不在范围内。

    报告第 2 页
  4. 流程

    应用自身的登录界面

    AndroGoat 没有服务器:其登录和 PIN 界面在设备上运行。代理追踪了这些界面如何处理用户输入的用户名和密码。

    报告第 27 页
  5. 发现

    高危:凭据以明文存储

    用户名和密码以明文写入 SharedPreferences、一个 SQLite 数据库和临时文件,其中一个位于共享存储上。应用还启用了备份。

    报告第 27 页
  6. 证据

    可被其他用户读取的凭据文件

    报告先展示存在漏洞的代码,再给出运行时证据:以其他用户身份读取 SD 卡上的凭据文件,得到了全部明文内容。

    报告第 8 页
  7. 修复

    加密,并避免将凭据放在共享存储中

    立即关闭备份并加密已存储的数据。长期修复方案是将凭据迁移到基于 KeyStore 的 EncryptedSharedPreferences,并附代码示例。

    报告第 29 页
  8. 验证

    如何确认修复

    在反编译后的应用中搜索以明文传给存储调用的凭据,并确认 adb 备份不再暴露可读的凭据文件。

    报告第 29 页

代理如何判断

为什么这是真正的风险

扫描器会报告所有匹配规则的内容。代理在报告之前,会先确认一条线索是否会造成实际危害。以下是它对 AndroGoat 应用中一条线索的推理过程。

  1. 第 1 步

    这个地址在应用里做什么?

    应用资源文件 res/values/strings.xml 中包含一个 Firebase 数据库地址:androgoat-42597.firebaseio.com。

    报告第 79 页
  2. 第 2 步

    应用真的使用它了吗?

    没有。应用中没有 Firebase 库,也没有代码读取这个值。基于规则的检查会把它当作未使用的残留,然后跳过。

    报告第 10 页
  3. 第 3 步

    数据库本身是开放的吗?

    代理在未登录的情况下向数据库发送了一次请求。数据库返回了 200 OK,其中包含一个用户名和一个密码。

    报告第 80 页
  4. 第 4 步

    那么,这是风险吗?

    是的,高危(High)。应用不使用这个地址并不重要:任何人解包应用后都能找到这个数据库,并且无需账户就能读取。

    报告第 41 页
  5. 第 5 步

    如何修复?

    启用 Firebase Authentication 和安全规则,使读取数据库必须是已登录用户,并从应用中删除这个未使用的地址。

    报告第 41 页

想为您自己的应用获取这样的报告?

预约演示,我们将为您讲解对您的移动应用、Web 应用或 API 的扫描。