2016-12-05 12 views
2

Я использую конфигурацию ниже build.gradle для запуска HP Fortify сканирования:HP Fortify сканирования с помощью Gradle

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

Я не в состоянии найти источник анализатора: плагин 3.90 в Интернете. Просьба сообщить, как решить эту проблему.

ответ

5

Начиная с SCA 16.20, теперь обеспечивается интеграция Gradle.

Из официальной документации HPE Security Fortify Static Code Analyzer User Guide - Глава 13: Построение интеграции

Gradle Интеграция

Вы можете перевести проекты, которые построены с Gradle без необходимости какой-либо модификации файла build.gradle. Когда сборка выполняется, Fortify Static Code Analyzer преобразует исходные файлы по мере их компиляции. См. Документ HPE Security Fortify Software System Requirements для платформ и языков, поддерживаемых специально для интеграции Gradle. Любые файлы в проекте, которые используют неподдерживаемые языки для интеграции Gradle, не переводятся (без сообщений об ошибках). Поэтому эти файлы не анализируются, и любые существующие потенциальные уязвимости могут оставаться незамеченными.

Чтобы интегрировать Fortify Static Code Analyzer в вашу сборку Gradle, убедитесь, что исполняемый файл sourceanalyzer находится в системе PATH. PREPEND командной строки 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 

Примечание: Если вы используете -verbose опцию Fortify статический анализатор кода, то вы должны также включать -gradle опция. Например:

sourceanalyzer -b buildxyz -gradle -verbose gradle assemble