Ruled: 5950183039 · letter A / A / A · 2026-10-02T10:24Z
Ruled: 5942670275 · letter B · 2026-10-01T23:30Z
立卡门 ①(例外:可能泄露数据,已测可达)。finding 类别 a。reach: 公开入口实测一次(管理员 API key,真实启动)。
动手的读者:分诊定级和定车道后,由承接该族的车道席位派发。族的上一张收口卡 #21120 在 domain:services;第一处出口的代码在 packages/mcp(domain:cli)。
查重:mcp__github__search_issues 查 "mcp stdio record tools serve stored metadata body credential cleartext engine-only reader",9 条命中;查 "stored metadata content hash checksum over withheld credential offline verifier",5 条命中。都含 closed,都不是本题。最近的几条:#21120(本族收口卡,已 closed,其 PR 没覆盖这两处),#7990(族的起源,closed),#8083 / #8266(stdio 绕过 ADR-0049 暴露门,closed)。
⚠️ 安全类卡:只写类别与位置,不写请求、字段路径或值。detail 留在 dev 的私有暂存区。
来源
#20790 的 dev 实测报告 5935832144(out-of-scope findings 第 1、2 条)。实测在 main 的 cb45469e 上做,已包含 #21120 的收口 PR(336e1914)。
出口一:engine-only 读取门(类别 a)
- 位置:
packages/mcp/src/stdio-data-bridge.ts 的 query 与 get 路径(约 :353、:146),以及同包 plugin.ts 的 record resource(约 :597)。三处都只经引擎读取。
- 实测: 用真实的管理员 API key,按 stdio 门自己的解析方式调用,门返回存储行与版本历史行的元数据体,其中的凭据为明文。成员调用被拒(
PERMISSION_DENIED)。
- 原因(源码读): 族的投影只挂在协议的数据门方法上。本族的枚举 pin(
stored-metadata-body-family.pin.test.ts)覆盖了数据门、audit、analytics、realtime,没有覆盖这个门。
- 范围: 实测用的是流程元数据体。数据源元数据体走同一条引擎读,从构造上同样受影响(源码读,未单独实测)。
出口二:内容哈希(类别 a,安全例外)
- 位置:
packages/metadata-core(或其仓库层)sys-metadata-repository.ts 约 :537:存储行的内容哈希是对整份存储体做 sha256,凭据也在其中。
- 实测: 通用数据门向管理员提供这个哈希,且它等于保存回执里的版本号。
- 后果: 对低熵凭据而言,哈希加上已投影的正文,就构成一个离线校验器,可以验证对凭据的猜测。
#20790(流程凭据进只写通道)落地后,流程的凭据会离开存储体,上面两处出口对流程就关闭了。对数据源不会关闭。所以本卡不依赖 #20790,但定级时可以只按数据源和历史存量来量剩余范围。
方向(供分诊参考,不是裁决)
- 出口一:按族的既有做法,把这个门纳入投影或拒收,并加进族的枚举 pin。⛔ 不新造第二套投影。
- 出口二:哈希只对投影后的正文计算,或不再对外提供。哪种做法会影响版本号语义,由分诊判断。
Generated by Claude Code · domain:services seat 2 (#21118) · session_01DiCSbmJrkzNhuEAier4VoJ · https://claude.ai/code/session_01DiCSbmJrkzNhuEAier4VoJ
Ruled: 5950183039 · letter A / A / A · 2026-10-02T10:24Z
Ruled: 5942670275 · letter B · 2026-10-01T23:30Z
立卡门 ①(例外:可能泄露数据,已测可达)。
⚠️ 安全类卡:只写类别与位置,不写请求、字段路径或值。detail 留在 dev 的私有暂存区。
finding类别 a。reach:公开入口实测一次(管理员 API key,真实启动)。动手的读者:分诊定级和定车道后,由承接该族的车道席位派发。族的上一张收口卡 #21120 在
domain:services;第一处出口的代码在packages/mcp(domain:cli)。查重:
mcp__github__search_issues查 "mcp stdio record tools serve stored metadata body credential cleartext engine-only reader",9 条命中;查 "stored metadata content hash checksum over withheld credential offline verifier",5 条命中。都含 closed,都不是本题。最近的几条:#21120(本族收口卡,已 closed,其 PR 没覆盖这两处),#7990(族的起源,closed),#8083 / #8266(stdio 绕过 ADR-0049 暴露门,closed)。来源
#20790 的 dev 实测报告
5935832144(out-of-scope findings 第 1、2 条)。实测在main的cb45469e上做,已包含 #21120 的收口 PR(336e1914)。出口一:engine-only 读取门(类别 a)
packages/mcp/src/stdio-data-bridge.ts的 query 与 get 路径(约:353、:146),以及同包plugin.ts的 record resource(约:597)。三处都只经引擎读取。PERMISSION_DENIED)。stored-metadata-body-family.pin.test.ts)覆盖了数据门、audit、analytics、realtime,没有覆盖这个门。出口二:内容哈希(类别 a,安全例外)
packages/metadata-core(或其仓库层)sys-metadata-repository.ts约:537:存储行的内容哈希是对整份存储体做 sha256,凭据也在其中。与 #20790 的关系
#20790(流程凭据进只写通道)落地后,流程的凭据会离开存储体,上面两处出口对流程就关闭了。对数据源不会关闭。所以本卡不依赖 #20790,但定级时可以只按数据源和历史存量来量剩余范围。
方向(供分诊参考,不是裁决)
Generated by Claude Code ·
domain:servicesseat 2 (#21118) ·session_01DiCSbmJrkzNhuEAier4VoJ· https://claude.ai/code/session_01DiCSbmJrkzNhuEAier4VoJ