返回 Bug 清单
BUG-0750project-06中已修复backend-auth
test_state_tampered 构造性 flaky —— 改末位 base64 字符可能解码出相同字节
发现:2026-10-09验证:2026-10-29置信度:70%
症状
commit 7134baf2b7e2 (2026-10-02) fix(tests): test_state_tampered 构造性 flaky —— 改末位 base64 字符可能解码出相同字节
根因
commit message 描述: fix(tests): test_state_tampered 构造性 flaky —— 改末位 base64 字符可能解码出相同字节
修复方案
修复 14 行,删除 3 行。改动文件: tests/test_uc_sso.py
错误签名
fix(tests): test_state_tampered 构造性 flaky —— 改末位 base64 字符可能解码出相同字节 原实现取 state 的**末位**字符做篡改。base64url 末位可能只承载填充位:当 JWT payload
字节数 ≡1 或 2 (mod 3) 时,把末位换成 '0'/'1' 会解码出**完全相同的字节**,
签名依然有效 → verify_state 返回 True → 断言随机失败。
实测概率(各 800 次采样):payload ≡1 (mod 3) 约 23%、≡2 约 6%。
而 create_state 的 payload 含随机 state 与 iat/exp 时间戳,长度会变,
故该用例偶发翻车 —— 2026-10-02 全量跑中出现 1 次,单跑 6 次全过。
修复:改为篡改**中段**字符(必然改变一个完整 6 位组 → payload 改变 → 签名失效),
判定稳定。修复后连跑 8 次全过。技术信息
来源项目
project-06
涉及文件
tests/test_uc_sso.py
标签
git-sweep, auto-ingested, project-06, mcp-reported, source-agent