跳过内容

MASTG-TEST-0226: AndroidManifest 中启用可调试标志

概述

此测试用例检查应用程序的 AndroidManifest.xml 文件中是否将 debuggable 标志 (android:debuggable) 设置为 true。 启用此标志后,允许调试应用程序,使攻击者能够检查应用程序的内部结构、绕过安全控制或操纵运行时行为。

虽然将 debuggable 标志设置为 true 不被视为直接漏洞,但它通过提供对应用程序数据和资源的未经授权的访问(尤其是在生产环境中)来显著增加攻击面。

步骤

  1. 使用 从 AndroidManifest 获取信息 获取 AndroidManifest.xml 文件。
  2. 搜索 debuggable 标志
    • 如果使用 Apktool 等工具分析原始 XML,请查找 android:debuggable
    • 如果使用 aapt2,请查找 application-debuggable

观察

输出应明确显示是否设置了 debuggable 标志(truefalse)。 如果未指定该标志,则对于发布版本,默认将其视为 false

评估

如果 debuggable 标志显式设置为 true,则测试用例失败。 这表明应用程序配置为允许调试,这不适合生产环境。

缓解措施

演示

MASTG-DEMO-0040: 使用 semgrep 在 AndroidManifest 中启用可调试标志