SonarLint“硬编码密码”误报的最佳实践

时间:2018-03-10 23:36:10

标签: java sonarlint

SonarLint在我的代码库中标记了一些变量。像public static final String INVALID_PASSWORD = "Your password is invalid.";

这样的人

SonarLint认为该变量可能包含硬编码密码,这是一种安全风险。但在这种情况下,变量不包含密码,它包含有关密码的消息。

我也有一些像public static final String INVALID_PASSWORD = "INVALID_PASSWORD";,它们是代码而不是字符串,SonarLint也会标记它们。

“修复”此类问题的最佳做法是什么?我想到的两个解决方案是重命名变量,并使用@SupressWarnings("code here")注释。

SonarLint本身是否有针对此问题的建议?是否有行业最佳实践?

2 个答案:

答案 0 :(得分:1)

如果您在SonarQube的连接模式下使用SonarLint, 然后你可以安全地将此问题标记为误报。 这将是一种管理软件质量的推荐方法, 但它需要SonarQube。

如果您没有使用SonarQube,那么目前还没有(好的)方法来解决SonarLint中的问题。 这种功能很可能会在不久的将来(今年)在SonarLint中实施。

答案 1 :(得分:0)

您应该可以使用以下方法使声纳问题静音:

if (foo !== 42) {

在罪魁祸首上加注。