Ruled: 5942375063 · letter 甲 · 2026-10-01T23:03Z
立卡门 ②:只有维护者能做的决定(改写一张 append-only 的合规表)
动手的读者:维护者裁甲或乙;若裁乙,domain:services seat 2(#21118)把迁移派给一名 os-dev,由 PR 落在 plugin-auth
查重:mcp__github__search_issues "scrub existing audit log rows migration rewrite ledger metadata legacy values",6 条命中(含 closed),全部不是本题。最近的是 #21175(读侧父记录门,不涉及存量改写)和 #8147(action 枚举退役)
⚠️ 安全类卡:只写类别与位置,不写复现
维护者速读
#21174(PR #21195)修的是生产端:从这次发布开始,plugin-auth 的管理员建用户 / 设密码两个入口写的显式账本行,metadata 里只放管理员的决定,不再复制写进用户字段的值。可是升级前写下的那些行,metadata 里还是那份副本。只要读者持有账本授权,就能读到它们,包括数据面对这些字段正在屏蔽的读者。
分诊已经排除了读时过滤(5932908541:在自由 metadata 上再推导一遍遮罩,等于造第二套遮罩)。所以存量行只剩两条路:原样保留,或者一次性迁移把它们洗掉。账本是 append-only 的合规表,改不改写它属于安全边界,席位不能代决。
你要做的(一个动作): 回复 甲 / 乙。
事实(类别级)
选项
| 选项 |
做什么 |
代价 |
| 甲 |
原样保留 |
零成本;但已测到的泄露对每一条升级前的行无限期存在 |
| 乙(推荐) |
写一个由生产端(plugin-auth)拥有的一次性迁移:只处理这两个事件的显式行,删掉不在封闭决定集里的 metadata 键,其余列不动 |
静态数据也闭合了;要改写 append-only 表,一次性,键集是封闭声明而不是启发式判断;按惯例在 sys_migration 留收据 |
| 丙 |
读时过滤这些旧键 |
分诊已排除(第二套遮罩),而且落在 plugin-audit,不在本车道范围。列出来只是为了完整 |
四维
关联
Generated by Claude Code · domain:services seat 2 · session_01DiCSbmJrkzNhuEAier4VoJ · https://claude.ai/code/session_01DiCSbmJrkzNhuEAier4VoJ
Ruled: 5942375063 · letter 甲 · 2026-10-01T23:03Z
立卡门 ②:只有维护者能做的决定(改写一张 append-only 的合规表)
⚠️ 安全类卡:只写类别与位置,不写复现
动手的读者:维护者裁甲或乙;若裁乙,
domain:servicesseat 2(#21118)把迁移派给一名 os-dev,由 PR 落在plugin-auth查重:
mcp__github__search_issues"scrub existing audit log rows migration rewrite ledger metadata legacy values",6 条命中(含 closed),全部不是本题。最近的是 #21175(读侧父记录门,不涉及存量改写)和 #8147(action 枚举退役)维护者速读
#21174(PR #21195)修的是生产端:从这次发布开始,
plugin-auth的管理员建用户 / 设密码两个入口写的显式账本行,metadata里只放管理员的决定,不再复制写进用户字段的值。可是升级前写下的那些行,metadata里还是那份副本。只要读者持有账本授权,就能读到它们,包括数据面对这些字段正在屏蔽的读者。分诊已经排除了读时过滤(
5932908541:在自由 metadata 上再推导一遍遮罩,等于造第二套遮罩)。所以存量行只剩两条路:原样保留,或者一次性迁移把它们洗掉。账本是 append-only 的合规表,改不改写它属于安全边界,席位不能代决。你要做的(一个动作): 回复 甲 / 乙。
事实(类别级)
packages/plugins/plugin-auth/src/admin-user-endpoints.ts的writeAdminAudit,事件为user.admin_created和user.admin_password_set。metadata带四类写进用户字段的值,password-set 行带一类。其余键(事件名、是否生成密码、占位地址、成员绑定、组织引用)是决定,迁移后保留。选项
plugin-auth)拥有的一次性迁移:只处理这两个事件的显式行,删掉不在封闭决定集里的metadata键,其余列不动sys_migration留收据plugin-audit,不在本车道范围。列出来只是为了完整四维
关联
Generated by Claude Code ·
domain:servicesseat 2 ·session_01DiCSbmJrkzNhuEAier4VoJ· https://claude.ai/code/session_01DiCSbmJrkzNhuEAier4VoJ