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

如何修复maven传递依赖maven:org.yaml:snakeyaml的漏洞?需额外插件吗?

修复传递依赖snakeyaml的CVE漏洞问题

问题核心

你碰到的是传递依赖漏洞:snakeyaml:1.30是通过spring-boot-starter-web间接引入的,直接修改spring-boot-starter-web的版本不一定能覆盖这个传递依赖的版本——部分Spring Boot Starter版本可能仍绑定旧版snakeyaml。


正确修复步骤

1. 直接在pom.xml中锁定snakeyaml的安全版本

在你的pom.xml里添加独立的dependency节点,强制使用修复了上述所有CVE的版本(比如1.33或更高,官方已在这些版本完成漏洞修复):

<dependencies>
    <!-- 其他项目依赖 -->
    <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>1.33</version>
    </dependency>
</dependencies>

Maven会优先使用你显式声明的版本,自动覆盖传递依赖带来的旧版。

2. 用Spring Boot依赖管理统一控制(推荐)

如果是Spring Boot项目,更规范的方式是在dependencyManagement中声明版本,确保整个项目所有模块都使用同一安全版本:

<dependencyManagement>
    <dependencies>
        <!-- 其他依赖管理配置 -->
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>1.33</version>
        </dependency>
    </dependencies>
</dependencyManagement>

3. 验证修复效果

在IntelliJ里右键点击pom.xml → Maven → Show Dependency Tree,搜索snakeyaml,确认其版本已更新为你指定的安全版本。


IntelliJ工具与插件建议

  • 自带工具足够基础排查:IntelliJ默认的Maven依赖树功能(如上)能帮你定位依赖来源;另外在Settings → Build, Execution, Deployment → Build Tools → Maven → Dependency Analyzer中,可直观查看依赖冲突和基础漏洞提示。
  • 推荐实用插件:
    • OWASP Dependency-Check:可集成到Maven流程,自动扫描依赖的已知漏洞并给出修复建议,能在IntelliJ插件市场安装对应IDE插件,也可直接在pom.xml中配置Maven插件。
    • SonarLint:实时检测代码和依赖的安全问题,包括依赖漏洞,开发过程中就能及时收到提醒。
    • Checkmarx IDE Plugin:和你使用的Checkmarx扫描工具联动,直接在IDE内查看、修复漏洞。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:01:04