修复bug及添加日志打印
This commit is contained in:
14
findings.md
14
findings.md
@@ -567,3 +567,17 @@
|
||||
- 项目创建、项目基础信息与运行规则已经使用 form submit 和明确保存按钮;后台唯一的点击即提交维护项是账号维护。
|
||||
- 账号维护现在本地组合角色、状态和项目权限草稿,仅在用户点击“保存修改”后调用一次更新 API。
|
||||
- 服务端对最后一个启用管理员的降级或停用返回 `409 LAST_ACTIVE_ADMIN`,不再仅依赖前端防误触。
|
||||
|
||||
# 2026-07-28 关键接口日志审计
|
||||
|
||||
- 当前 `accessLog` 只记录 request_id、method、path、status 和 duration_ms,不记录业务出入参。
|
||||
- 统一中间件比逐 Handler 埋点更小、更不易漏接口;仅对 `/api/` 业务接口记录正文,健康检查、SSE 事件流和 CSV 导出不捕获正文。
|
||||
- 手机号、密码、Cookie、Authorization、状态 token 等不能原样写日志;JSON 字段需递归脱敏,查询参数也需按字段名脱敏。
|
||||
- 请求/响应正文必须设置大小上限,防止队列快照、历史查询等大响应放大日志和内存占用。
|
||||
- 文档明确禁止普通应用日志记录完整手机号、姓名、密码、Cookie 与访客/公示 Token;实现采用现有路由白名单、递归脱敏及 64 KiB 上限。
|
||||
- 现有中间件顺序还会让 panic 绕过访问日志并丢失 request_id;将 request_id 和 accessLog 放在 recoverPanic 外层后,500 可被统一记录。
|
||||
- SSE 与 CSV 下载不捕获响应正文;Idempotency-Key 仅记录是否存在,不记录原值。
|
||||
- 请求正文先按路由对应 DTO 严格校验;未知字段、类型错误或不支持的正文只记录省略原因,避免攻击者借无效请求向普通日志写入任意隐私内容。
|
||||
- 查询参数按路由白名单投影;历史手机号查询只保留尾四位,其他自由查询只记录是否存在。
|
||||
- 账号名的 `username`、`display_name`、`created_by`、`requested_by` 等别名统一脱敏,UUID 形态用户名也不例外。
|
||||
- ResponseWriter 仅在底层实际支持时暴露 `http.Flusher`;已提交响应后发生 panic 时不再追加错误 JSON。
|
||||
|
||||
Reference in New Issue
Block a user