Files
junhong_cmp_fiber/.scratch/tech-public-foundation/issues/09-access-log-recursive-redaction.md
2026-07-22 15:43:18 +09:00

1.6 KiB
Raw Blame History

09 — 统一 Access Log 请求与响应递归脱敏

What to build: Access Log 对 query、请求体和响应体使用同一套大小写不敏感的递归脱敏能力覆盖嵌套对象和数组。日志先脱敏再执行 50KB 截断,并继续保留请求 ID、方法、路径、安全 query、状态、耗时、用户与终端信息及明确截断标志方便排障而不泄露可复用凭证。

Blocked by: None — can start immediately

Status: ready-for-agent

架构通道: Infrastructure。

完整业务边界: 本票收口公共敏感字段注册、query/请求/响应 JSON 脱敏、截断与访问日志元数据。明确不修改 Audit Event 或 Integration Log 模型、Writer 与查询,不改变业务响应内容。

  • 公共敏感字段至少覆盖密码、口令、Token、Authorization、Cookie、密钥、Secret、签名、Nonce、验证码、支付凭证和私密 URL匹配大小写不敏感。
  • query、请求 JSON 和响应 JSON 复用同一递归规则,嵌套对象、数组、非字符串敏感字段均被不可逆替换。
  • 请求体和响应体分别先脱敏后按 50KB 截断,并输出可机器识别的截断状态,不因序列化失败回退记录未脱敏 JSON。
  • 脱敏后仍保留方法、路径、安全 query、状态、耗时、请求 ID、IP、User-Agent、用户标识及请求/响应摘要。
  • 日志、注释和告警均使用中文,用户可见响应继续使用统一错误与响应格式。
  • 真实 Fiber 测试捕获最终 JSON 日志覆盖嵌套结构、数组、大小写变体、query、请求与响应、超长 body 和无法序列化场景。