## 设计文档 - 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规范
11 KiB
11 KiB
合规能力包设计评审报告
- 评审文档:
/home/long/project/立交桥/docs/compliance_capability_package_design_v1_2026-04-02.md - 评审日期:2026-04-02
- 评审人:Claude Code
- 基线版本:v1.0
评审结论
CONDITIONAL GO
该设计文档整体架构合理,扩展了 ToS 合规引擎设计,但在以下方面存在重大缺口需在实施前解决:
- CI 脚本缺失:设计文档中引用的
compliance/ci/*.sh脚本均不存在 - 事件命名不一致:合规规则事件命名与
audit_log_enhancement_design_v1_2026-04-02.md规范不兼容 - 外部工具依赖: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-EXPOSE、AUTH-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.shm014_ingress_coverage.shm015_direct_access_check.shm016_query_key_reject.shm017_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 高优先级(阻断发布)
-
补充 CI 脚本实现
- 建议复用现有
scripts/ci/目录结构而非新建compliance/ci/ - 优先实现
m013_credential_scan.sh(凭证扫描可复用现有 secret scanner) - 优先实现
m017_dependency_audit.sh四件套生成脚本
- 建议复用现有
-
统一事件命名体系
- 合规规则事件应使用
audit_log_enhancement_design的分类格式 - 建议:
C013-R01->CRED-EXPOSE-RESPONSE
- 合规规则事件应使用
-
M-017 四件套必需性
- syft 工具应标记为必需依赖(而非可选)
- 添加 Dockerfile 或 CI 配置确保工具可用
7.2 中优先级
-
目录结构优化
- 建议将
compliance/改为scripts/compliance/接入现有脚本目录 - 或在
scripts/ci/下新增compliance-*.sh脚本
- 建议将
-
与现有系统集成
- 说明与
superpowers_release_pipeline.sh的集成方式 - 说明与
dependency-audit-check.sh的关系(当前设计是补充而非替代)
- 说明与
-
M-015 直连检测实现
- 补充具体检测方法(蜜罐配置、网络流量分析、API 日志分析)
- 明确检测点位置(出网防火墙、API Gateway、中间件)
7.3 低优先级
-
文档完整性
- 补充 P2-CMP-009 安全机制联动的详细设计
- 补充规则热更新机制的实现细节
-
测试覆盖
- 补充各规则的单元测试用例设计
- 补充端到端测试场景
8. 最终结论
评审结论:CONDITIONAL GO
通过条件(实施前必须满足):
- 实现所有引用的 CI 脚本(
m013~m017_*.sh) - 统一事件命名体系与
audit_log_enhancement_design兼容 - 补充 M-017 四件套生成脚本(当前仅检查脚本存在)
风险项:
- 工期风险:CI 脚本实现工作量被低估(建议增加 10-15d)
- 集成风险:与审计日志系统、ToS 合规引擎的集成需额外协调
- 测试风险:M-015 直连检测实现方案未具体化
建议行动:
- 优先实现 CI 脚本,与合规能力包设计同步进行
- 召开联合评审会议,对齐事件分类体系
- 拆分 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/SECURITY);M-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 趋势证据 |