148 lines
4.7 KiB
Markdown
148 lines
4.7 KiB
Markdown
|
|
# 审计日志增强设计文档修复报告
|
|||
|
|
|
|||
|
|
> 修复日期:2026-04-02
|
|||
|
|
> 原文档:`docs/audit_log_enhancement_design_v1_2026-04-02.md`
|
|||
|
|
> 评审报告:`reports/review/audit_log_enhancement_design_review_2026-04-02.md`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 修复概述
|
|||
|
|
|
|||
|
|
根据评审报告,共修复6个问题(3个高严重度 + 3个中严重度),修复后设计与TOK-002/XR-001/合规能力包保持一致。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 修复清单
|
|||
|
|
|
|||
|
|
### 高严重度问题(Must Fix)
|
|||
|
|
|
|||
|
|
#### 1. invariant_violation事件未定义 [FIXED]
|
|||
|
|
|
|||
|
|
**问题描述**:XR-001明确要求"所有不变量失败必须写入审计事件invariant_violation",但设计中SECURITY大类为空。
|
|||
|
|
|
|||
|
|
**修复内容**:
|
|||
|
|
- 在3.6节新增SECURITY事件子类
|
|||
|
|
- 添加`INVARIANT-VIOLATION`子类(直接关联M-013)
|
|||
|
|
- 增加`INVARIANT-VIOLATION`事件详细定义,包含6个不变量规则:
|
|||
|
|
- INV-PKG-001:供应方资质过期
|
|||
|
|
- INV-PKG-002:供应方余额为负
|
|||
|
|
- INV-PKG-003:售价不得低于保护价
|
|||
|
|
- INV-SET-001:`processing/completed`不可撤销
|
|||
|
|
- INV-SET-002:提现金额不得超过可提现余额
|
|||
|
|
- INV-SET-003:结算单金额与余额流水必须平衡
|
|||
|
|
|
|||
|
|
**修复位置**:文档第142-161行
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### 2. M-014与M-016指标边界模糊 [FIXED]
|
|||
|
|
|
|||
|
|
**问题描述**:M-014要求"覆盖率=100%",M-016要求"拒绝率=100%"。如果query key请求被拒绝,该事件如何影响M-014计算?
|
|||
|
|
|
|||
|
|
**修复内容**:
|
|||
|
|
- 在8.2节M-014下新增"M-014与M-016边界说明"小节
|
|||
|
|
- 明确M-014分母定义:经平台凭证校验的入站请求(`credential_type = 'platform_token'`),不含被拒绝的无效请求
|
|||
|
|
- 明确M-016分母定义:检测到的所有query key请求(含被拒绝的)
|
|||
|
|
- 说明两者互不影响的原因
|
|||
|
|
|
|||
|
|
**示例说明**:
|
|||
|
|
- 80个platform_token请求 + 20个query key请求(被拒绝)
|
|||
|
|
- M-014 = 80/80 = 100%(分母只计算platform_token请求)
|
|||
|
|
- M-016 = 20/20 = 100%(分母计算所有query key请求)
|
|||
|
|
|
|||
|
|
**修复位置**:文档第961-973行
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### 3. API幂等性响应语义不完整 [FIXED]
|
|||
|
|
|
|||
|
|
**问题描述**:POST /api/v1/audit/events支持X-Idempotency-Key,但未定义409冲突和202处理中的响应语义。
|
|||
|
|
|
|||
|
|
**修复内容**:
|
|||
|
|
- 在6.1节新增"幂等性响应语义"小节
|
|||
|
|
- 定义4种状态码场景:
|
|||
|
|
- 201:首次成功
|
|||
|
|
- 202:处理中
|
|||
|
|
- 409:重放异参(幂等键已使用但payload不同)
|
|||
|
|
- 200:重放同参(幂等键已使用且payload相同)
|
|||
|
|
- 提供每种场景的响应体示例
|
|||
|
|
|
|||
|
|
**修复位置**:文档第537-549行
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 中严重度问题(Should Fix)
|
|||
|
|
|
|||
|
|
#### 4. 事件命名与TOK-002不完全对齐 [FIXED]
|
|||
|
|
|
|||
|
|
**问题描述**:TOK-002使用`token.query_key.rejected`,设计使用`AUTH-QUERY-REJECT`,语义相同但命名风格不一致。
|
|||
|
|
|
|||
|
|
**修复内容**:
|
|||
|
|
- 在12.1.1节新增"事件名称与TOK-002对齐映射"小节
|
|||
|
|
- 建立5个事件的等价映射关系:
|
|||
|
|
- AUTH-TOKEN-OK <-> token.authn.success
|
|||
|
|
- AUTH-TOKEN-FAIL <-> token.authn.fail
|
|||
|
|
- AUTH-SCOPE-DENY <-> token.authz.denied
|
|||
|
|
- AUTH-QUERY-REJECT <-> token.query_key.rejected
|
|||
|
|
- AUTH-QUERY-KEY(仅审计记录)
|
|||
|
|
- 说明两种命名风格的适用场景
|
|||
|
|
|
|||
|
|
**修复位置**:文档第1305-1318行
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### 5. 错误码规范缺失 [FIXED]
|
|||
|
|
|
|||
|
|
**问题描述**:未与现有错误码体系(SUP_*/AUTH_*/SEC_*)进行对齐验证。
|
|||
|
|
|
|||
|
|
**修复内容**:
|
|||
|
|
- 在12.2.1节新增"错误码体系对照表"
|
|||
|
|
- 对齐TOK-002错误码:AUTH_MISSING_BEARER、AUTH_INVALID_TOKEN、AUTH_TOKEN_INACTIVE、AUTH_SCOPE_DENIED、QUERY_KEY_NOT_ALLOWED
|
|||
|
|
- 对齐XR-001错误码:SEC_CRED_EXPOSED、SEC_DIRECT_BYPASS、SEC_INV_PKG_*、SEC_INV_SET_*
|
|||
|
|
- 对齐供应侧错误码:SUP_PKG_*、SUP_SET_*
|
|||
|
|
- 明确每个错误码对应的审计事件
|
|||
|
|
|
|||
|
|
**修复位置**:文档第1337-1349行
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### 6. M-015直连检测机制未详细说明 [FIXED]
|
|||
|
|
|
|||
|
|
**问题描述**:target_direct字段存在但"跨域调用检测"的实现机制未描述。
|
|||
|
|
|
|||
|
|
**修复内容**:
|
|||
|
|
- 在8.3节新增"M-015直连检测机制详细设计"小节
|
|||
|
|
- 详细说明4种检测方法:
|
|||
|
|
- IP/域名白名单比对
|
|||
|
|
- 上游API模式匹配
|
|||
|
|
- DNS解析监控
|
|||
|
|
- 连接来源检测
|
|||
|
|
- 提供检测流程图(M015-FLOW-01)
|
|||
|
|
- 定义target_direct字段填充规则表
|
|||
|
|
|
|||
|
|
**修复位置**:文档第1000-1045行
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 验证清单
|
|||
|
|
|
|||
|
|
- [x] 与XR-001 invariant_violation要求一致
|
|||
|
|
- [x] 与TOK-002事件命名对齐
|
|||
|
|
- [x] 与合规能力包M-015检测机制一致
|
|||
|
|
- [x] M-014/M-016边界明确且互不干扰
|
|||
|
|
- [x] API幂等性响应语义完整
|
|||
|
|
- [x] 错误码与现有体系对齐
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 修复后的文档版本
|
|||
|
|
|
|||
|
|
- 文档路径:`/home/long/project/立交桥/docs/audit_log_enhancement_design_v1_2026-04-02.md`
|
|||
|
|
- 修复日期:2026-04-02
|
|||
|
|
- 状态:已根据评审意见修复所有高严重度和中严重度问题
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**报告生成时间**:2026-04-02
|
|||
|
|
**修复执行人**:Claude Code
|