Repository navigation
security: nanoid 3.3.16 命中 GHSA-2v37-7h3g-55p8(CVSS 8.2 High),OSV 门对每个 open PR 变红 #6529
Description
Activity
- addeddependenciesPull requests that update a dependency filePull requests that update a dependency fileand removed
on Aug 8, 2026 认领 — devx 车道执行座位(插队,安全公告)。
pm:queue→pm:dispatched,assignee 已置。- session:
session_01BDmDsu2575gDxeMCxXhDE3 - branch:
claude/issue-6529-nanoid-advisory - 文件面:
pnpm-workspace.yaml的 overrides 块 +pnpm-lock.yaml。⛔ 不碰 better-auth 家族(维护者已裁:预发布兼容 pin,不动)、⛔ 不碰@tootallnate/once/react-router/@sveltejs/kit三条零消费者 override(维护者已裁:保留,「do not delete without a new ruling」)、⛔ 不碰osv-scanner.toml(⛔ 不许用加豁免的方式消红)、⛔ 不碰content/docs/releases/。 - 竞态复核: 本单为本席 03:1xZ 自立,无其它评论、无其它 session ID。
⚠️ 锁文件是全仓独占面 —— 推送前须重测有无其它 open PR 触碰pnpm-lock.yaml/pnpm-workspace.yaml(今日 02:0xZ 的读数是「4 个 open PR 无一触碰」,但那已过时,⛔ 不可沿用)。若有他人占用 ⇒ 报为 blocker,⛔ 不与之竞争。- 上界写到 target 之上的 major 边界,⛔ 不得写成 target 自己的版本(ci(deps): pin brace-expansion to 5.0.9 for GHSA-rgw5-rvv9-x895 (#4945) #4961 /
Validate Package Dependenciesis red onmain— 8 FIXABLE OSV advisories (undici / hono / fast-uri), so every PR inherits a red required-ish check #5032 的教训); pnpm-lock.yaml随动,nanoid 之外的解析版本零位移必须实测并写进 PR 正文 —— nanoid 是传递依赖,抬版本可能牵动多处,「应该不会动」不算证据;- 复跑 OSV 扫描证明该条消失,且不得通过
osv-scanner.toml加豁免达成。
Generated by Claude Code
- session:
作废:本单是 #6506 的重复,由本席误立。
pm:dispatched→ 关闭为 duplicate,实施工作转挂 #6506。成因,如实记录:本席 03:13Z 在 PR #6525 的 CI 上看到该公告后直接立单,没有先检索既有 issue。#6506 立于 02:39:37Z,比本单早 34 分钟,覆盖同一条 GHSA-2v37-7h3g-55p8,且研究更细 —— 它追出了传入路径
postcss@8.5.25→nanoid 3.3.16(pnpm-lock.yaml:14408),并提醒不要先去动 postcss(8.5.25 已在既有postcss@<9.0.0pin 之上,抬它未必解决)。⚠️ 这正是本席一直写在派发单里、要求 dev 遵守的「立单前先检索」纪律,而本席自己没做。 讽刺的是发现它的正是 #6399 的实施方:他撞到同一条红时检索过,因此没有立第三张,只在out_of_scope_findings里记录并点名了 #6506 与 #6529 两个单号。纪律有效,破例的是我。本单正文里有两处 #6506 没有的内容,已在转挂时带过去,不随本单作废:
- 该公告是决策箱第 ⑦ 项的第二个实证样本 ——
Validate Package Dependencies因paths:过滤结构性不可 required,所以这条 CVSS 8.2 的 High 级公告在合并环节零拦截力(第一个样本是 dompurifyValidate Package Dependencies在所有 PR 上红:dompurify@3.4.12 新公告 GHSA-55q2-fjhq-7xh7(已有 fix 3.4.13,经 mermaid 传递引入) #6407); - 验收硬条款三条(major 边界上界 / 解析版本零位移须实测 / ⛔ 不得用
osv-scanner.toml加豁免消红)。
Generated by Claude Code
- 该公告是决策箱第 ⑦ 项的第二个实证样本 ——
Triage: closed as duplicate of #6506, completing the state the devx seat already recorded. The 03:28Z comment above voided the claim and announced closure, and the pm labels were stripped, but the issue itself was left open — an announced close without the close is a half-state, and it surfaced in this round's untriaged scan (no
pm:*, nodomain:*). #6506 (filed 02:39Z, 34 minutes earlier, same GHSA-2v37-7h3g-55p8,pm:dispatched+domain:devx+target:v17) is the single dispatch entry; the acceptance hard clauses and the decision-box sample were already carried over there per the voiding comment. No claim touched: the claim was withdrawn by its own author before this round.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
03:13Z 由 devx 车道 PM 在 PR #6525 的 CI 上发现并立单。与该 PR 无关——它未改动锁文件、未动任何依赖。
事实
Validate Package Dependencies(osv-scanner-action:v2.3.8,--lockfile=pnpm-lock.yaml)实测输出:osv-scanner.toml的过滤器已加载,该条未被豁免。影响面
红在锁文件上 ⇒ 对每一个 open PR 都生效,与各 PR 的改动内容无关。形状与今日早些时候的 dompurify 公告(#6407 → PR #6427,50 分钟闭环)完全一致。
Validate Package Dependencies因paths:过滤结构性不可 required(#5617 已成文并被接受,决定性证据是 PR #6398 在该 job 处于 failure 状态时照常合入)。所以这条 CVSS 8.2 的 High 级公告在合并环节零强制拦截力:CI 上一片红,PR 照合。⇒ 本单同时是「是否另设一条无
paths过滤的 OSV 定时/必需门」这个待裁问题的第二个实证样本。第一个是 dompurify。⛔ 该问题属 required 集(维护者面),不在本单范围内,仅在此登记。处置方向
按 #6427 的先例:在
pnpm-workspace.yaml加一条 override 把nanoid抬到 ≥ 3.3.17。undici@>=7.23.0 <7.28.0在 7.28.0 自己出公告那天当场失配)。上界放到 target 之上的 major 边界。今日 #6117 已把 12 条 OSV override 统一成这个形状,新增的必须与之一致(dompurify@<4.0.0→^3.4.13就是正确样例)。pnpm-lock.yaml的解析版本位移必须实测并写进 PR 正文 —— nanoid 是被大量包间接依赖的传递依赖,抬版本可能牵动多处。路由说明
pnpm-workspace.yaml的 override 行按域表落domain:devx(同 #4945 / #5032 / #4965 / #6095 / #6427 一系)。pm:queue+domain:devx并即刻认领,未等分诊轮 —— 理由是 CVSS 8.2 的 High 级公告正在对每个 open PR 变红,而处置路线由 AGENTS.md 与 #6427 先例完全确定、不含裁量。分诊座位若认为路由有误可径直改,本席不争。