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

为何Trivy扫描器报告项目中不存在的依赖漏洞?

问题描述

我使用Trivy GitHub Action(aquasecurity/trivy-action@master)扫描NestJS项目,尽管未直接或间接使用相关包(yarn.lock中无任何痕迹),但仍收到以下漏洞报告:

┌─────────────────────────────────────┬────────────────┬──────────┬───────────────────┬───────────────┬────────────────────────────────────────────────────────────┐
│               Library               │ Vulnerability  │ Severity │ Installed Version │ Fixed Version │                           Title                            │
├─────────────────────────────────────┼────────────────┼──────────┼───────────────────┼───────────────┼────────────────────────────────────────────────────────────┤
│ dot-object (package.json)           │ CVE-2019-10793 │ MEDIUM   │ 1.1.0             │ 2.1.3         │ Prototype Pollution in dot-object                          │
│                                     │                │          │                   │               │ https://avd.aquasec.com/nvd/cve-2019-10793                 │
├─────────────────────────────────────┼────────────────┼──────────┼───────────────────┼───────────────┼────────────────────────────────────────────────────────────┤
│ http-cache-semantics (package.json) │ CVE-2022-25881 │ HIGH     │ 4.1.0             │ 4.1.1         │ http-cache-semantics: Regular Expression Denial of Service │
│                                     │                │          │                   │               │ (ReDoS) vulnerability                                      │
│                                     │                │          │                   │               │ https://avd.aquasec.com/nvd/cve-2022-25881                 │
└─────────────────────────────────────┴────────────────┴──────────┴───────────────────┴───────────────┴────────────────────────────────────────────────────────────┘
问题分析与解决建议

针对你遇到的情况,以下是几个常见原因及验证方法:

  • Trivy直接读取package.json声明:报告里标注了(package.json),说明Trivy是从package.json文件识别到这两个包的,哪怕它们没被实际安装、没出现在yarn.lock里。先打开package.json搜索这两个包名,确认是否有遗漏的直接依赖声明(比如添加后没彻底删除)。
  • yarn.lock未同步依赖状态:如果最近调整过依赖但没重新生成锁文件,可能导致yarn.lock和实际依赖不符。执行yarn install --force强制更新依赖并重新生成锁文件,再重新扫描试试。
  • Trivy缓存旧扫描结果:GitHub Action环境中的Trivy可能缓存了之前的扫描数据,导致重复报告已不存在的依赖。可以在Action配置中添加缓存清理步骤,或手动触发工作流时选择清除缓存。
  • 动态依赖未被yarn.lock记录:部分NestJS相关包可能在运行/构建时动态引入这些依赖,这类动态加载的包不会被yarn.lock记录。用yarn why dot-object和yarn why http-cache-semantics命令,强制查询依赖链路,能找出是否有间接引用。
  • Trivy漏洞匹配错误:极少数情况下,Trivy可能错配漏洞。核对这两个CVE的影响版本,确认项目中是否真存在对应版本的包,或向Trivy仓库提交误报反馈。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:47:35