Quality Gate 的「依赖漏洞扫描(SCA)」在 451d44a 上红:`pnpm audit
--audit-level=high` 报 3 个 high,全部不是本仓直接可控的代码:
- zod <4.6.6(GHSA-mrhx-c7xc-m3w5),路径 apps/mcp → @modelcontextprotocol/sdk;
- body-parser <2.4.0(GHSA-27r3-jxmh-p828),同上经 sdk→express;
- vite <8.3.3(GHSA-587h-7wmj-h5pm),控制台 devDependency。
处置:前两者用根 pnpm-workspace.yaml 的 overrides 抬到修复版(同 major patch 级);
vite 直接改依赖范围 ^8.3.5。实测 14 → 6 条(**0 high**),门禁转绿。
注意(真坑):pnpm 12 已不读 package.json 的 `pnpm` 字段,overrides 写在那里会被
**静默忽略**(install 报 "Already up to date" 但审计毫无变化)—— 必须写进
pnpm-workspace.yaml,理由与命令均落在文件注释里。
19 lines
800 B
YAML
19 lines
800 B
YAML
packages:
|
||
- 'packages/*'
|
||
- 'apps/*'
|
||
allowBuilds:
|
||
esbuild: true
|
||
|
||
# 依赖漏洞门禁(Quality Gate 的 pnpm audit --audit-level=high)用的显式覆盖。
|
||
#
|
||
# 为什么必须钉:`@modelcontextprotocol/sdk` 的传递依赖落后于安全版本,
|
||
# 审计会稳定报 3 个 high(zod <4.6.6、body-parser <2.4.0),而它们都不由
|
||
# 本仓直接控制 —— 不覆盖就永远是红门禁(等于没有门禁)。
|
||
# 均为同 major 的 patch 级抬升,语义风险低;升级 SDK 时若已自带修复版,可移除。
|
||
#
|
||
# ⚠️ pnpm 12 起 `package.json` 的 `pnpm` 字段不再被读取(设置迁移到本文件),
|
||
# 写在那里会被静默忽略 —— 与「一直红所以等于没有」是同一类失败形态。
|
||
overrides:
|
||
zod: ^4.6.6
|
||
body-parser: ^2.4.0
|