feat: 完成T-503敏感信息提示与脱敏
- 保存或变更账号密码、AI API Key 前弹出本地明文保存提示 - 新增敏感值打码、结构化日志脱敏和自由文本替换工具 - 补充 GUI/appconfig 单测,覆盖明文提示和脱敏边界 - 同步任务看板、当前状态、架构、API、路由和编码规则文档
This commit is contained in:
@@ -633,3 +633,12 @@
|
||||
- 满 9 张完整换封面实测:新开测试 tab,执行 `replace_cover(..., image=1_TY030.jpg, old_cover_path=备份路径)`,结果 `ok=True`,删除后上传新图,图片数回到 9,新图 `index=0` 且为第一位,测试 tab 已关闭。
|
||||
- 安全边界:全程只操作新开的测试 tab,未点击「更新」保存线上;线上真实保存仍需走 ⑤ 安全开关和 ③ 二次确认。
|
||||
- 文档:`docs/06-tasks.md` 将 T-502 标为 DONE;同步 `docs/04-architecture.md`、`docs/api.md`、`docs/current-state.md`。
|
||||
|
||||
## 【2026-06-29】T-503 敏感信息本地明文保存提示与日志脱敏
|
||||
|
||||
- 状态:DONE
|
||||
- 变更:`app/gui.py` 在④账号管理保存/变更非空密码前弹出“本地明文保存提示”,在⑤设置保存/变更非空 API Key 前弹出同类提示;账号表格仍不展示密码,API Key 字段继续使用 `QLineEdit.Password` 打码。
|
||||
- 脱敏:`app/appconfig.py` 新增 `mask_secret()`、`sanitize_for_log()`、`redact_secrets()`;`AIModelTestWorker.execute()` 返回 GUI 前对测试连接结果做结构化脱敏;`test_ai_model()` 的异常文本会用已知 API Key 做替换。
|
||||
- 测试:`tests/test_appconfig.py` 覆盖结构化日志脱敏;`tests/test_gui.py` 覆盖保存 API Key 提示、账号密码保存提示、表格/状态不泄露明文、AI 测试 worker payload 脱敏。
|
||||
- 文档:`docs/06-tasks.md` 将 T-503 标为 DONE;同步 `docs/02-requirements.md`、`docs/03-tech-stack.md`、`docs/04-architecture.md`、`docs/05-coding-rules.md`、`docs/api.md`、`docs/routes.md`、`docs/current-state.md`。
|
||||
- 验证:`python -m unittest discover -s tests -p test_appconfig.py` 通过(5 tests);`python -m unittest discover -s tests -p test_gui.py` 通过(44 tests);`python -m compileall app main.py tests` 通过;`python -m unittest discover -s tests` 通过(107 tests)。
|
||||
|
||||
Reference in New Issue
Block a user