0

在我们的项目中,我们同时使用 Groovy 和 Java 类。我们使用 find-sec-bugs 插件 1.4.3 和 FindBugs 3.0.1 来扫描源代码。

插件不会报告来自 Groovy 类的安全错误。Java 类被正确扫描。项目页面清楚地表明该插件可与 Groovy 一起使用。

对于这个测试,我复制了以下易受攻击的代码,编译了源代码,并对其进行了扫描。

String generateSecretToken() {
    Random r = new Random();
    return Long.toHexString(r.nextLong());
}

我错过了一些配置吗?

4

1 回答 1

0

为了进行正确的分析,您需要激活静态编译。否则,分析器将看不到任何方法调用。

构建.gradle

compileGroovy {
    groovyOptions.configurationScript = file("gradle/config.groovy")
}

gradle/config.groovy

withConfig(configuration) {
     ast(groovy.transform.CompileStatic)
}

此处提供了完整的配方: https ://github.com/find-sec-bugs/find-sec-bugs-demos/tree/master/groovy-simple

于 2016-07-19T14:51:51.683 回答