Найти ошибки безопасности не сканирует заводные файлы
В нашем проекте мы используем классы 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