OWASP,全称是:Open Web Application Security Project,翻译为中文就是:开放式Web应用程序安全项目,是一个非营利组织,不附属于任何企业或财团,这也是该组织可以不受商业控制地进行安全开发及安全普及的重要原因,详细的介绍可以参见下方Wikipedia中的内容。
OWASP Dependency-Check,它识别项目依赖关系,并检查是否存在任何已知的、公开的、漏洞,基于OWASP Top 10 2013。
maven工程的pom.xml按照如下配置:
<dependency>
<groupId>org.owaspgroupId>
<artifactId>dependency-check-mavenartifactId>
<version>3.1.1version>
dependency>
<plugin>
<groupId>org.owaspgroupId>
<artifactId>dependency-check-mavenartifactId>
<version>3.1.1version>
<executions>
<execution>
<goals>
<goal>checkgoal>
goals>
execution>
executions>
plugin>
执行:
mvn clean compile
mvn dependency-check:check
扫描完成后,报告文件存放在target目录下,dependency-check-report.html。
插件工程地址:https://wiki.jenkins.io/display/JENKINS/OWASP+Dependency-Check+Plugin
作用:这个插件可以分析依赖关系并生成依赖检查的趋势报告,这是一个开源实用工具,可以检测项目依赖项中已知的漏洞。
依赖:
该插件需要使用程序插件“Analysis -core”(在更新管理器中称为“静态分析实用程序”)。请确保也安装了这个插件的最新版本。
注:扫描过程中,扫描路径如果存在多个工程,包含重复的jar包。扫描结果报表中只会出现jar包问题说明一次(不重复显示)
扫描生成的报告为dependency-check-report.xml
dependencyCheckAnalyzer datadir: '', hintsFile: '', includeCsvReports: false, includeHtmlReports: false, includeJsonReports: false, includeVulnReports: false, isAutoupdateDisabled: false, outdir: '', scanpath: '.', skipOnScmChange: false, skipOnUpstreamChange: false, suppressionFile: '', zipExtensions: ''
插件下载地址:dependency-check
下载使用以下命令生成jar包
> $ mvn clean package
将插件放入sonarqube的插件目录$SONAR_INSTALL_DIR/extensions/plugins,并且重启sonarqube
在需要扫描的工程中,配置owasp的报告文件路径。sonar扫描完成后,读取报告展示在web端。(注:sonar插件不会进行依赖扫描,需要通过其他方式扫描完成后,读取配置文件)
sonar.dependencyCheck.reportPath=${WORKSPACE}/dependency-check-report.xml
sonar对于owasp的报告展示不够友好,所有的依赖规则均显示为:Using Components with Known Vulnerabilities