跳过内容

MASTG-TEST-0254: 危险的应用权限

概述

在 Android 应用中,权限通过不同的方法获取,以访问信息和系统功能,包括摄像头、位置或存储。必要的权限在 AndroidManifest.xml 文件中使用 <uses-permission> 标签指定。

步骤

有多种工具可以帮助查找应用正在使用的权限。请参阅 获取编译器提供的安全功能并使用任何提到的工具。

  1. 从 APK 中提取 AndroidManifest.xml 文件(请参阅 从 AndroidManifest 获取信息)。
  2. 获取声明的权限列表(请参阅 获取应用权限)。

观察

输出显示了应用声明的权限列表。

评估

如果应用中存在任何危险权限,则测试失败。

将声明的权限列表与 Android 定义的危险权限列表进行比较。您可以在Android 文档中找到更多详细信息。

情境考虑:

评估权限时,情境至关重要。例如,使用摄像头扫描 QR 码的应用应具有 CAMERA 权限。但是,如果应用没有摄像头功能,则该权限是不必要的,应将其删除。

另外,考虑是否有任何隐私保护替代方案可以替代应用使用的权限。例如,应用程序可以使用设备的内置摄像头应用程序,而不是使用CAMERA权限,通过调用 ACTION_IMAGE_CAPTUREACTION_VIDEO_CAPTURE intent action来捕获照片或视频。这种方法允许应用访问摄像头功能,而无需直接请求CAMERA权限,从而增强用户隐私。

演示

MASTG-DEMO-0033:使用 semgrep 在 AndroidManifest 中查找危险权限