java.lang.Runtime.exec()
的调用,该调用会将动态构造的字符串作为要执行的命令。
构造的执行字符串是安全漏洞的常见来源。 默认情况下,此检查会忽略编译时常量。
示例:
String i = getUserInput(); Runtime runtime = Runtime.getRuntime(); runtime.exec("foo" + i); // 报告警告
使用检查设置将任何 static
final
字段视为常量。
请小心,因为启用该选项时,像下面这样的字符串将被忽略:
static final String COMMAND = "ping " + getDomainFromUserInput() + "'";