记录一次 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
}
}
如何理解这个漏洞?
修复方式
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
。
- 优先尝试