zoukankan      html  css  js  c++  java
  • owasp对项目依赖的jar包安全扫描

    一、什么是owasp

    OWASP,全称是:Open Web Application Security Project,翻译为中文就是:开放式Web应用程序安全项目,是一个非营利组织,不附属于任何企业或财团,这也是该组织可以不受商业控制地进行安全开发及安全普及的重要原因,详细的介绍可以参见下方Wikipedia中的内容。

    OWASP Dependency-Check,它识别项目依赖关系,并检查是否存在任何已知的、公开的、漏洞,基于OWASP Top 10 2013。

    二、maven集成插件扫描

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

            <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>

    执行:

    mvn clean compile
    mvn dependency-check:check

    扫描完成后,报告文件存放在target目录下,dependency-check-report.html。

    image

    三、jenkins使用owasp插件扫描工程

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

    作用:这个插件可以分析依赖关系并生成依赖检查的趋势报告,这是一个开源实用工具,可以检测项目依赖项中已知的漏洞。

    依赖: 
    该插件需要使用程序插件“Analysis -core”(在更新管理器中称为“静态分析实用程序”)。请确保也安装了这个插件的最新版本。

    注:扫描过程中,扫描路径如果存在多个工程,包含重复的jar包。扫描结果报表中只会出现jar包问题说明一次(不重复显示)

    扫描生成的报告为dependency-check-report.xml

    四、jenkins pipeline调用插件扫描

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

    五、配合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

  • 相关阅读:
    取消 Vue 中格式编译警告
    Vue 中提示报错 handlers[i].call is not a function解决方法
    PhpStorm 配置链接远程虚拟机
    Java 类提供了自定义的构造方法,那么类的默认构造不会被调用
    2019.9.30极限测试 04.JAVA语言课堂测试试卷-极限测试
    程序员修炼之道+从小工到专家 9月份读后感
    2019.9.23 作业2
    2019.9.23 作业1
    原码,补码,反码区分
    9.16日上课总结
  • 原文地址:https://www.cnblogs.com/slqt/p/10881319.html
Copyright © 2011-2022 走看看