我一直在尝试检测源代码文件中的硬编码密码。
目前我正在检查变量赋值和比较标识符以及与密码匹配的子字符串pswd。
但它导致了许多误报,例如在这种情况下(从配置文件中读取密码)
String PASSWORD_KEY = "server.password";
String password = prop.getProperty(PASSWORD_KEY);
我可以标出一些像Key,location,path这样的子字符串,我可以跳过错误生成但除此之外我想不出更好的方法。
所有建议都表示赞赏。
答案 0 :(得分:1)
真实世界的隐藏后门案例了解到,使用指示目的的变量名称通常会更加模糊代码。
为了达到万无一失的目的,你需要做一个完整的静态分析并拥有智能"在代码检查器中了解代码并找到身份验证发生的位置,然后向后工作以验证没有隐藏的方法来实现此目的。
恕我直言,雇用某人做(安全)代码审查要比尝试自动化更便宜。