CodeQL 文档

敏感信息明文记录

ID: swift/cleartext-logging
Kind: path-problem
Security severity: 7.5
Severity: error
Precision: high
Tags:
   - security
   - external/cwe/cwe-312
   - external/cwe/cwe-359
   - external/cwe/cwe-532
Query suites:
   - swift-code-scanning.qls
   - swift-security-extended.qls
   - swift-security-and-quality.qls

点击查看 CodeQL 仓库中的查询

攻击者可以访问未加密记录的敏感信息。

建议

在记录敏感信息之前,始终确保将其加密或混淆。

通常,您应该仅在需要以明文使用敏感信息时将其解密。

请注意,外部进程通常会存储应用程序的标准输出和标准错误流。这将包括记录的敏感信息。

示例

以下示例代码以明文形式记录用户凭据(在本例中为其密码)

let password = "P@ssw0rd"
NSLog("User password changed to \(password)")

相反,您应该加密或混淆凭据,或完全省略它们

let password = "P@ssw0rd"
NSLog("User password changed")

参考资料

  • M. Dowd、J. McDonald 和 J. Schuhm,《软件安全评估艺术》,第 1 版,第 2 章 - ‘加密的常见漏洞’,第 43 页。Addison Wesley,2006 年。

  • M. Howard 和 D. LeBlanc,《编写安全代码》,第 2 版,第 9 章 - ‘保护秘密数据’,第 299 页。微软,2002 年。

  • OWASP:密码明文存储.

  • 常见弱点枚举:CWE-312.

  • 常见弱点枚举:CWE-359.

  • 常见弱点枚举:CWE-532.

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