返回 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