4.4 KiB
4.4 KiB
第 13 轮工作计划(轻量合并版):审计合规导出与保留脱敏
更新日期:2026-08-01
1. 本轮目标
新增审计合规导出:GET /api/gov/audit/export?format=json|csv 导出当前作用域全部审计事件(含链校验与锚定状态摘要),导出时对敏感字段(token/password/secret/key/authorization 等)脱敏;黄金测试证明导出完整、脱敏生效、格式可解析;矩阵 104 行剩余项(保留脱敏、合规导出)落地。
2. 背景和当前状态
- 当前已完成:世界内 SHA-256 链(audit.py)、独立介质锚定(audit_ledger.py)、事件镜像(audit_mirror.py)、
/api/gov/audit展示链/锚定/镜像状态。 - 当前缺口:无导出端点;无保留脱敏(导出可能含 confirmId、用户信息等敏感字段)。
- 本轮为什么现在做:矩阵 104 行剩余「保留脱敏、合规导出」;纯本地、低风险。
- Workspace preflight:第 12 轮收口(479 passed);服务 8003/5173 正常;共享脏工作区、无提交。
- 方向分析:Q1 推荐(审计合规导出/脱敏),目标续跑轮授权执行。
3. 本轮工作方向
audit 事件仅内页展示,无导出/脱敏
-> audit_export.py:sanitize_event(敏感键脱敏)+ export_events(events, fmt=json|csv)
-> GET /api/gov/audit/export?format=...(含 chain/anchor 摘要)
-> 黄金测试:导出完整、脱敏生效、json/csv 可解析
-> 矩阵 104 行注记;CHANGELOG
4. 已确认决策
任务重量:
- 档位:轻型(audit_export 模块 + 网关端点 + 黄金测试)。
- 规模依据:新增独立模块与端点,不改既有审计写入;风险 LOW。
- 选择原因:矩阵 104 行明确剩余项之一;合规导出是审计闭环的收尾能力。
P0/P1 决策(按 Q1 推荐采纳):
- 决策 1(P0):本轮切片 = 审计合规导出与保留脱敏。
- 决策 2(P1):不新建分支、不提交、不推送。
- 决策 3(P1):验证深度 = 聚焦导出/脱敏测试 + 全量黄金回归。
默认假设:
- 假设 1:脱敏规则覆盖键名含 token/password/secret/key/authorization/credential 的值 → 替换为
***REDACTED***;嵌套 dict/list 递归。 - 假设 2:导出格式 json(列表)/ csv(表头 + 行),均含
exportedAt与chainOk摘要元信息。 - 假设 3:导出仅当前作用域(复用 gov_audit 的 mirror-first 事件源),不含跨租户数据。
未决但不阻塞:WORM 物理介质、完整 Merkle 树、异常告警(后续轮)。
5. 范围
In scope:
server/agent_core/audit_export.py(新):sanitize_value/sanitize_event(敏感键脱敏,递归)+export_events(events, fmt)(json/csv)。server/gateway/app.py:GET /api/gov/audit/export?format=json|csv(复用 mirror-first 事件源 + chain/anchor 摘要)。tests/golden/test_audit_export.py(新):导出完整、脱敏生效(敏感键被掩码)、json/csv 可解析、非敏感值保留。- 文档:
docs/architecture/harness.md、docs/product/plan-completion-matrix.md(104 行注记)、docs/CHANGELOG.md。
Out of scope:
- WORM 物理介质、完整 Merkle 树、异常告警、前端导出 UI。
- 提交/推送/合并/清理用户改动。
6. 成功标准
- 聚焦:
python -m pytest -q tests/golden/test_audit_export.py -p no:cacheprovider通过(≥4 项)。 - 全量:
python -m pytest tests/golden -q -p no:cacheprovider(固定 .venv)≥ 479。 - ruff 干净;git diff --check 无空白错误。
7. 验证方式
- 脱敏单测(敏感键掩码、非敏感保留、嵌套递归);导出 json/csv 解析;全量回归。
8. 关键风险
| 风险 | 影响 | 控制方式 |
|---|---|---|
| 脱敏规则误伤合法字段 | 导出信息缺失 | 只掩码敏感键名;测试锁定非敏感保留 |
| 导出大事件集内存 | 性能 | 当前作用域事件量有限;分页留待后续 |
| CSV 转义问题 | 解析失败 | csv 模块标准写入 |
9. 停止条件
- 全量黄金测试非本轮相关回归无法快速定位时暂停。
- 任何提交/推送/合并/清理操作停下等待授权。
10. 本轮完成定义
- 实现、测试、文档完成;聚焦与全量通过;矩阵/CHANGELOG 回写;不提交。
- 收口:报告主要结论、关键洞察、需要特别留意的地方。
11. 下一步
轻量合并版:主 agent 实现 + 验证 + 收口报告。