记录一次 npm audit 修复

目前手上的项目是vue2的项目,项目中package很多版本比较旧,所以打算修复下这里面的高危以上的漏洞

1、扫描高危以上的漏洞并生成报告

npm audit --audit-level high --json > audit-high.json

2、报告详解

例如下面这段

"@vue/cli-plugin-router": {
  "name": "@vue/cli-plugin-router",
  "severity": "moderate",
  "isDirect": false,
  "via": [
    "@vue/cli-service",
    "@vue/cli-shared-utils"
  ],
  "effects": [
    "@vue/cli-service"
  ],
  "range": "*",
  "nodes": [
    "node_modules/@vue/cli-service/node_modules/@vue/cli-plugin-router"
  ],
  "fixAvailable": {
    "name": "@vue/cli-plugin-babel",
    "version": "5.0.9",
    "isSemVerMajor": true
  }
}

image

如何理解这个漏洞?

image

修复方式

npm install @vue/cli-plugin-babel@5.0.9

3、关于修复

眼神好就自己看,如果眼神不好,建议让AI帮你总结下,然后给你建议,然后修改,注意下:

关于 npm audit fix --force 的风险提示

您提到使用 npm audit fix --force 是非常好的建议,但需要强烈强调其风险

  • --force 参数会强制升级所有依赖,包括主版本号(Major Version)的变更。
  • 这可能导致 breaking changes(破坏性变更),使项目无法正常编译或运行。
  • 建议做法
    • 优先尝试 npm audit fix(不加 --force),它会进行安全的、非破坏性的升级。
    • 对于 npm audit fix 无法修复的漏洞,再手动升级您在“立即修复”部分列出的关键包。
    • 只有在手动修复成本过高且风险可控的情况下,才在测试环境中使用 --force
posted @ 2025-10-13 11:50  PrintY  阅读(13)  评论(0)    收藏  举报