Сканирование 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
Другие вопросы по тегам