CodeQL 文档

向通知公开敏感信息

ID: java/android/sensitive-notification
Kind: path-problem
Security severity: 6.5
Severity: error
Precision: medium
Tags:
   - security
   - external/cwe/cwe-200
Query suites:
   - java-security-extended.qls
   - java-security-and-quality.qls

单击以在 CodeQL 存储库中查看查询

密码或双因素身份验证 (2FA) 代码等敏感信息不应在系统通知中公开。不应将通知视为安全,因为其他不受信任的应用程序可能能够使用 NotificationListenerService 读取通知的内容。

建议

不要在通知中公开敏感数据。

示例

在以下示例中,password 作为通知的一部分发送。这可能允许其他应用程序读取此密码。

// BAD: `password` is exposed in a notification.
void confirmPassword(String password) {
    NotificationManager manager = NotificationManager.from(this);
    manager.send(
        new Notification.Builder(this, CHANNEL_ID)
        .setContentText("Your password is: " + password)
        .build());
}

参考

  • ©GitHub, Inc.
  • 条款
  • 隐私