使用Gradle的HP强化扫描

使用Gradle的HP强化扫描,gradle,build.gradle,fortify,fortify-source,Gradle,Build.gradle,Fortify,Fortify Source,我使用build.gradle中的以下配置运行HP Fortify scan: // Fortify configuration configurations { fortify { extendsFrom compile } } // pull in the fortify libs for the new configuration dependencies { fortify 'com.fortify:sourceanalyzer:3.90' } task fortifyRep

我使用build.gradle中的以下配置运行HP Fortify scan:

// 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')
    }
  }
}

我在互联网上找不到sourceanalyzer:3.90插件。请就如何解决此问题提供建议。

从SCA 16.20开始,现在支持Gradle集成

来自官方文档-第13章:构建集成

梯度集成

您可以翻译使用Gradle生成的项目,而无需对
build.Gradle
文件进行任何修改。构建运行时,Fortify Static Code Analyzer会在编译源文件时对其进行翻译。有关专为Gradle集成支持的平台和语言,请参阅HPE Security Fortify软件系统需求文档。项目中使用不支持的语言进行Gradle集成的任何文件都不会被翻译(没有错误报告)。因此,不会对这些文件进行分析,任何现有的潜在漏洞都不会被发现

要将Fortify Static Code Analyzer集成到Gradle构建中,请确保sourceanalyzer可执行文件位于系统路径上。使用
sourceanalyzer
命令在Gradle命令行前面加上前缀,如下所示:

sourceanalyzer -b <build_id> <sca_options> gradle [<gradle_options>] <gradle tasks>
注意:如果使用强化静态代码分析器-verbose选项,则还必须包括-gradle选项。例如:

sourceanalyzer -b buildxyz gradle clean build
sourceanalyzer -b buildxyz gradle --info assemble
sourceanalyzer -b buildxyz -gradle -verbose gradle assemble

如何将SourceAnalyzer设置为系统路径?我尝试从任务设置路径,但失败
sourceanalyzer -b buildxyz -gradle -verbose gradle assemble