未认领。 实现 #4930(PR #4941)时撞到:那条 PR 只动了三个 scripts/check-*.mjs 和根 package.json 的一行,但 **/package.json 命中了 validate-deps.yml 的 paths 过滤,于是 Validate Package Dependencies 被触发并判红——红在 pnpm-lock.yaml,一个该 PR 从未碰过的文件。按 Prime Directive #10 单独归档,不在那条 PR 里顺手改。
现象
google/osv-scanner-action 扫 pnpm-lock.yaml:
Total 1 package affected by 1 known vulnerability (0 Critical, 1 High, 0 Medium, 0 Low, 0 Unknown) from 1 ecosystem.
1 vulnerability can be fixed.
+-------------------------------------+------+-----------+-----------------+---------+---------------+----------------+
| OSV URL | CVSS | ECOSYSTEM | PACKAGE | VERSION | FIXED VERSION | SOURCE |
+-------------------------------------+------+-----------+-----------------+---------+---------------+----------------+
| https://osv.dev/GHSA-rgw5-rvv9-x895 | 7.5 | npm | brace-expansion | 5.0.8 | 5.0.9 | pnpm-lock.yaml |
+-------------------------------------+------+-----------+-----------------+---------+---------------+----------------+
Exit code: 1
Job:https://github.com/objectstack-ai/objectstack/actions/runs/30834687809/job/91756879046
原因
pnpm-lock.yaml:29 已经有一条为上一次同包公告加的 override:
brace-expansion@>=5.0.0 <5.0.8: ^5.0.8
新公告把 5.0.8 本身划进受影响区间(fixed 在 5.0.9),而这条 override 的上界正好停在 5.0.8,于是它不再覆盖。锁文件里 brace-expansion@5.0.8 与 5.0.9 同时存在(5222/5226、12070/12074 行),说明仍有依赖解析到 5.0.8。修法应是把 pnpm-workspace.yaml 里对应的 override 区间推到 <5.0.9: ^5.0.9 并重装锁文件,而不是给扫描器加豁免。
为什么之前没红
validate-deps.yml 的 PR 触发是 paths 过滤的(**/package.json、pnpm-lock.yaml、pnpm-workspace.yaml、两个 check 脚本、工作流自身),schedule 是每周一 03:00 UTC。所以:
也就是说这条红与改动内容无关,是数据库时间线 + paths 过滤共同造成的:它会在下一次周一定时运行时(或任何一条动 package.json 的 PR 上)照样出现。副作用是,在修掉之前,每一条改 package.json 的 PR 都会带着一条与自己无关的红,这正是让人学会略过红勾的那种噪声。
复现
改任意 package.json 一行开 PR,或 workflow_dispatch 手动跑 validate-deps.yml。
未认领。 实现 #4930(PR #4941)时撞到:那条 PR 只动了三个
scripts/check-*.mjs和根package.json的一行,但**/package.json命中了validate-deps.yml的 paths 过滤,于是Validate Package Dependencies被触发并判红——红在pnpm-lock.yaml,一个该 PR 从未碰过的文件。按 Prime Directive #10 单独归档,不在那条 PR 里顺手改。现象
google/osv-scanner-action扫pnpm-lock.yaml:Job:https://github.com/objectstack-ai/objectstack/actions/runs/30834687809/job/91756879046
原因
pnpm-lock.yaml:29已经有一条为上一次同包公告加的 override:新公告把 5.0.8 本身划进受影响区间(fixed 在 5.0.9),而这条 override 的上界正好停在 5.0.8,于是它不再覆盖。锁文件里
brace-expansion@5.0.8与5.0.9同时存在(5222/5226、12070/12074 行),说明仍有依赖解析到 5.0.8。修法应是把pnpm-workspace.yaml里对应的 override 区间推到<5.0.9: ^5.0.9并重装锁文件,而不是给扫描器加豁免。为什么之前没红
validate-deps.yml的 PR 触发是 paths 过滤的(**/package.json、pnpm-lock.yaml、pnpm-workspace.yaml、两个 check 脚本、工作流自身),schedule 是每周一 03:00 UTC。所以:package.json的 PR 才会撞上。也就是说这条红与改动内容无关,是数据库时间线 + paths 过滤共同造成的:它会在下一次周一定时运行时(或任何一条动
package.json的 PR 上)照样出现。副作用是,在修掉之前,每一条改package.json的 PR 都会带着一条与自己无关的红,这正是让人学会略过红勾的那种噪声。复现
改任意
package.json一行开 PR,或workflow_dispatch手动跑validate-deps.yml。