Files
lijiaoqiao/reports/review/compliance_capability_package_design_review_2026-04-02.md
Your Name 89104bd0db feat(P1/P2): 完成TDD开发及P1/P2设计文档
## 设计文档
- multi_role_permission_design: 多角色权限设计 (CONDITIONAL GO)
- audit_log_enhancement_design: 审计日志增强 (CONDITIONAL GO)
- routing_strategy_template_design: 路由策略模板 (CONDITIONAL GO)
- sso_saml_technical_research: SSO/SAML调研 (CONDITIONAL GO)
- compliance_capability_package_design: 合规能力包设计 (CONDITIONAL GO)

## TDD开发成果
- IAM模块: supply-api/internal/iam/ (111个测试)
- 审计日志模块: supply-api/internal/audit/ (40+测试)
- 路由策略模块: gateway/internal/router/ (33+测试)
- 合规能力包: gateway/internal/compliance/ + scripts/ci/compliance/

## 规范文档
- parallel_agent_output_quality_standards: 并行Agent产出质量规范
- project_experience_summary: 项目经验总结 (v2)
- 2026-04-02-p1-p2-tdd-execution-plan: TDD执行计划

## 评审报告
- 5个CONDITIONAL GO设计文档评审报告
- fix_verification_report: 修复验证报告
- full_verification_report: 全面质量验证报告
- tdd_module_quality_verification: TDD模块质量验证
- tdd_execution_summary: TDD执行总结

依据: Superpowers执行框架 + TDD规范
2026-04-02 23:35:53 +08:00

11 KiB
Raw Blame History

合规能力包设计评审报告

  • 评审文档:/home/long/project/立交桥/docs/compliance_capability_package_design_v1_2026-04-02.md
  • 评审日期2026-04-02
  • 评审人Claude Code
  • 基线版本v1.0

评审结论

CONDITIONAL GO

该设计文档整体架构合理,扩展了 ToS 合规引擎设计,但在以下方面存在重大缺口需在实施前解决:

  1. CI 脚本缺失:设计文档中引用的 compliance/ci/*.sh 脚本均不存在
  2. 事件命名不一致:合规规则事件命名与 audit_log_enhancement_design_v1_2026-04-02.md 规范不兼容
  3. 外部工具依赖M-017 四件套依赖 syft 工具但无降级方案

1. M-017四件套覆盖

件套 覆盖状态 实现说明 问题
SBOM 部分覆盖 文档指定 SPDX 2.3 格式,示例 JSON 结构正确 依赖外部工具 syft,工具缺失时仅生成空 SBOM
Lockfile Diff 已覆盖 文档定义了变更分类(新增/升级/降级/删除) 脚本未实现
兼容矩阵 已覆盖 文档定义了矩阵格式(组件 x 版本) 脚本未实现
风险登记册 已覆盖 文档定义了 CVSS >= 7.0 收录要求 脚本未实现

关键问题

问题 M017-01严重

  • 文档第 560-571 行:当 syft 工具不存在时,生成空 SBOM"packages": []
  • 这会导致 dependency-audit-check.sh 第 33 行断言失败(grep -q '"packages"' 通过但内容为空)
  • 建议:添加 syft 必需性检查,工具缺失时应 FAIL 而不是生成无效报告

问题 M017-02严重

  • scripts/ci/dependency-audit-check.sh 是检查脚本而非生成脚本
  • 合规能力包设计第 4.4 节的 m017_dependency_audit.sh 脚本不存在
  • 实际存在的 reports/dependency/ 目录及四件套报告文件亦不存在

2. 与ToS合规引擎一致性

检查项 状态 问题描述
规则引擎架构继承 部分一致 设计扩展了 ToS 引擎compiler/matcher/executor/audit但未说明是否复用同一组件
规则配置格式 一致 均使用 YAML 格式定义规则
规则生命周期 一致 支持热更新、版本追踪
事件分类体系 不一致 合规包使用 C013-R01 格式,审计日志设计使用 CRED-EXPOSE 格式
执行位置 一致 均支持 API Gateway 入口拦截

关键问题

问题 TOS-01严重

  • 合规能力包(第 44-80 行)定义规则 ID 为 C013-R01~R04
  • 审计日志增强设计(第 94-142 行)定义事件分类为 CRED-EXPOSEAUTH-QUERY-KEY
  • 两者无法映射,导致 M-013~M-016 指标无法通过统一审计 API 聚合
  • 建议:合规规则事件应映射到审计日志的事件分类体系

问题 TOS-02中等

  • 合规能力包设计第六章目录结构(第 672-710 行)包含 compliance/ 目录
  • 该目录不存在,实际代码库中无对应实现

3. CI/CD集成评估

检查项 状态 建议
CI 脚本目录结构 缺失 compliance/ci/ 目录及脚本不存在
Pre-Commit 集成点 已定义 需实现 m013_credential_scan.sh
Build 阶段集成点 已定义 需实现 m017_dependency_audit.sh
Deploy 阶段集成点 已定义 需实现 m014/m015/m016 检查脚本
合规门禁脚本 已定义 compliance_gate.sh 引用了不存在的脚本
阻断条件定义 合理 P0 事件阻断符合安全原则

关键问题

问题 CI-01严重

  • 合规能力包第 294-342 行定义了 compliance_gate.sh,引用了以下不存在的脚本:
    • m013_credential_scan.sh
    • m014_ingress_coverage.sh
    • m015_direct_access_check.sh
    • m016_query_key_reject.sh
    • m017_dependency_audit.sh

问题 CI-02中等

  • 设计第 295 行硬编码路径 /home/long/project/立交桥/compliance
  • 该路径不存在,无法直接部署

问题 CI-03中等

  • 设计第 3.3.1 节(第 284-291 行)定义了 CI 集成点,但未提供:
    • 具体的 hook 集成方式(如 git hook、CI YAML 配置)
    • 与现有 superpowers_release_pipeline.sh 的集成说明

4. 与审计日志设计一致性

检查项 状态 问题描述
事件结构 部分一致 合规包使用简化事件结构,审计日志使用完整 AuditEvent
凭证字段 一致 两者均定义了 credential_type 字段
事件分类 不一致 见问题 TOS-01
存储设计 一致 均支持 PostgreSQL + 索引
API 设计 一致 均支持 GET /api/v1/audit/metrics/m{013-016}

关键问题

问题 AUD-01严重

  • 合规能力包规则事件(如 C013-R01)无法通过审计日志 API 查询
  • 审计日志增强设计定义了完整的事件分类,但合规包未实现映射

问题 AUD-02中等

  • 合规能力包第 3.2.1 节定义的规则执行流程与审计日志增强设计第 7.1 节的中间件集成方式需协调
  • 当前两个设计独立,难以保证端到端审计链路

5. 实施可行性评估

5.1 工期评估

任务 设计工期 评审意见
P2-CMP-001 合规规则引擎核心开发 5d 可行
P2-CMP-002~005 四大规则实现 9d 依赖 P2-CMP-001
P2-CMP-006 M-017 四件套 3d 脚本未实现,需额外工作量
P2-CMP-007 CI 流水线集成 2d 所有 CI 脚本均缺失,工作量被低估
P2-CMP-008 监控告警配置 2d 可行
P2-CMP-009 安全机制联动 3d 依赖与现有组件集成
P2-CMP-010 端到端测试 2d 可行
总计 26d 实际工作量可能需要 35-40d

5.2 里程碑评估

里程碑 设计日期 评审意见
M1: 规则引擎完成 2026-04-07 可行
M2: 四大规则就绪 2026-04-11 可行
M3: CI 集成完成 2026-04-13 CI 脚本缺失,延期风险高
M4: 监控告警就绪 2026-04-15 可行
M5: P2 交付完成 2026-04-17 延期概率 > 50%

5.3 验收标准评估

指标 验收条件 评审意见
M-013 凭证泄露事件 = 0 可测试,需自动化扫描
M-014 入站覆盖率 = 100% 可测试,需日志分析
M-015 直连事件 = 0 检测方法未具体化
M-016 拒绝率 = 100% 可测试,需构造外部 query key
SBOM SPDX 2.3 格式有效 可测试
Lockfile Diff 变更条目完整 无脚本实现
兼容矩阵 版本对应关系正确 无脚本实现
风险登记册 CVSS >= 7.0 收录 无脚本实现

6. 一致性问题清单

严重度 问题 ID 问题 建议修复
P0 CI-01 CI 脚本全部缺失,compliance_gate.sh 引用不存在的脚本 优先实现所有 compliance/ci/*.sh 脚本,或调整设计引用已存在的 scripts/ci/ 目录
P0 M017-01 syft 工具缺失时生成无效 SBOM 添加必需性检查,工具缺失时 FAIL
P0 TOS-01 事件命名体系与审计日志不兼容 C013-R01 格式映射到 CRED-EXPOSE 格式
P1 CI-02 硬编码路径 /home/long/project/立交桥/compliance 改为环境变量或相对路径
P1 M017-02 m017_dependency_audit.sh 脚本不存在 实现四件套生成脚本
P1 AUD-01 合规事件无法通过审计 API 查询 实现事件分类映射
P2 CI-03 未提供与现有 CI 管道的集成说明 补充 git hook 或 CI YAML 配置示例
P2 TOS-02 compliance/ 目录不存在 补充目录创建脚本或调整到现有目录结构
P2 M015-01 直连检测方法未具体化 补充蜜罐或流量检测实现方案

7. 改进建议

7.1 高优先级(阻断发布)

  1. 补充 CI 脚本实现

    • 建议复用现有 scripts/ci/ 目录结构而非新建 compliance/ci/
    • 优先实现 m013_credential_scan.sh(凭证扫描可复用现有 secret scanner
    • 优先实现 m017_dependency_audit.sh 四件套生成脚本
  2. 统一事件命名体系

    • 合规规则事件应使用 audit_log_enhancement_design 的分类格式
    • 建议:C013-R01 -> CRED-EXPOSE-RESPONSE
  3. M-017 四件套必需性

    • syft 工具应标记为必需依赖(而非可选)
    • 添加 Dockerfile 或 CI 配置确保工具可用

7.2 中优先级

  1. 目录结构优化

    • 建议将 compliance/ 改为 scripts/compliance/ 接入现有脚本目录
    • 或在 scripts/ci/ 下新增 compliance-*.sh 脚本
  2. 与现有系统集成

    • 说明与 superpowers_release_pipeline.sh 的集成方式
    • 说明与 dependency-audit-check.sh 的关系(当前设计是补充而非替代)
  3. M-015 直连检测实现

    • 补充具体检测方法蜜罐配置、网络流量分析、API 日志分析)
    • 明确检测点位置出网防火墙、API Gateway、中间件

7.3 低优先级

  1. 文档完整性

    • 补充 P2-CMP-009 安全机制联动的详细设计
    • 补充规则热更新机制的实现细节
  2. 测试覆盖

    • 补充各规则的单元测试用例设计
    • 补充端到端测试场景

8. 最终结论

评审结论CONDITIONAL GO

通过条件(实施前必须满足):

  1. 实现所有引用的 CI 脚本(m013~m017_*.sh
  2. 统一事件命名体系与 audit_log_enhancement_design 兼容
  3. 补充 M-017 四件套生成脚本(当前仅检查脚本存在)

风险项

  1. 工期风险CI 脚本实现工作量被低估(建议增加 10-15d
  2. 集成风险与审计日志系统、ToS 合规引擎的集成需额外协调
  3. 测试风险M-015 直连检测实现方案未具体化

建议行动

  1. 优先实现 CI 脚本,与合规能力包设计同步进行
  2. 召开联合评审会议,对齐事件分类体系
  3. 拆分 M-015 直连检测为独立子任务,明确实现方案

附录:评审基线文档

文档 关键引用
llm_gateway_prd_v1_2026-03-25.md P2 需求:合规能力包;企业版首批:审计报表与策略留痕导出;关键规则:策略变更必须可审计
tos_compliance_engine_design_v1_2026-03-18.md 合规规则库、自动化合规检查、合规报告生成规则引擎架构matcher/executor/audit
audit_log_enhancement_design_v1_2026-04-02.md 事件分类体系CRED/AUTH/DATA/CONFIG/SECURITYM-013~M-016 指标专用字段
dependency_compatibility_audit_baseline_v1_2026-03-27.md M-017 四件套SBOM、锁文件 Diff、兼容矩阵、风险登记册无四件套发布门禁阻断
2026-03-30-superpowers-execution-tasklist-v2.md M-017 四件套SBOM, Lockfile Diff, 兼容矩阵, 风险登记册F-03 项依赖 M-017 趋势证据