【随手记录】OWASP Dependency-Check 代码依赖漏洞检测

1、需要在maven的pom文件配置检测规则:

<plugin>
   <groupId>org.owasp</groupId>
    <artifactId>dependency-check-maven</artifactId>
    <version>8.4.0</version>
    <configuration>
        <!--根据分数等级,阻断check-->
        <failBuildOnCVSS>11</failBuildOnCVSS>
        <!--是否检测最新漏洞依赖-->
        <autoUpdate>false</autoUpdate>
        <nvdApiKey>xxx</nvdApiKey>
        <connectionTimeout>60000</connectionTimeout>
        <readTimeout>60000</readTimeout>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
</plugin>

2、常见问题

2.1、需要设置 nvdApiKey

  在官网申请 https://nvd.nist.gov/developers/request-an-api-key

2.2、 .net 6.0依赖问题

One or more exceptions occurred during analysis:
    InitializationException: Could not execute .NET AssemblyAnalyzer, is the dotnet 6.0 runtime or sdk installed?

解决:

安装 .NET 6.0 

# Windows (PowerShell)
winget install Microsoft.DotNet.Runtime.6

# Ubuntu/Debian
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update
sudo apt install dotnet-runtime-6.0

# CentOS/RHEL
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install dotnet-runtime-6.

2.3、failBuildOnCVSS 漏洞级别问题

One or more dependencies were identified with vulnerabilities that have a CVSS score greater than or equal to '8.0': 

pom.xml: CVE-2020-36460(8.1)

解决:

0 发现任何漏洞即失败 超严格安全要求
4 中等及以上漏洞(CVSS ≥4)失败 一般应用
7 高危漏洞(CVSS ≥7)失败(推荐值) 生产系统
9 严重漏洞(CVSS ≥9)失败 非核心系统
11 永不因漏洞失败(默认值) 仅做报告,不阻断构建

2.4、UpdateException: Error updating the NVD Data NoDataException: No documents exist 报错

在使用 org.owasp.dependency-check-maven 插件时遇到 UpdateException: Error updating the NVD Data 和 NoDataException: No documents exist 错误,通常是由于插件无法下载或访问 NVD(National Vulnerability Database)漏洞数据库导致的。

解决:

网络问题:插件无法连接 NVD 服务器(可能因网络限制、代理或防火墙)。
curl https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2024.json.gz

NVD 服务不可用:NIST 服务器可能暂时宕机或维护。

3、报告解读

举个例子:

Dependency: log4j-core-2.14.1.jar
CPE: cpe:2.3:a:apache:log4j:2.14.1:*:*:*:*:*:*:*
GAV: org.apache.logging.log4j:log4j-core:2.14.1
Highest Severity: Critical (CVSS 10.0)
CVE Count: 3
CPE Confidence: Highest
Evidence Count: 32

解读:
该 Log4j 2.14.1 组件被100%确认(Highest Confidence)存在 3 个高危漏洞(包括 CVSS 10.0 的 Log4Shell),扫描器通过分析依赖文件中的 32 条证据(如文件内容、元数据等)得出此结论。

posted @ 2025-06-04 14:10  空知大仙人  阅读(273)  评论(0)    收藏  举报