Найти ошибки безопасности не сканирует заводные файлы

В нашем проекте мы используем классы 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());
}

Я что-то пропустил?

1 ответ

Для правильного анализа необходимо активировать статическую компиляцию. В противном случае анализатор не увидит никаких вызовов методов.

build.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

Другие вопросы по тегам