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

pnpm audit检测到path-to-regexp漏洞,pnpm why无法定位其来源

问题分析与解决方案

可能的原因

  • 依赖为可选/peer依赖:@nestjs/platform-fastify可能将path-to-regexp作为可选依赖或peer依赖引入,这类依赖默认不会被pnpm why在常规检测中抓取,但会留存于lock文件内。可尝试添加参数执行:pnpm why path-to-regexp --depth=10 --include-optional。
  • lock文件未同步:本地依赖树已更新,但lock文件残留旧依赖条目。执行pnpm install重新生成lock文件后,再检查该版本依赖是否还存在。
  • 深层嵌套依赖未被遍历:pnpm why的深度限制可能未覆盖到实际嵌套层级,或遍历逻辑未触达子依赖的子依赖。可去掉深度限制直接执行pnpm why path-to-regexp,或直接查看lock文件内该版本的完整依赖链,定位引入路径。
  • pnpm版本兼容问题:不同版本的pnpm在依赖解析和why命令处理上存在差异。升级pnpm到最新稳定版后,重新执行pnpm why和pnpm audit验证。

修复建议

  1. 通过lock文件定位path-to-regexp@3.2.0的完整依赖链,找到最终引入它的包。
  2. 若@nestjs/platform-fastify直接依赖该版本,检查其最新版本是否已升级path-to-regexp,如有则直接升级@nestjs/platform-fastify到修复后的版本。
  3. 若无法升级上游包,可在package.json中添加pnpm.overrides字段强制升级:
{
  "pnpm": {
    "overrides": {
      "path-to-regexp": "^3.3.0"
    }
  }
}

执行pnpm install即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 21:27:04