owasp對項目依賴的jar包安全掃描

1、什麼是owasp

OWASP,全稱是:Open Web Application Security Project,翻譯爲中文就是:開放式Web應用程序安全項目,是一個非營利組織,不附屬於任何企業或財團,這也是該組織能夠不受商業控制地進行安全開發及安全普及的重要緣由,詳細的介紹能夠參見下方Wikipedia中的內容。html

OWASP Dependency-Check,它識別項目依賴關係,並檢查是否存在任何已知的、公開的、漏洞,基於OWASP Top 10 2013。git

2、maven集成插件掃描

maven工程的pom.xml按照以下配置:github

<dependency> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>3.1.1</version> </dependency>
<plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>3.1.1</version> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin>

執行:web

mvn clean compile
mvn dependency-check:check

掃描完成後,報告文件存放在target目錄下,dependency-check-report.html。spring

image

3、jenkins使用owasp插件掃描工程

插件工程地址:https://wiki.jenkins.io/display/JENKINS/OWASP+Dependency-Check+Plugin安全

做用:這個插件能夠分析依賴關係並生成依賴檢查的趨勢報告,這是一個開源實用工具,能夠檢測項目依賴項中已知的漏洞。ruby

依賴: 
該插件須要使用程序插件「Analysis -core」(在更新管理器中稱爲「靜態分析實用程序」)。請確保也安裝了這個插件的最新版本。bash

注:掃描過程當中,掃描路徑若是存在多個工程,包含重複的jar包。掃描結果報表中只會出現jar包問題說明一次(不重複顯示)markdown

掃描生成的報告爲dependency-check-report.xmlmaven

4、jenkins pipeline調用插件掃描

dependencyCheckAnalyzer datadir: '', hintsFile: '', includeCsvReports: false, includeHtmlReports: false, includeJsonReports: false, includeVulnReports: false, isAutoupdateDisabled: false, outdir: '', scanpath: '.', skipOnScmChange: false, skipOnUpstreamChange: false, suppressionFile: '', zipExtensions: ''

5、配合sonarqube生成插件掃描

插件下載地址: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 
image

相關文章
相關標籤/搜索