跳转到主要内容

CEV漏洞扫描插件

原理说明

就是有一帮用爱发电的人,对已知的组件的版本存在的漏洞做了一个共享数据库,这个软件可以根据依赖的版本进行扫描,看你的组件有没有不合规的版本

帮助文档:https://central.sonatype.com/artifact/org.owasp/dependency-check-maven/overview 帮助文档:https://dependency-check.github.io/DependencyCheck/dependency-check-maven/

配置mvn项目


    <build>
        <plugins>
            <plugin>
                <groupId>org.owasp</groupId>
                <artifactId>dependency-check-maven</artifactId>
                <version>12.1.0</version>
                <configuration>
                    <!-- 使用美国国家中心的数据库需要的秘钥-->
                    <nvdApiKey>your_key</nvdApiKey>
                    <autoUpdate>true</autoUpdate>
                    <!-- nvdcve 漏洞库镜像地址 -->
                    <nvdDatafeedUrl>https://nvdcve.iovhm.com</nvdDatafeedUrl>
                    <!-- retire.js 漏洞库镜像地址 -->
                    <retireJsUrl>http://nvdcve.iovhm.com/jsrepository.json</retireJsUrl>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                            <goal>update-only</goal>
                            <goal>aggregate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

执行依赖CVE检测


对 整个多模块项目(含所有子模块) 执行聚合依赖扫描。递归扫描所有子模块的依赖,合并为一个统一报告。多模块项目,想一次性检查所有模块的依赖。
mvn dependency-check:aggregate

# 对 当前 Maven 模块 执行依赖漏洞扫描,	只扫描当前模块的依赖(不会递归子模块),单模块项目,或你只想检查某个模块
mvn dependency-check:check

也可以在可视化区域执行

获取扫描报告

打开扫描报告

我这个项目啥也没有,就检查出这么多问题

获取最新的漏洞库

在没有修改配置的情况下,插件使用美国国家数据库,很慢,这个时候你需要一个漏洞数据库镜像



version: "3"
services:
  open-vulnerability-cli:
    image: harbor.iovhm.com/hub/jeremylong/open-vulnerability-data-mirror:v9.0.0
    container_name: open-vulnerability-cli
    restart: always
    privileged: true
    ports:
      - 8089:80
    environment:
      - TZ=Asia/Shanghai
      - NVD_API_KEY=acb0547a-c536-44ea-8455-f4e86b0b427c
    volumes:
      - ./cache:/usr/local/apache2/htdocs

进行相关配置

                <configuration>
                    <!-- 使用美国国家中心的数据库需要的秘钥-->
                    <nvdApiKey>your_key</nvdApiKey>
                    <autoUpdate>true</autoUpdate>
                    <!-- nvdcve 漏洞库镜像地址 -->
                    <nvdDatafeedUrl>https://nvdcve.iovhm.com</nvdDatafeedUrl>
                    <!-- retire.js 漏洞库镜像地址 -->
                    <retireJsUrl>http://nvdcve.iovhm.com/jsrepository.json</retireJsUrl>
                </configuration>