报告对java.lang.System.loadLibrary()java.lang.System.load()java.lang.Runtime.loadLibrary()java.lang.Runtime.load() 的调用,它们会将动态构造的字符串作为库的名称。

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

示例:

  void test(int i) {
    System.loadLibrary("foo" + i);
  }

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

  private static final String LIBRARY = getUserInput();