Сканирование HP Fortify с использованием Gradle
Я использую приведенную ниже конфигурацию в build.gradle для запуска сканирования HP Fortify:
// Fortify configuration
configurations {
fortify { extendsFrom compile }
}
// pull in the fortify libs for the new configuration
dependencies {
fortify 'com.fortify:sourceanalyzer:3.90'
}
task fortifyReport(dependsOn: compileJava) << {
ant.properties['build.compiler']='com.fortify.dev.ant.SCACompiler'
ant.typedef(name: 'sca', classname: 'com.fortify.dev.ant.SourceanalyzerTask', classpath: configurations.fortify.asPath)
ant.sca(jdk:"1.7",
debug:true ,
verbose:true ,
failonerror:true ,
scan:true ,
logFile:file("$buildDir/reports/fortify/Fortify.log"),
resultsFile:file("$buildDir/reports/fortify/${project.name}.fpr")
){
fileset(dir:'src/main') {
include(name:'**/*.java')
}
}
}
Но при выполнении я получаю следующее:
* What went wrong:
Execution failed for task ':fortifyReport'.
> Could not resolve all dependencies for configuration 'detachedConfiguration157'.
> Could not find com.fortify:sourceanalyzer:3.90.
Я не могу найти плагин sourceanalyzer:3.90 в Интернете. Посоветуйте, пожалуйста, как решить эту проблему.
1 ответ
Начиная с SCA 16.20, теперь поддерживается интеграция Gradle.
Из официальной документации Руководство пользователя анализатора статического кода HPE Security Fortify - Глава 13: Интеграция сборки
Gradle Integration
Вы можете переводить проекты, созданные с помощью Gradle, не требуя каких-либо изменений build.gradle
файл. Когда сборка выполняется, Fortify Static Code Analyzer переводит исходные файлы по мере их компиляции. См. Документ Системные требования к программному обеспечению HPE Security Fortify для платформ и языков, поддерживаемых специально для интеграции Gradle. Любые файлы в проекте, которые используют неподдерживаемые языки для интеграции Gradle, не переводятся (без сообщений об ошибках). Поэтому эти файлы не анализируются, и любые существующие потенциальные уязвимости могут остаться незамеченными.
Чтобы интегрировать Fortify Static Code Analyzer в вашу сборку Gradle, убедитесь, что sourceanalyzer
исполняемый файл находится в системном PATH. В командной строке Gradle добавьте sourceanalyzer
команда следующим образом:
sourceanalyzer -b <build_id> <sca_options> gradle [<gradle_options>] <gradle tasks>
Например:
sourceanalyzer -b buildxyz gradle clean build
sourceanalyzer -b buildxyz gradle --info assemble
Примечание: если вы используете Fortify Static Code Analyzer -verbose
вариант, то вы также должны включить -gradle
вариант. Например:
sourceanalyzer -b buildxyz -gradle -verbose gradle assemble