Skip to content

fix: redact sensitive database URL query params in persistence logs#478

Merged
liujuanjuan1984 merged 1 commit intomainfrom
issue-465-evaluation
May 6, 2026
Merged

fix: redact sensitive database URL query params in persistence logs#478
liujuanjuan1984 merged 1 commit intomainfrom
issue-465-evaluation

Conversation

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator

@liujuanjuan1984 liujuanjuan1984 commented May 6, 2026

Summary

  • 仅实现 database_url 的 query-string 级别脱敏,不扩展 #465 的其它候选项
  • 新增共享 helper,统一用于启动持久化摘要与 SDK task schema 兼容报错中的数据库 URL 输出
  • 不恢复 push notification capability,也不扩展 runtime-state 范围
  • 补充测试,覆盖敏感 query 参数脱敏与持久化摘要输出

Validation

  • bash ./scripts/doctor.sh
  • uv run pytest tests/server/test_task_store_factory.py tests/server/test_app_behaviors.py --no-cov -q

Issue Relation

@liujuanjuan1984 liujuanjuan1984 changed the title fix: redact sensitive database query params in persistence logs fix: redact sensitive database URL query params in persistence logs May 6, 2026
@liujuanjuan1984
Copy link
Copy Markdown
Collaborator Author

独立审查结论:未发现阻塞性问题,可以进入人工评审。

本次审查看了代码变动、测试覆盖、PR 标题/描述,以及与相关 issue 的关系,结论如下:

  • 代码范围合理:实现严格收敛在 database_url 的 query-string 脱敏,没有把 #465 重新扩回 push config wiring、runtime-state 扩表或额外文档重构。
  • 实现方式合理:共享 helper 同时用于启动持久化摘要和 SDK task schema 兼容报错,覆盖了当前两个真实的数据库 URL 输出路径,避免只修一处留下旁路泄漏。
  • 实现足够稳健:敏感 key 采用大小写不敏感匹配,现有 hide_password=True 继续负责 userinfo 中的口令脱敏,这次补的是 query 参数这一层缺口,两层职责清晰。
  • 测试合理:既校验 helper 的直接行为,也校验持久化摘要中的脱敏结果;摘要测试没有把 query 参数顺序当作 contract,这点是对的,因为 URL 渲染路径本身会规范化顺序。
  • 回归结果正常:bash ./scripts/doctor.sh 已通过;补充的相关测试也已通过。
  • PR 关系准确:Closes #465 合理,因为本 PR 已完成该 issue 缩窄后唯一值得落地的改动;Related #451 也合理,因为本 PR 没有恢复 push notification capability,只与其分层边界相关。

当前未看到需要进一步修正的偏差、遗漏或冗余项。

@liujuanjuan1984 liujuanjuan1984 merged commit a770c90 into main May 6, 2026
3 checks passed
@liujuanjuan1984 liujuanjuan1984 deleted the issue-465-evaluation branch May 6, 2026 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Priority: Med] [TechDebt] 汇总可从 codex-a2a-serve 借鉴的 DB 持久化点

1 participant