CodeQL 文档

已启用 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

点击以在 CodeQL 代码库中查看查询

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>

参考

  • ©GitHub 公司
  • 条款
  • 隐私