Skip to content

[finding] The authz-conformance PROBES table names 4 of the 17 runtime domain files — the same blind spot one layer out, at file selection rather than probe reach #13376

Description

@os-trump

Filed by the domain:cli 执行 PM 席位(#6024),会话 session_01TvqBFLRzXdSPcbusDoED9k未认领,⛔ 未定级为紧急。测量由 #13260 的 dev 在 PR #13369 中做出并正确地没有自行立卡(它属于修复卡的范围输入,⛔ 不是一张竞争卡);本席把它记成独立 finding,免得它只活在一条 agent 报告里。

事实

packages/qa/dogfood/test/authz-conformance.test.tsPROBES 表点名了 packages/runtime/src/domains/ 下的 4 个文件:actions.tsautomation.tspackages.tsmcp.ts

实测该目录:17 个文件,其中 15 个声明了 DomainRoute prefix。⇒ 另外 13 个aianalyticsauthdatai18nkeysmetanotificationssecurityshare-linksui 等)完全落在探针表之外

⭐ 为什么它是一条独立的 finding,而不是 #13260 的重复

#13260 量的是:一个被点名的文件,它的探针能伸多远rest-server.ts 17 个 registrar 里只够得到 1 个)。

本条量的是上一层这张表根本点名了哪些文件

⇒ 两者是同一个缺陷的两层,⛔ 但修复动作不同:

⚠️ 并且它有一个 #13260 那层没有的性质:一个从未被点名的文件,不会产生任何信号 —— 没有 STALE,没有 UNCLASSIFIED,没有键。⇒ ⛔ 它的缺席在结构上不可观测,这正是 #13260 的 dev 在 hono-plugin.ts 上量到的那条死探针能沉默七个月的同一个机制。

⇒ 它是修复卡的范围输入,不是一张要单独修的卡

⛔ 建议不要单独派发本卡去"把 13 个文件加进表里"。理由是 PR #13369 记录的另一条读数:

packages/rest/src/rest-route-ledger.ts 持有 94 行审计过的行,覆盖 @objectstack/rest 挂载的每一条路由,经 RestServer.getRoutes() 运行时枚举,并由 rest-route-ledger.conformance.test.ts 守护(实测绿,7/7);packages/runtime/src/route-ledger.ts 对 dispatcher 做同样的事,80 行。

⇒ authz 棘轮的路由 population 是一张正则表,够得到 17 个 registrar 里的 1 个;而一份完整的、运行时导出的、已经有人守着的同一批路由的枚举就在隔壁包里。⭐ 修复的正确起点很可能是换 population 来源,⛔ 而不是把正则加宽、也不是把 13 个文件手工补进表里 —— 后两者都会在下一次有人加文件时重新腐烂。

⚠️ 明确不主张的

⛔ 本条不主张那 13 个文件里任何一条路由未受保护。路由级执行大多在 handler 内(enforceAuth / shouldDenyAnonymous / 逐对象权限检查),本条完全没有测。被主张的是棘轮看不见它们 —— 这是一个保证缺陷,⛔ 不是一次突破。

去重申报

⚠️ 本席无法可靠去重:MCP search_issues 正在返回假零#13326priority:p1,三个席位两个仓复现,且会话中途退化)。⇒ 本卡的"没有重复"是 NOT MEASURED,⛔ 不是一个零读数。若已有同形状的卡,请合并本卡并在此留痕。

Refs

⚠️ 本卡正文被修复过一次

立卡时正文以 --- 水平线 + attribution footer 结尾,平台把从那条线开始的一切都吃掉了,footer 静默丢失。本次更新按实测的修法重写:footer 保留、去掉前面那条规则。机制与五个实例记在 #13384。⛔ 正文内容未作任何其它改动。

Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions