背景

日志泄露凭据往往发生在错误分支:一次完整请求 dump,就能绕过正常路径的脱敏。规则应位于统一日志入口。

核心判断

  1. 敏感字段优先采用允许列表,凭据直接替换为固定占位符。
  2. 嵌套结构、URL 查询参数和异常文本也纳入检查。
  3. 需要稳定关联时使用专门设计的受控标识,不保留 token 前后缀。

最小示例

下面保留核心逻辑;业务类型、调用入口和环境配置按项目补齐。

func RedactToken(_ string) string {
    return "[REDACTED]"
}

func LogRejectedRequest(requestID, token string) {
    slog.Info("request rejected",
        "request_id", requestID,
        "authorization", RedactToken(token),
    )
}

边界与误区

部分展示凭据仍然泄露信息,不是默认安全的脱敏方案。哈希个人数据也不自动意味着匿名化;保留期限与查询权限仍需控制。

验证方式

用测试 token、邮箱和嵌套请求触发成功及失败日志,搜索原文与片段;同时检查 trace 事件、告警通知和错误响应中的信息。

小结

建立字段分类和集中脱敏组件,默认拒绝未知敏感字段并限制访问和保留。