fix(store-accounts): 按明文存储规则修正密码状态 #21
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "codex/xuxiake-mainline"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
passwordConfigured仍按旧v1:AES-GCM 格式判断,当前生产已按新规则将密码保存为明文,导致 958 行全部误报为 false。本次改为按存储值非空判断,兼容任意密码字符及历史读取逻辑;视图仍不返回密码。迁移在事务内校验原字段逐行内容、视图所有者和 ACL 不变,异常时整体回滚。
验证:
+、/、=的虚构明文密码正确标记并可经受控接口读取。生产密码及银行卡数据不在本迁移中修改。部署前将备份视图定义、ACL/所有者及数据库,发布后使用只读聚合验收。
已按用户确认的当前明文存储规则完成生产修复。
9965c93c后已将密码和银行卡号改为明文存储;旧视图仍仅识别v1:密文,因此 958 行全部误报 false。passwordConfigured = (passwordCiphertext <> ''),不限制密码字符集,不返回密码。pg_restore --list:172751292 字节,SHA-256ce77c0d6432bbaa161011afd34f0cdf309fa4f7a02f9f248baf427d7770cf4ab。备份保存在生产受限目录,包含明文敏感数据,不进入 Git 或普通日志。20260909100000_fix_store_account_password_configured_plaintext已由 DBA 执行并登记;事务内验证原字段逐行内容、视图所有者和 ACL 不变。f615161d8c057e57925e46fc1eee6eb40a08b397。passwordConfigured为末尾 boolean,true/false/null=957/1/0。store_account_reader身份复核:可读accounts_v1;账号基表、密码列、审计表均不可读。/api/health正常。+、/、=的虚构明文密码;相关 5 套件 45 项测试、type-check、Prisma validate 通过。未修改任何现有密码、银行卡号、服务令牌或第三方数据库账号。未采用跳过证书验证的接入建议。
progress:sync脚本在当前基线不存在,因此未执行。这是自审,不是独立复审;结论 passed with warnings,仅保留全仓库既有检查项。