检测硬编码密码

时间:2015-12-16 09:40:00

标签: java security passwords sonarqube hardcoded

我一直在尝试检测源代码文件中的硬编码密码。

目前我正在检查变量赋值和比较标识符以及与密码匹配的子字符串pswd。

但它导致了许多误报,例如在这种情况下(从配置文件中读取密码)

String PASSWORD_KEY = "server.password";
String password = prop.getProperty(PASSWORD_KEY);

我可以标出一些像Key,location,path这样的子字符串,我可以跳过错误生成但除此之外我想不出更好的方法。

所有建议都表示赞赏。

1 个答案:

答案 0 :(得分:1)

真实世界的隐藏后门案例了解到,使用指示目的的变量名称通常会更加模糊代码。

为了达到万无一失的目的,你需要做一个完整的静态分析并拥有智能"在代码检查器中了解代码并找到身份验证发生的位置,然后向后工作以验证没有隐藏的方法来实现此目的。

恕我直言,雇用某人做(安全)代码审查要比尝试自动化更便宜。