Skip to content

fix(deps): 修复 brace-expansion 两条传递依赖路径 - #337

Merged
g1331 merged 1 commit into
masterfrom
fix/deps-brace-expansion-security
Oct 2, 2026
Merged

g1331 merged 1 commit into
masterfrom
fix/deps-brace-expansion-security

Conversation

@g1331

@g1331 g1331 commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Summary

修复 GHSA-q2hr-2g5m-vwhr 影响的两条 brace-expansion 传递依赖路径,仅更新 pnpm-lock.yaml(5 additions / 13 deletions)。

Related Issue

无关联 issue。
安全公告:GHSA-q2hr-2g5m-vwhr
Dependabot 失败任务:https://github.com/g1331/AutoRouter/actions/runs/36969596727/job/110720585603

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • Build/CI (dependency lockfile)

Changes

  • ESLint → minimatch 3.1.5 → brace-expansion:1.1.18 → 1.1.21;复用已有安全节点并删除旧节点。
  • TypeScript-ESLint → minimatch 10.2.6 → brace-expansion:5.0.9 → 5.0.12。
  • 上游范围分别为 ^1.1.7 和 ^5.0.8,均允许安全补丁,无需新增 overrides。
  • package.json、直接依赖、现有 overrides 和业务代码均无改动。
  • 本地下载受阻,采用定向锁文件编辑。5.0.12 的依赖和 Node 要求已核实上游 tag,SHA-512 与两个独立仓库锁文件一致;最终提交的 CI 已通过 pnpm 9.12.0 frozen install,验证实际 npm 包完整性。

Test Plan

以下 CI 结果均对应最终头提交 9dda35aee2410620e33e4f775f8420c374ec36de:

  • pnpm install --frozen-lockfile:成功;日志确认 pnpm 9.12.0。
  • pnpm lint
  • pnpm format:check
  • pnpm exec tsc --noEmit
  • pnpm test:run --coverage:254 个测试文件通过,3715 passed、1 skipped;V8 覆盖率 statements 79.03%、branches 74.86%、functions 73.26%、lines 80.03%。
  • Production Build:DB_TYPE=postgres pnpm build。
  • Migration Consistency:一致性检查、首次迁移、再次迁移的幂等验证均成功。
  • Proxy Stability:PostgreSQL smoke checks 成功。
  • Playwright E2E:作业成功,87 passed、1 flaky;tests/e2e/application-motion.spec.ts:124 的路由切换测试首次 toHaveURL 超时,retry test #1 通过。该测试和相关业务代码未修改。
  • GitHub Actions actionlint 与 Verify Status。
  • Docs 构建成功;PR 的 GitHub Pages 部署步骤 skipped。
  • CodeQL actions / javascript-typescript 分析与 CodeQL 汇总成功。
  • Codecov project / patch 检查成功。
  • 本地:YAML 解析、精确语义 diff、semver 范围校验、git diff --check。
  • 本地针对 GHSA-q2hr-2g5m-vwhr 的锁文件扫描:所有 brace-expansion 节点为 1.1.21 或 5.0.12;生产依赖路径不引用该包,开发依赖路径仅引用安全版本。
  • 完整 pnpm audit 和安装后 pnpm why brace-expansion:未运行。云环境 shell 的 npm/GitHub/PyPI 请求被代理 403 拒绝;pnpm 9.12.0 下载失败,依赖未在本地安装。定向锁文件扫描和 CodeQL 不替代完整 registry audit。
  • 本地 lint、格式、类型、Vitest、构建、migration、proxy stability、E2E:未运行;上述结果来自该提交的 GitHub Actions。
  • pre-commit:环境未安装该命令,安装也受访问限制;未将本地提交钩子记为通过。
  • Manual testing completed:无界面或业务改动,未额外手工测试。

CI:

Checklist

  • Changes follow dependency scope and Conventional Commit conventions
  • Tests have been added where necessary:锁文件变更复用既有验证
  • Documentation has been updated (if applicable):无文档变更需求
  • Targeted vulnerable dependency paths are fixed and CI passes
  • Full dependency audit completed:保留上述网络限制

Screenshots

不适用,无界面改动。

Additional Notes

基于已重新核实的最新 master b80f08a33e77503f6cc5209c1537e01adbb8c7e5;创建前没有开放的重复 PR。

Dependabot 日志显示先请求安装 pnpm 9.12.0,后续仍报告 11.25.0;执行 pnpm update brace-expansion@5.0.12 --lockfile-only --no-save -r 后退出成功但仍报告 1.1.18 无法升级,并出现 missing lockfile。这提示工具版本和传递依赖更新方式值得调查,但不能确认唯一根因或认定上游版本冲突。

Git push 和 gh 均被 shell 网络代理 403 阻碍,已通过授权 GitHub 连接器发布相同 blob/tree 的提交。已核实远端分支、PR 头提交与本地 HEAD 均为 9dda35aee2410620e33e4f775f8420c374ec36de,工作树干净。PR 保持 draft;未合并、未部署。

@g1331
g1331 marked this pull request as ready for review October 2, 2026 09:01
@g1331
g1331 merged commit fe84104 into master Oct 2, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant