# 依赖漏洞修复决策记录 ## 决策背景 用户选择 **C**:尝试全部修复依赖漏洞,包括将 `next` 升级到 16。 ## 执行结果 1. `npm audit fix --force` 失败: - `@lhci/cli` 被降级到 `0.1.0`,该版本尝试通过 `git+ssh://git@github.com/GoogleChrome/lighthouse.git` 拉取依赖。 - 当前环境无 GitHub SSH 访问权限,导致 `npm error code 128`。 - `eslint-config-next@16.2.11` 要求 `eslint@>=9.0.0`,与当前 `eslint@8.57.1` 冲突。 2. 按执行计划回退策略: - 恢复原始 `package-lock.json`。 - 运行 `npm install` 回到原始依赖状态。 - 执行 `npm audit fix`(非 `--force`)修复可向后兼容的漏洞。 3. 回退后验证: - `npm run build:clean` ✅ 通过 - `npm run type-check` ✅ 通过 - `npm run lint` ✅ 通过 ## 当前状态 - 运行 `npm audit --audit-level moderate` 仍报告 **12 个漏洞**(3 low / 3 moderate / 6 high)。 - 未修复的核心漏洞涉及 `next`、`postcss`、`@lhci/cli` 等,修复均需 breaking change。 - 由于封版阶段不适合引入 major version 升级与 @lhci/cli 的 git 依赖问题,决定将剩余漏洞记录为**已知遗留风险**,不在本次封版前强制修复。 ## 建议后续行动 - 上线后安排专项升级:`next` → 16.x、`eslint` → 9.x、`@lhci/cli` → 兼容版本。 - 在 `RELEASE_ACCEPTANCE_REPORT.md` 中明确列出未修复漏洞清单与风险等级。