已启用 Android 可调试属性¶
ID: java/android/debuggable-attribute-enabled
Kind: problem
Security severity: 7.2
Severity: warning
Precision: very-high
Tags:
- security
- external/cwe/cwe-489
Query suites:
- java-code-scanning.qls
- java-security-extended.qls
- java-security-and-quality.qls
Android 清单文件定义了 Android 应用程序的配置设置。 在此文件中,application
元素的 android:debuggable
属性可用于定义是否可以调试应用程序。 当设置为 true
时,此属性将允许调试应用程序,即使该应用程序在用户模式下的设备上运行也是如此。
启用调试器后,可能会为应用程序提供入口点或泄露敏感信息。 因此,android:debuggable
应该仅在开发过程中启用,并且应该在生产版本中禁用。
建议¶
在 Android 应用程序中,请将 android:debuggable
属性设置为 false
,或者不要在清单中包含此属性。默认情况下,如果未包含此属性,则其值为 false
。
示例¶
在以下示例中,android:debuggable
属性设置为 true
。
<manifest ... >
<!-- BAD: 'android:debuggable' set to 'true' -->
<application
android:debuggable="true">
<activity ... >
</activity>
</application>
</manifest>
更正后的版本将 android:debuggable
属性设置为 false
。
<manifest ... >
<!-- GOOD: 'android:debuggable' set to 'false' -->
<application
android:debuggable="false">
<activity ... >
</activity>
</application>
</manifest>
参考¶
Android 开发者:应用清单概述。
Android 开发者:
android:debuggable
属性。Android 开发者:启用调试。
常见缺陷列表:CWE-489。