报告对 java.lang.Runtime.exec() 的调用,该调用会将动态构造的字符串作为要执行的命令。

构造的执行字符串是安全漏洞的常见来源。 默认情况下,此检查会忽略编译时常量。

示例:

  String i = getUserInput();
  Runtime runtime = Runtime.getRuntime();
  runtime.exec("foo" + i); // 报告警告

使用检查设置将任何 static final 字段视为常量。 请小心,因为启用该选项时,像下面这样的字符串将被忽略:

  static final String COMMAND = "ping " + getDomainFromUserInput() + "'";