赞
踩
我们写的程序的安全,除掉代码本身的安全之外,还包括我们代码所依赖的三方jar包的安全,所以我们在日常的质量保障中, 也需要把此纳入检查范围。下面我们主要介绍下使用OWASP Dependency-check进行三方依赖安全检查的基本方法。
Dependency check与Maven的集成比较简单,我们直接修改pom,增加如下配置:
......org.owasp dependency-check-maven 5.2.1check6......org.owasp dependency-check-maven 5.2.1aggregate
然后直接调用如下命令
mvn dependency-check:check
执行完成之后,会在target目录生成html格式的报告。
注意我们有如下的配置:
6
意思是如果发现的CVS错误有6个或者以上时,构建的结果即为失败。
对于issue总数来说,Critcal的达到2个,或者High的达到2个,就Unstable;Critical的达到10个,或者High的达到10个,就Fail;对于新增issue来说,Critical的达到1个,或者High的达到1个,就Unstable;Critical的达到5个,或者High的达到5个,就Fail。
与sonar的集成主要是依靠插件:https://github.com/dependency-check/dependency-check-sonar-plugin,这里需要特别说明下,本插件并不做Dependency-check的分析,而是依赖已经生成的Dependency-check的结果,然后在sonar上进行展示。
sonar.dependencyCheck.reportPath=${WORKSPACE}/dependency-check-report.xmlsonar.dependencyCheck.htmlReportPath=${WORKSPACE}/dependency-check-report.htmlsonar.dependencyCheck.summarize=true
上面我们提到,在使用Dependency check进行检查的时候,首先需要花费一定的时间从NVD(NATIONAL VULNERABILITY DATABASE)中下载CVE数据。一个可以优化的方案就是在本地建立NVD的镜像,然后从此镜像下载。
java -jar nist-data-mirror.jar
--cveUrlModified http://192.168.10.32:81/nvdcve-1.0-modified.json.gz--cveUrlBase http://192.168.10.32:81/nvdcve-1.0-%d.json.gz
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。