You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Sonar分析中排除特定Jar包或指定CVE?

在SonarQube中排除特定Jar包关联的CVE问题

以下是几种实用的解决办法:

  • 通过配置文件排除指定依赖
    如果你用的是SonarQube 8.9及以上版本,直接在项目根目录的sonar-project.properties里添加配置:

    # 精准排除单个依赖,多组用逗号分隔
    sonar.dependencyCheck.excludes=com.old-lib:vulnerable-jar,com.legacy:old-component
    # 也可用通配符排除整个groupId下的所有包
    sonar.dependencyCheck.excludes=com.old-libs:*
    

    要是用的是Sonar内置漏洞检测而非第三方插件,换这个配置试试:

    sonar.java.excludedDependencies=com.old-lib:vulnerable-jar
    

    注意groupId和artifactId要和你构建工具(Maven/Gradle)里的完全一致。

  • 在SonarUI标记CVE为已接受
    找到Sonar项目的Issues页面,定位到旧Jar包触发的CVE条目,点击右上角的三点按钮,选择Mark as Accepted,顺便加个备注比如"已在移除计划中"。这样这些漏洞就不会干扰团队关注其他未处理的CVE,还能保留记录追踪进度。

  • 第三方插件的专属排除配置
    如果你用的是Dependency-Check这类第三方漏洞扫描插件,去Sonar后台的Administration > 已安装插件找到它,进入配置页,直接添加要排除的依赖坐标或者CVE编号(部分插件支持直接写CVE-ID,比如CVE-2022-1234)。

  • 构建阶段提前过滤(辅助手段)
    这不是Sonar层面的设置,但可以在Maven/Gradle里先把这些旧包从漏洞扫描中排除:
    Maven配置示例:

    <plugin>
        <groupId>org.owasp</groupId>
        <artifactId>dependency-check-maven</artifactId>
        <configuration>
            <excludes>
                <exclude>com.old-lib:vulnerable-jar</exclude>
            </excludes>
        </configuration>
    </plugin>
    

    Gradle配置示例:

    dependencyCheck {
        excludes = ['com.old-lib:vulnerable-jar']
    }
    

内容的提问来源于stack exchange,提问作者Olivier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:22:48