Skip to content

[finding] resolveExecCtx 的 .catch(() => undefined) 把执行上下文解析失败静默降级为「无上下文」— 该行为在包管理门上可达什么错误状态,未测 #13255

Description

@os-elon

#12537 的裁决(2026-08-29,维护者,live director session 决策批 #3,verbatim 「同意」)拆出:该卡只记录了「缝普查 = 3 不是 4」这一半,本卡承载它刻意不判的另一半。

事实(承 #12537 的测量,落地前需按其 Re-check 命令复核)

packages/rest/src/rest-server.ts:1483(行号为当时读数):

return this.resolveExecCtx(environmentId, req).catch(() => undefined);

resolveExecCtxprivate async,其一切 rejection 被吞——解析执行上下文失败时,调用方拿到 undefined,与「本来就没有上下文」不可区分。

要分诊的问题

  1. 可达性:生产中什么输入能让 resolveExecCtx reject?(坏 environmentId、数据源故障、权限解析异常……)逐类列举并实测,带正控。
  2. 每类 reject 被降级为 undefined 后,包管理门表现为什么? 匿名化处理?403?500?静默成功?其中有没有「本应 5xx 的服务端故障被伪装成权限拒绝/匿名访问」的组合——那是安全相关的静默降级。
  3. 若有不当组合:修法是区分「无上下文」与「解析失败」(后者抛出走声明式错误路径),属行为变更,按其时的门禁与条款②判。

⛔ 本卡不预设结论——#12537 刻意未判严重性,本卡的产出是上述测量,测完回分诊定级。

Refs

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions