Skip to content

fix(dsh): patch proxy-addr development dependency - #6248

Merged
loopx-agent merged 1 commit into
mainfrom
codex/release-140-dsh-proxy-addr
Oct 11, 2026
Merged

loopx-agent merged 1 commit into
mainfrom
codex/release-140-dsh-proxy-addr

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

The DSH plugin development lockfile resolves Express through the MCP SDK to vulnerable proxy-addr 2.0.7 (GHSA-jqcg-44mw-7w3h). Resolve only that package and Express edge to 2.0.8, retaining the other dependency graph, peer versions and existing fflate override.

Validation: pnpm 10.33.0 frozen install; the actual vendor IPv4-mapped-subnet counterexample changes from trusting an outside IPv4 address to rejecting it, while valid IPv4/mapped subnet behavior is preserved. Typecheck, 207 tests, build, client artifact, peer-range, isolated profile and real GoalBar runtime checks pass. A packed-artifact inspection excludes the SDK/proxy dependency. Final exact-head premerge passes six selected checks and three direct checks, with no failures, skips or holds; the exact-scope quality receipt verifies. The repository-qualified pnpm version is used; the initial ambient pnpm 11 runner failed before validation and is retained as environment evidence.

This is a development dependency repair on main. It does not update an independently installed DSH host dependency graph or move the frozen v1.4.0 release tag. No new product contract or state owner is added; the bounded refactor pass found no necessary companion abstraction.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent; model=gpt-6.1-sol; provider=OpenAI; runtime_reported; reasoning_effort=xhigh

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

精确 head fe6eeb1d02a3d7287b633687eeb8aef2380c081f。

动机

使用仓库锁文件搭建 DSH 插件开发和验证环境的贡献者。开发环境的 Express 仍解析到 proxy-addr 2.0.7;将信任网段写成短前缀的 IPv4-mapped IPv6 地址时,它会错误信任网段外的 IPv4 地址。冻结安装解析到修补后的 2.0.8,真实 vendor 接口拒绝该外部地址,同时正常 IPv4 和正确 mapped 网段保持原行为。本 PR 仅修复开发锁文件,不更新独立安装的 DSH Host,不改 LoopX 权限或运行规则,也不移动 v1.4.0 tag。正式版本的 PyPI、桌面与签名更新制品仍等待原托管发布工作流,不能由这项开发依赖修复宣布完成。

改动思路

现有 pnpm 锁文件就是开发依赖解析 owner;仅更新 package 记录和 Express 边,不新建过滤器、override 或兼容层。完整锁文件结构比较证明只有这一个 transitive package 的身份、完整性和引用发生变化,原 DSH peer 版本、importer、fflate override 与其他依赖保持原状。广泛更新 SDK、DSH 或重新解析全部 lock 会增加无关风险;没有必要新增安全过滤器或产品开关。

具体改动

packages/dsh-loopx-plugin/pnpm-lock.yaml:4429 更新 registry-confirmed 2.0.8 package 与 integrity;:10767 把 Express 5.2.1 的依赖边指向修补版本;:11392 对应 snapshot 改名,forwarded 0.2.0 和 ipaddr.js 1.9.1 保持不变。规范依据是上游安全公告和既有 README 的 pnpm 10.33.0 冻结安装要求,无新产品 RFC。实际安装后从 Express 的 module resolution 读回 2.0.8;同一合成网段/IP 在原 vendor 返回错误信任,在修补 vendor 拒绝,正确 /8 与 mapped /104 内外地址行为均保留。

对主干的风险

只更新开发锁文件,manifest 与代码无改动。真实 pnpm 10.33.0 frozen install、类型检查、207 项测试、构建、client artifact、peer-range、隔离 profile、真实 GoalBar runtime 和六项风险选择检查通过。打包结果没有生产 dependencies,也未含 SDK/proxy 实现;不能将此当作独立 DSH Host 已修补的证明。没有 PostgreSQL、存储、quota、权限、UI first-screen、agent 决策文字或新状态分类改动。

初始环境的 pnpm 11 在验证前失败并忽略旧 override;其 broad regeneration 已撤掉,原失败证据保留,后续使用仓库规定版本完成全部检查。一次 distribution 命令缺少必需 tarball 参数;它负责 npm 已发布产物回读,不适用于这次不发布插件的主线锁修复。已独立检查实际 packed bytes 与安装/禁用/移除流程。质量回执缺失的初始 gate 保留;精确提交回执和最终 premerge 后才合并。未查询 PR CI;未声称 Windows/Docker、新 npm 发布或现有 Host 更新通过。

我的整体评价

APPROVE,justified_increment。真实开发依赖缺陷已修复,范围完整、易回退且由现有解析 owner 承担。现有 pnpm 锁文件就是开发依赖解析 owner;仅更新 package 记录和 Express 边,不新建过滤器、override 或兼容层。本 PR 仅修复开发锁文件,不更新独立安装的 DSH Host,不改 LoopX 权限或运行规则,也不移动 v1.4.0 tag。未来简化核对后,无需额外 abstraction、兼容分支或复制 vendor 测试到仓库。继续发布仍由原冻结版本工作流完成,必须保留已通过、失败及待核验的区别;合并须遵守原维护者授权与 unchanged-head readiness。

English verdict: APPROVE at fe6eeb1d02a3d7287b633687eeb8aef2380c081f. Targeted development lock repair resolves proxy-addr 2.0.8 through actual Express; the vulnerable mapped-subnet counterexample is rejected and valid subnet parity remains. Frozen install, independent whole-graph comparison, typecheck, 207 tests, packed artifact/profile/real runtime and risk checks pass. Independent installed DSH Hosts and the immutable v1.4.0 tag are unchanged; publication completion remains pending.

@loopx-agent
loopx-agent merged commit 3054cdc into main Oct 11, 2026
6 checks passed
@loopx-agent
loopx-agent deleted the codex/release-140-dsh-proxy-addr branch October 11, 2026 16:21
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