ENGINEERING NOTE 40 / 50 · CARD
日志写入前脱敏卡片与认证数据
脱敏应发生在日志写入边界,而不只在看板。已写入存储的敏感数据会通过导出备份扩散。
本文由 OPEN RAMBO 发布。工程方案和伪代码用于说明设计,不是现有产品 API 文档;示例数字均为演示。
优先结构化允许列表
记录操作分类、安全编号、状态和耗时。支付接口避免完整请求响应转储。错误序列化可能包含认证头或带凭据上游URL,也要检查嵌套错误。
分层控制
应用脱敏之外还要限制访问和留存。不能靠一个正则识别所有秘密。故障期间也不要开启敏感正文调试日志。
使用虚构秘密测试
在错误样例中放明显虚构Token和卡数据标记,搜索输出并断言不存在。这样验证真实日志路径,不在测试报告暴露客户资料或凭据。
示意流程
log.info({"operation":"card_load", "reference":safe_id,
"status":"pending", "duration_ms":elapsed})
# No headers, full card data, OTPs or raw bodies.如何验收
检查正常、异常和超时日志,只在成功路径脱敏不算完成。