文件内容
docs/SKILL-ARCHITECTURE-DESIGN-cn.md
<!-- Threat Modeling Skill | Version 3.1.0 (20260313a) | https://github.com/fr33d3m0n/threat-modeling | License: BSD-3-Clause -->
# STRIDE 威胁建模系统架构分析
> **版本**: 3.1.0
> **日期**: 2026-01-03 (updated 2026-03-13)
> **目的**: 包含图表和模块关系的综合系统架构分析
> **注意 (v2.1.0)**: 目录结构已重构:
> - `docs/` → `references/`
> - `knowledge/`, `schemas/`, `templates/` → `assets/` 子目录
---
## 1. 系统架构概览
### 1.1 高层架构图
```
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ Code-First Deep Risk Analysis System v3.1.0 │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ 表示层 (Layer 4) │ │
│ ├───────────────────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ ┌──────────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Claude Skill 接口 │ │ │
│ │ │ SKILL.md ──► YAML Front Matter (name, description, triggers) │ │ │
│ │ │ │ ├── 8阶段工作流定义 │ │ │
│ │ │ │ ├── 报告输出规范 │ │ │
│ │ │ │ ├── 语言适配规则 │ │ │
│ │ │ │ └── 核心数据模型 (实体定义) │ │ │
│ │ │ │ │ │ │
│ │ │ └──► 模板 (9 个文件) │ │ │
│ │ │ ├── RISK-ASSESSMENT-REPORT.template.md (主报告) │ │ │
│ │ │ ├── RISK-INVENTORY.template.md │ │ │
│ │ │ ├── MITIGATION-MEASURES.template.md │ │ │
│ │ │ ├── PENETRATION-TEST-PLAN.template.md │ │ │
│ │ │ └── 5 个附加模板 │ │ │
│ │ └──────────────────────────────────────────────────────────────────────────────┘ │ │
│ └───────────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ 工作流层 (Layer 3) │ │
│ ├───────────────────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │
│ │ │ WORKFLOW.md│ │VALIDATION.md│ │ REPORT.md │ │ GUIDE.md │ │ │
│ │ │ (839 行) │ │ (946 行) │ │ (852 行) │ │ (580 行) │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ Phase 1-5 │ │ Phase 6 │ │ Phase 7-8 │ │ 用户指南 │ │ │
│ │ │ 步骤 │ │ 验证 │ │ 缓解 │ │ │ │ │
│ │ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └────────────┘ │ │
│ │ │ │ │ │ │
│ │ └───────────────┴───────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌──────────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ 8阶段执行流水线 │ │ │
│ │ │ P1 → P2 → P3 → P4 → P5 → P6 → P7 → P8 │ │ │
│ │ │ 项目 DFD 信任 安全 STRIDE 风险 缓解 报告 │ │ │
│ │ │ 理解 边界 设计 分析 验证 措施 生成 │ │ │
│ │ └──────────────────────────────────────────────────────────────────────────────┘ │ │
│ └───────────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ 脚本层 (Layer 2) │ │
│ ├───────────────────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ scripts/ │ │
│ │ ├── unified_kb_query.py (102KB) ◄── 主知识库查询接口 │ │
│ │ │ ├── STRIDE 查询 (--stride) │ │
│ │ │ ├── CWE/CAPEC 链 (--cwe, --capec, --full-chain) │ │
│ │ │ ├── CVE 查找 (--cve, --cve-for-cwe) │ │
│ │ │ ├── 语义搜索 (--search) │ │
│ │ │ ├── ASVS/WSTG 验证 (--asvs-level, --wstg) │ │
│ │ │ └── 合规查询 (--stride-compliance) │ │
│ │ │ │ │
│ │ ├── module_discovery.py (11KB) ◄── Phase 1: 项目结构 │ │
│ │ │ └── 文件分类, 类型检测 │ │
│ │ │ │ │
│ │ ├── stride_matrix.py (7.6KB) ◄── Phase 5: STRIDE per Interaction │ │
│ │ │ └── 威胁类别计算 │ │
│ │ │ │ │
│ │ └── phase_data.py ◄── 跨阶段数据和验证 (v3.1.0) │ │
│ │ └── YAML提取, CP1/CP2/CP3验证 │ │
│ │ │ │
│ │ [仅开发环境 - 不含于发布版本] │ │
│ │ ├── collect_code_stats.py ◄── LOC/文件统计 │ │
│ │ ├── build_knowledge_base.py ◄── 知识库构建 (离线) │ │
│ │ ├── build_cve_index.py ◄── CVE索引构建 │ │
│ │ ├── prebuild_semantic_index.py ◄── 嵌入向量生成 │ │
│ │ └── kb_incremental_update.py ◄── 知识库更新 │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ 知识层 (Layer 1) │ │
│ ├───────────────────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ ┌─────────────────────────────┐ ┌─────────────────────────────────────────────────┐│ │
│ │ │ SQLite 数据库 │ │ YAML 知识文件 ││ │
│ │ │ │ │ ││ │
│ │ │ security_kb.sqlite (14MB) │ │ security-design.yaml (17KB) ││ │
│ │ │ ├── CWE (974) │ │ ├── 16 个安全域 ││ │
│ │ │ ├── CAPEC (615) │ │ └── 安全域 → STRIDE 映射 ││ │
│ │ │ ├── ATT&CK (835) │ │ ││ │
│ │ │ ├── WSTG (121) │ │ stride-library.yaml (5KB) ││ │
│ │ │ ├── MASTG (206) │ │ ├── STRIDE 类别 ││ │
│ │ │ ├── ASVS (345) │ │ └── 元素→威胁映射 ││ │
│ │ │ ├── 合规 (115) │ │ ││ │
│ │ │ └── 嵌入向量 (3,278) │ │ capec-mappings.yaml (300KB) ││ │
│ │ │ │ │ ├── 攻击模式 ││ │
│ │ │ security_kb_extension.sqlite │ │ └── ATT&CK 映射 ││ │
│ │ │ (304MB) │ │ ││ │
│ │ │ ├── CVE (323,830) │ │ llm-threats.yaml (31KB) ││ │
│ │ │ └── CVE→CWE (108,409) │ │ └── OWASP LLM Top 10 ││ │
│ │ └─────────────────────────────┘ └─────────────────────────────────────────────────┘│ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ 安全控制 (L3+L4) │ │ │
│ │ │ security-controls/ │ │ │
│ │ │ ├── control-set-{01-10}-*.md ◄── 10 个核心域控制 │ │ │
│ │ │ ├── control-set-ext-*.md ◄── 8 个扩展域控制 │ │ │
│ │ │ └── references/ (73 文件) ◄── OWASP 场景实践 │ │ │
│ │ └─────────────────────────────────────────────────────────────────────────────────┘ │ │
│ └───────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
```
### 1.2 组件摘要
| 层 | 组件 | 文件 | 目的 |
|-------|-----------|-------|---------|
| **Layer 4** | 表示层 | 1 SKILL + 9 模板 + 4 Schema | 用户界面和报告生成 |
| **Layer 3** | 工作流层 | WORKFLOW + VALIDATION + REPORT + GUIDE | 阶段执行逻辑 |
| **Layer 2** | 脚本层 | 11 Python 脚本 | 自动化和数据处理 |
| **Layer 1** | 知识层 | 2 SQLite DB + 12 YAML + 90 MD 控制 | 安全知识存储 |
---
## 2. 数据流图
### 2.1 完整系统数据流
```
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ STRIDE 系统数据流图 │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ 输入源 │ │
│ ├──────────────────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ [EI-01] [EI-02] [EI-03] [EI-04] │ │
│ │ 用户/Claude ───► 目标 ───► 知识 ───► 之前 │ │
│ │ 请求 项目 库 会话 │ │
│ │ (自然语言) (代码库) (SQLite+YAML) (_session_meta) │ │
│ │ │ │
│ └────────┬─────────────────┬─────────────────┬─────────────────────┬───────────────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ 8阶段处理流水线 │ │
│ ├──────────────────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ ╔═══════════════╗ DF-01: project_context │ │
│ │ ║ Phase 1 ║ ────────────────────────────────────────────────────────────► │ │
│ │ ║ 项目理解 ║ - file_structure, tech_stack, entry_points │ │
│ │ ║ ║ - security_modules, scale_metrics │ │
│ │ ╚═══════════════╝ │ │
│ │ │ │ │
│ │ │ DF-01 │ │
│ │ ▼ │ │
│ │ ╔═══════════════╗ DF-02: dfd_elements │ │
│ │ ║ Phase 2 ║ ────────────────────────────────────────────────────────────► │ │
│ │ ║ DFD/调用流 ║ - processes[], data_stores[], data_flows[] │ │
│ │ ║ ║ - external_interactors[], element_map │ │
│ │ ╚═══════════════╝ │ │
│ │ │ │ │
│ │ │ DF-01 + DF-02 │ │
│ │ ▼ │ │
│ │ ╔═══════════════╗ DF-03: boundary_context │ │
│ │ ║ Phase 3 ║ ────────────────────────────────────────────────────────────► │ │
│ │ ║ 信任边界 ║ - trust_boundaries[], boundary_crossings[] │ │
│ │ ║ ║ - security_zones, element_zone_mapping │ │
│ │ ╚═══════════════╝ │ │
│ │ │ │ │
│ │ │ DF-01 + DF-02 + DF-03 │ │
│ │ ▼ │ │
│ │ ╔═══════════════╗ DF-04: security_gaps │ │
│ │ ║ Phase 4 ║ ────────────────────────────────────────────────────────────► │ │
│ │ ║ 安全设计 ║ - domain_assessments[15], gaps[], recommendations[] │ │
│ │ ║ ║ - security_coverage_matrix │ │
│ │ ╚═══════════════╝ │ │
│ │ │ ┌──────────────────────────────────────────────────────┐ │ │
│ │ │ │ KB 查询: STRIDE → CWE → CAPEC │ │ │
│ │ │ │ python unified_kb_query.py --stride {category} │ │ │
│ │ ▼ └──────────────────────────────────────────────────────┘ │ │
│ │ ╔═══════════════╗ DF-05: threat_inventory │ │
│ │ ║ Phase 5 ║ ────────────────────────────────────────────────────────────► │ │
│ │ ║ STRIDE 分析 ║ - threats[] (T-{S}-{E}-{Seq}) │ │
│ │ ║ ║ - element_threat_map, stride_distribution │ │
│ │ ╚═══════════════╝ - cwe_refs[], capec_refs[], total: 50-200 │ │
│ │ │ ┌──────────────────────────────────────────────────────┐ │ │
│ │ │ │ KB 查询: CAPEC → ATT&CK → CVE/KEV │ │ │
│ │ │ │ python unified_kb_query.py --capec {id} --attack │ │ │
│ │ ▼ └──────────────────────────────────────────────────────┘ │ │
│ │ ╔═══════════════╗ DF-06: validated_risks │ │
│ │ ║ Phase 6 ║ ────────────────────────────────────────────────────────────► │ │
│ │ ║ 风险验证 ║ - validated_risks[] (VR-{Seq}) │ │
│ │ ║ ║ - poc_details[], attack_paths[], attack_chains[] │ │
│ │ ╚═══════════════╝ - threat_disposition (计数守恒) │ │
│ │ │ ┌──────────────────────────────────────────────────────┐ │ │
│ │ │ │ KB 查询: CWE 缓解 + ASVS + 控制 │ │ │
│ │ │ │ python unified_kb_query.py --cwe {id} --mitigations │ │ │
│ │ ▼ └──────────────────────────────────────────────────────┘ │ │
│ │ ╔═══════════════╗ DF-07: mitigation_plan │ │
│ │ ║ Phase 7 ║ ────────────────────────────────────────────────────────────► │ │
│ │ ║ 缓解规划 ║ - mitigations[] (M-{Seq}) │ │
│ │ ║ ║ - fix_locations, asvs_compliance, implementation_steps │ │
│ │ ╚═══════════════╝ │ │
│ │ │ │ │
│ │ │ 所有数据流 (DF-01 到 DF-07) │ │
│ │ ▼ │ │
│ │ ╔═══════════════╗ DF-08: final_reports │ │
│ │ ║ Phase 8 ║ ────────────────────────────────────────────────────────────► │ │
│ │ ║ 报告生成 ║ - 4 必需报告 + 6 阶段文档 │ │
│ │ ║ ║ - Risk_Assessment_Report/{PROJECT}-*.md │ │
│ │ ╚═══════════════╝ │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ 输出产物 │ │
│ ├──────────────────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ Risk_Assessment_Report/ │ │
│ │ │ │ │
│ │ ├── {PROJECT}-RISK-ASSESSMENT-REPORT.md ◄── 主报告 (所有阶段汇总) │ │
│ │ ├── {PROJECT}-RISK-INVENTORY.md ◄── 完整 VR 清单 (含 threat_refs) │ │
│ │ ├── {PROJECT}-MITIGATION-MEASURES.md ◄── M-{Seq} (含 fix_locations) │ │
│ │ ├── {PROJECT}-PENETRATION-TEST-PLAN.md ◄── 基于 POC 的测试方案 │ │
│ │ │ │ │
│ │ ├── P1-PROJECT-UNDERSTANDING.md ◄── Phase 1 工作文档 │ │
│ │ ├── P2-DFD-ANALYSIS.md ◄── DFD 元素和流程 │ │
│ │ ├── P3-TRUST-BOUNDARY.md ◄── 边界定义 │ │
│ │ ├── P4-SECURITY-DESIGN-REVIEW.md ◄── 16 域评估 │ │
│ │ ├── P5-STRIDE-THREATS.md ◄── 完整威胁清单 │ │
│ │ └── P6-RISK-VALIDATION.md ◄── POC 和攻击路径 │ │
│ │ │ │
│ │ .phase_working/ │ │
│ │ └── _session_meta.yaml ◄── 会话状态 (用于恢复) │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
```
### 2.2 数据流摘要表
| 流 ID | 源 | 目标 | 数据结构 | 容量 |
|---------|--------|--------|----------------|--------|
| DF-01 | P1 | P2,P3,P4 | project_context | 1 对象 |
| DF-02 | P2 | P3,P4,P5 | dfd_elements | 10-50 元素 |
| DF-03 | P3 | P4,P5 | boundary_context | 3-10 边界 |
| DF-04 | P4 | P5,P6 | security_gaps | 16 域评估 |
| DF-05 | P5 | P6 | threat_inventory | 50-200 威胁 |
| DF-06 | P6 | P7,P8 | validated_risks | 5-30 VR |
| DF-07 | P7 | P8 | mitigation_plan | 5-20 缓解措施 |
| DF-08 | P8 | 输出 | final_reports | 10 文件 |
---
## 3. 模块关系
### 3.1 文件依赖图
```
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ 模块依赖图 │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ SKILL.md (入口点) │ │
│ │ ════════════════════════ │ │
│ │ │ │
│ │ 定义: │ │
│ │ ├── 工作流激活触发器 │ │
│ │ ├── 8阶段结构 │ │
│ │ ├── 核心数据模型 (Finding → Threat → VR → Mitigation) │ │
│ │ ├── ID 约定 (F-P{N}-{Seq}, T-{S}-{E}-{Seq}, VR-{Seq}, M-{Seq}) │ │
│ │ ├── 计数守恒规则 │ │
│ │ └── 知识架构概览 │ │
│ │ │ │
│ └──────┬────────────────────────────────────────────────────────────────────┬─────────┘ │
│ │ │ │
│ │ 引用 │ 引用 │
│ ▼ ▼ │
│ ┌───────────────────────┐ ┌────────────────────┐ ┌─────────────────────────────────┐ │
│ │ WORKFLOW.md │ │ VALIDATION.md │ │ REPORT.md │ │
│ │ ═══════════════════ │ │ ═════════════════ │ │ ═══════════════════════════ │ │
│ │ │ │ │ │ │ │
│ │ Phase 1-5 详情: │ │ Phase 6 详情: │ │ Phase 7-8 详情: │ │
│ │ ├── 步骤定义 │ │ ├── 合并算法 │ │ ├── KB 查询模式 │ │
│ │ ├── 输出模板 │ │ ├── 去重规则 │ │ ├── 缓解模板 │ │
│ │ ├── 检查点 │ │ ├── POC 设计 │ │ ├── ASVS 集成 │ │
│ │ └── KB 查询点 │ │ └── 攻击路径 │ │ ├── 修复位置追踪 │ │
│ │ │ │ │ │ └── 报告汇总 │ │
│ └───────────┬───────────┘ └─────────┬──────────┘ └───────────────┬─────────────────┘ │
│ │ │ │ │
│ │ │ │ │
│ └─────────────────────────┼─────────────────────────────┘ │
│ │ │
│ │ 使用 │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ assets/contracts/ (1 文件) │ │
│ │ ══════════════════════ │ │
│ │ │ │
│ │ data-model.yaml ◄── 实体模式、数据契约、类型定义 │ │
│ │ │ │
│ │ 注: assets/templates/ 和 assets/schemas/ 为预留目录(空)。 │ │
│ │ 报告模板内联于阶段指令文件中 (P8, P8R)。 │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
```
### 3.2 模块用途矩阵
| 模块 | 类型 | 用途 | 依赖 |
|--------|------|---------|--------------|
| SKILL.md | 定义 | 入口点, 数据模型, 全局约束 | - |
| WORKFLOW.md | 执行 | 阶段编排, FSM, 数据契约 | SKILL.md |
| phases/P1-P8-*.md | 执行 | 每阶段指令 (9 文件, 含 P8R) | SKILL.md, WORKFLOW.md |
| scripts/*.py | 自动化 | 会话管理, KB 查询, 验证 | SKILL.md |
| assets/contracts/data-model.yaml | Schema | 实体模式和数据契约 | SKILL.md |
---
## 4. 工作流分解
### 4.1 8阶段工作流详情
```
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ 8阶段工作流分解 │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ╔═══════════════════════════════════════════════════════════════════════════════════════╗ │
│ ║ PHASE 1: 项目理解 ║ │
│ ╠═══════════════════════════════════════════════════════════════════════════════════════╣ │
│ ║ ║ │
│ ║ 步骤: 脚本: ║ │
│ ║ 1. 获取文件结构 ────────────────────────────► module_discovery.py ║ │
│ ║ 2. 识别项目类型 ║ │
│ ║ 3. 收集规模指标 ─────────────────────────────► module_discovery.py --stats ║ │
│ ║ 4. 读取关键文件 ║ │
│ ║ 5. 记录架构 ║ │
│ ║ ║ │
│ ║ 输出: P1-PROJECT-UNDERSTANDING.md ║ │
│ ║ 数据: project_context {file_structure, tech_stack, scale_metrics, modules} ║ │
│ ╚═══════════════════════════════════════════════════════════════════════════════════════╝ │
│ │ │
│ ▼ │
│ ╔═══════════════════════════════════════════════════════════════════════════════════════╗ │
│ ║ PHASE 2: 调用流与 DFD 分析 ║ │
│ ╠═══════════════════════════════════════════════════════════════════════════════════════╣ │
│ ║ ║ │
│ ║ 步骤: LLM 任务: ║ │
│ ║ 1. 识别外部交互者 - 追踪用户流程 ║ │
│ ║ 2. 映射处理过程 - 识别数据转换 ║ │
│ ║ 3. 识别数据存储 - 映射敏感数据 ║ │
│ ║ 4. 定义数据流 - 分配元素 ID ║ │
│ ║ 5. 构建 DFD ║ │
│ ║ ║ │
│ ║ 输出: P2-DFD-ANALYSIS.md ║ │
│ ║ 数据: dfd_elements {processes[], data_stores[], data_flows[], external_interactors[]}║ │
│ ╚═══════════════════════════════════════════════════════════════════════════════════════╝ │
│ │ │
│ ▼ │
│ ╔═══════════════════════════════════════════════════════════════════════════════════════╗ │
│ ║ PHASE 3: 信任边界评估 ║ │
│ ╠═══════════════════════════════════════════════════════════════════════════════════════╣ │
│ ║ ║ │
│ ║ 步骤: LLM 任务: ║ │
│ ║ 1. 识别信任区域 - 分析网络边界 ║ │
│ ║ 2. 将元素映射到区域 - 识别权限转换 ║ │
│ ║ 3. 识别边界穿越 - 映射数据敏感度 ║ │
│ ║ 4. 记录穿越风险 ║ │
│ ║ ║ │
│ ║ 输出: P3-TRUST-BOUNDARY.md ║ │
│ ║ 数据: boundary_context {trust_boundaries[], security_zones, boundary_crossings[]} ║ │
│ ╚═══════════════════════════════════════════════════════════════════════════════════════╝ │
│ │ │
│ ▼ │
│ ╔═══════════════════════════════════════════════════════════════════════════════════════╗ │
│ ║ PHASE 4: 安全设计评审 ║ │
│ ╠═══════════════════════════════════════════════════════════════════════════════════════╣ │
│ ║ ║ │
│ ║ 步骤: 知识文件: ║ │
│ ║ 1. 评估 16 个安全域 - security-design.yaml ║ │
│ ║ (AUTHN, AUTHZ, INPUT, OUTPUT, - control-set-{01-16}.md ║ │
│ ║ CLIENT, CRYPTO, LOG, ERROR, - reference-set-*.md ║ │
│ ║ API, DATA, INFRA, SUPPLY, AI, ║ │
│ ║ MOBILE, CLOUD, AGENT) ║ │
│ ║ 2. 识别安全缺口 ║ │
│ ║ 3. 评级覆盖度 (✅/⚠️/❌) ║ │
│ ║ ║ │
│ ║ 输出: P4-SECURITY-DESIGN-REVIEW.md ║ │
│ ║ 数据: security_gaps {domain_assessments[15], gaps[], coverage_matrix} ║ │
│ ╚═══════════════════════════════════════════════════════════════════════════════════════╝ │
│ │ │
│ ▼ │
│ ╔═══════════════════════════════════════════════════════════════════════════════════════╗ │
│ ║ PHASE 5: STRIDE 威胁分析 ║ │
│ ╠═══════════════════════════════════════════════════════════════════════════════════════╣ │
│ ║ ║ │
│ ║ 步骤: 脚本: ║ │
│ ║ 1. 对每个 DFD 元素: ──────────────────────────► stride_matrix.py --element {type} ║ │
│ ║ - 获取适用的 STRIDE 类别 ║ │
│ ║ 2. 对每个 STRIDE 类别: ──────────────────────► unified_kb_query.py --stride {cat} ║ │
│ ║ - 查询 CWE/CAPEC 映射 ║ │
│ ║ 3. 生成威胁 ID: T-{S}-{E}-{Seq} ║ │
│ ║ 4. 构建威胁清单 ║ │
│ ║ ║ │
│ ║ 输出: P5-STRIDE-THREATS.md ║ │
│ ║ 数据: threat_inventory {threats[50-200], element_threat_map, stride_distribution} ║ │
│ ╚═══════════════════════════════════════════════════════════════════════════════════════╝ │
│ │ │
│ ▼ │
│ ╔═══════════════════════════════════════════════════════════════════════════════════════╗ │
│ ║ PHASE 6: 风险验证 (VALIDATION.md) ║ │
│ ╠═══════════════════════════════════════════════════════════════════════════════════════╣ │
│ ║ ║ │
│ ║ 步骤: 脚本: ║ │
│ ║ 1. 收集所有发现 (P1-P5) ◄───────────────────── 读取 .phase_working/P{1-5}*.md ║ │
│ ║ 2. 归一化为统一格式 ║ │
│ ║ 3. 去重 (CWE + 位置匹配) ║ │
│ ║ 4. 创建 VR-{Seq} (含 threat_refs[]) ║ │
│ ║ 5. 查询攻击模式: ─────────────────────────────► unified_kb_query.py --capec --attack║ │
│ ║ 6. 设计 POC ║ │
│ ║ 7. 映射攻击路径 ║ │
│ ║ 8. 追踪 threat_disposition (计数守恒) ║ │
│ ║ ║ │
│ ║ 输出: P6-RISK-VALIDATION.md ║ │
│ ║ 数据: validated_risks {vrs[], poc_details[], attack_paths[], threat_disposition} ║ │
│ ╚═══════════════════════════════════════════════════════════════════════════════════════╝ │
│ │ │
│ ▼ │
│ ╔═══════════════════════════════════════════════════════════════════════════════════════╗ │
│ ║ PHASE 7: 缓解规划 (REPORT.md) ║ │
│ ╠═══════════════════════════════════════════════════════════════════════════════════════╣ │
│ ║ ║ │
│ ║ 步骤: 脚本: ║ │
│ ║ 对每个 VR (并行 sub-agent): ║ │
│ ║ 1. 查询 CWE 缓解: ────────────────────────────► unified_kb_query.py --cwe --mitigs ║ │
│ ║ 2. 查询 CVE 上下文: ──────────────────────────► unified_kb_query.py --cve-for-cwe ║ │
│ ║ 3. 获取 STRIDE 控制: ─────────────────────────► unified_kb_query.py --stride ║ │
│ ║ 4. 查询 ASVS 要求: ───────────────────────────► unified_kb_query.py --asvs-level ║ │
│ ║ 5. 设计技术栈特定缓解 ║ │
│ ║ 6. 收集 fix_location (module, function, file, line) ║ │
│ ║ 7. 定义验证标准 ║ │
│ ║ ║ │
│ ║ 输出: .phase_working/P7-MITIGATION-PLANNING.md (可选) ║ │
│ ║ 数据: mitigation_plan {mitigations[], fix_locations[], asvs_compliance[]} ║ │
│ ╚═══════════════════════════════════════════════════════════════════════════════════════╝ │
│ │ │
│ ▼ │
│ ╔═══════════════════════════════════════════════════════════════════════════════════════╗ │
│ ║ PHASE 8: 报告生成 (REPORT.md) ║ │
│ ╠═══════════════════════════════════════════════════════════════════════════════════════╣ │
│ ║ ║ │
│ ║ 步骤: 模板: ║ │
│ ║ 1. 读取所有阶段文档 - RISK-ASSESSMENT-REPORT.template.md ║ │
│ ║ 2. 汇总内容 (不做摘要) - RISK-INVENTORY.template.md ║ │
│ ║ 3. 生成 4 个必需报告 - MITIGATION-MEASURES.template.md ║ │
│ ║ 4. 复制阶段文档到输出 - PENETRATION-TEST-PLAN.template.md ║ │
│ ║ 5. 验证计数守恒 ──────────────────────────────► phase_data.py --validate-all-cp ║ │
│ ║ ║ │
│ ║ 输出: Risk_Assessment_Report/ ║ │
│ ║ ├── {PROJECT}-RISK-ASSESSMENT-REPORT.md ║ │
│ ║ ├── {PROJECT}-RISK-INVENTORY.md ║ │
│ ║ ├── {PROJECT}-MITIGATION-MEASURES.md ║ │
│ ║ ├── {PROJECT}-PENETRATION-TEST-PLAN.md ║ │
│ ║ └── P{1-6}-*.md (阶段文档) ║ │
│ ╚═══════════════════════════════════════════════════════════════════════════════════════╝ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
```
---
## 5. 脚本-工作流交互
### 5.1 按阶段的脚本使用
```
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ 脚本-工作流交互矩阵 │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ 脚本 │ P1 │ P2 │ P3 │ P4 │ P5 │ P6 │ P7 │ P8 │ │
│ ═══════════════════════════════╪════╪════╪════╪════╪════╪════╪════╪════╪ │
│ │ │ │ │ │ │ │ │ │ │
│ module_discovery.py │ ●● │ ● │ │ │ │ │ │ │ │
│ └─ 项目分析和模块发现 │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │
│ stride_matrix.py │ │ │ │ │ ●● │ │ │ │ │
│ └─ STRIDE per Interaction │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │
│ unified_kb_query.py │ │ │ │ │ ●● │ ●● │ ●● │ │ │
│ ├─ --stride {category} │ │ │ │ │ ● │ │ ● │ │ │
│ ├─ --cwe {id} │ │ │ │ │ ● │ ● │ │ │ │
│ ├─ --cwe --full-chain │ │ │ │ │ ● │ ● │ │ │ │
│ ├─ --cwe --mitigations │ │ │ │ │ │ │ ●● │ │ │
│ ├─ --capec {id} │ │ │ │ │ ● │ ● │ │ │ │
│ ├─ --capec --attack-chain │ │ │ │ │ │ ●● │ │ │ │
│ ├─ --cve-for-cwe │ │ │ │ │ │ ● │ ● │ │ │
│ ├─ --check-kev │ │ │ │ │ │ ● │ │ │ │
│ ├─ --asvs-level │ │ │ │ │ │ │ ●● │ │ │
│ ├─ --asvs-chapter │ │ │ │ │ │ │ ● │ │ │
│ ├─ --wstg │ │ │ │ │ │ ● │ │ │ │
│ ├─ --stride-compliance │ │ │ │ │ │ │ │ ● │ │
│ └─ --search (语义) │ │ │ ○ │ ○ │ ○ │ ○ │ ○ │ │ │
│ │ │ │ │ │ │ │ │ │ │
│ phase_data.py (v3.1.0) │ ● │ ● │ │ │ ● │ ● │ ● │ ●● │ │
│ └─ 跨阶段数据和CP验证 │ │ │ │ │ │ │ │ │ │
│ │
│ 图例: ●● 主要使用 ● 次要使用 ○ 可选使用 │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
```
### 5.2 按阶段的脚本命令示例
| 阶段 | 命令 | 用途 |
|-------|---------|---------|
| P1 | `python module_discovery.py <path> --analyze` | 获取项目结构和模块 |
| P5 | `python stride_matrix.py --element process` | 获取适用 STRIDE 类别 |
| P5 | `python unified_kb_query.py --stride spoofing` | 查询 STRIDE→CWE 映射 |
| P5 | `python unified_kb_query.py --cwe CWE-89 --full-chain` | 获取完整 CWE 链 |
| P6 | `python unified_kb_query.py --capec CAPEC-66 --attack-chain` | 获取攻击技术 |
| P6 | `python unified_kb_query.py --check-kev CVE-2021-44228` | 检查 CVE 是否活跃利用 |
| P7 | `python unified_kb_query.py --cwe CWE-287 --mitigations` | 获取缓解建议 |
| P7 | `python unified_kb_query.py --asvs-level L2` | 获取 ASVS L2 要求 |
| P8 | `python phase_data.py --validate-all-cp --root .` | 验证计数守恒 |
---
## 6. 知识库架构
### 6.1 5层知识架构
```
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ 5层安全知识架构 │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ │
│ ┃ 第5层: 实时漏洞数据 (可选) ┃ │
│ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ │
│ ┃ ┃ │
│ ┃ NVD API ◄──────── 当扩展数据库不可用时的实时 CVE 查询 ┃ │
│ ┃ └─ unified_kb_query.py 中的 NVDClient 类 ┃ │
│ ┃ ┃ │
│ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ │
│ │ │
│ ▼ │
│ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ │
│ ┃ 第4层: 合规框架知识 ┃ │
│ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ │
│ ┃ ┃ │
│ ┃ SQLite: compliance_framework (14) + compliance_control (115) ┃ │
│ ┃ ├── NIST 800-53 Rev 5 ┃ │
│ ┃ ├── CIS Controls v8 ┃ │
│ ┃ ├── CSA CCM v4 ┃ │
│ ┃ ├── ISO 27001/27017/42001 ┃ │
│ ┃ └── stride_compliance (51) → STRIDE 类别映射 ┃ │
│ ┃ ┃ │
│ ┃ 查询: --stride-compliance S|T|R|I|D|E ┃ │
│ ┃ ┃ │
│ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ │
│ │ │
│ ▼ │
│ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ │
│ ┃ 第3层: 安全验证知识 ┃ │
│ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ │
│ ┃ ┃ │
│ ┃ SQLite 表: ┃ │
│ ┃ ├── wstg_test (121) OWASP Web 安全测试指南 4.2 ┃ │
│ ┃ ├── mastg_test (206) OWASP 移动应用安全测试指南 2.0 ┃ │
│ ┃ ├── asvs_requirement (345) 应用安全验证标准 5.0 ┃ │
│ ┃ ├── stride_verification (162) STRIDE → 测试映射 ┃ │
│ ┃ └── cwe_verification (12,035) CWE → 测试映射 ┃ │
│ ┃ ┃ │
│ ┃ 查询: --asvs-level L2, --asvs-chapter V4, --wstg ATHN ┃ │
│ ┃ ┃ │
│ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ │
│ │ │
│ ▼ │
│ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ │
│ ┃ 第2层: 安全控制与实施模式 ┃ │
│ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ │
│ ┃ ┃ │
│ ┃ YAML: security-design.yaml (16 域) ┃ │
│ ┃ │ ┃ │
│ ┃ │ 核心域 (01-10): ┃ │
│ ┃ │ ├── 01 AUTHN: 认证与会话 ┃ │
│ ┃ │ ├── 02 AUTHZ: 授权与访问控制 ┃ │
│ ┃ │ ├── 03 INPUT: 输入验证 ┃ │
│ ┃ │ ├── 04 OUTPUT: 输出编码 ┃ │
│ ┃ │ ├── 05 CLIENT: 客户端安全 ┃ │
│ ┃ │ ├── 06 CRYPTO: 加密与传输 ┃ │
│ ┃ │ ├── 07 LOG: 日志与监控 ┃ │
│ ┃ │ ├── 08 ERROR: 错误处理 ┃ │
│ ┃ │ ├── 09 API: API 与服务安全 ┃ │
│ ┃ │ └── 10 DATA: 数据保护 ┃ │
│ ┃ │ ┃ │
│ ┃ │ 扩展域 (ext-11 到 ext-16): ┃ │
│ ┃ │ ├── ext-11 INFRA: 基础设施安全 ┃ │
│ ┃ │ ├── ext-12 SUPPLY: 供应链安全 ┃ │
│ ┃ │ ├── ext-13 AI: AI/LLM 安全 ┃ │
│ ┃ │ ├── ext-14 MOBILE: 移动安全 ┃ │
│ ┃ │ ├── ext-15 CLOUD: 云安全 ┃ │
│ ┃ │ └── ext-16 AGENT: Agent安全 (OWASP ASI) ┃ │
│ ┃ │ ┃ │
│ ┃ └── security-controls/ (18 控制集 + 74 参考) ┃ │
│ ┃ ┃ │
│ ┃ SQLite: security_control (16) + stride_security_control (37) ┃ │
│ ┃ ┃ │
│ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ │
│ │ │
│ ▼ │
│ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ │
│ ┃ 第1层: 核心威胁情报 ┃ │
│ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ │
│ ┃ ┃ │
│ ┃ 威胁情报链: ┃ │
│ ┃ ┃ │
│ ┃ STRIDE ──► OWASP ──► CWE ──► CAPEC ──► ATT&CK ──► CVE/KEV ┃ │
│ ┃ (6) (10) (974) (615) (835) (323K) ┃ │
│ ┃ ┃ │
│ ┃ SQLite 表: ┃ │
│ ┃ ├── stride_category (6) S, T, R, I, D, E 定义 ┃ │
│ ┃ ├── stride_cwe (403) STRIDE → CWE 映射 ┃ │
│ ┃ ├── owasp_top10 (10) OWASP Top 10 2025 ┃ │
│ ┃ ├── owasp_cwe (248) OWASP → CWE 映射 ┃ │
│ ┃ ├── cwe (974) 完整 CWE 定义 ┃ │
│ ┃ ├── capec (615) CAPEC 攻击模式 ┃ │
│ ┃ ├── attack_technique (835) MITRE ATT&CK 技术 ┃ │
│ ┃ └── attack_mitigation (43) ATT&CK 缓解措施 ┃ │
│ ┃ ┃ │
│ ┃ 扩展数据库 (security_kb_extension.sqlite): ┃ │
│ ┃ ├── cve (323,830) NVD CVE 索引 ┃ │
│ ┃ └── cve_cwe (108,409) CVE → CWE 映射 ┃ │
│ ┃ ┃ │
│ ┃ YAML 文件: ┃ │
│ ┃ ├── stride-library.yaml STRIDE 类别详情 ┃ │
│ ┃ ├── capec-mappings.yaml 扩展 CAPEC 模式 ┃ │
│ ┃ ├── cwe-mappings.yaml CWE Top 25 详情 ┃ │
│ ┃ └── llm-threats.yaml OWASP LLM Top 10 ┃ │
│ ┃ ┃ │
│ ┃ 语义搜索: ┃ │
│ ┃ └── kb_embeddings (3,278) 384维向量 (all-MiniLM-L6-v2) ┃ │
│ ┃ ┃ │
│ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
```
### 6.2 知识库统计
| 类别 | 表/文件 | 记录数 | 大小 |
|----------|------------|---------|------|
| **第1层** | CWE | 974 | - |
| | CAPEC | 615 | - |
| | ATT&CK | 835 | - |
| | CVE (扩展) | 323,830 | 304MB |
| | 嵌入向量 | 3,278 | 4.8MB |
| **第2层** | 安全控制 | 18 文件 | - |
| | OWASP 参考 | 73 文件 | - |
| **第3层** | WSTG | 121 | - |
| | MASTG | 206 | - |
| | ASVS | 345 | - |
| **第4层** | 合规 | 115 控制 | - |
| **核心库总计** | security_kb.sqlite | - | 14MB |
| **扩展库总计** | security_kb_extension.sqlite | - | 304MB |
---
## 7. 实体数据模型
### 7.1 核心实体关系
```
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ 核心实体数据模型 │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ 阶段实体 │ │
│ └─────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ Phase 1-4 Phase 5 Phase 6 │
│ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │
│ │ 发现 │ │ 威胁 │ │ 已验证风险 │ │
│ │ Finding │ │ Threat │ │ ValidatedRisk │ │
│ │ ═════════════ │ │ ═════════════ │ │ ═════════════ │ │
│ │ │ │ │ │ │ │
│ │ id: │ │ id: │ │ id: │ │
│ │ F-P{N}-{Seq} │ │ T-{S}-{E}- │ │ VR-{Seq} │ │
│ │ F-P1-001 │ │ {Seq} │ │ VR-001 │ │
│ │ │ N:1 │ T-T-P013-002 │ N:1 │ │ │
│ │ source_phase: │ ─────────► │ │ ───────► │ threat_refs: │ │
│ │ P1|P2|P3|P4 │ │ element_id: │ │ [T-T-P013-001,│ │
│ │ │ │ P001|DS002|DF3│ │ T-T-P013-002,│ │
│ │ description │ │ │ │ T-E-P013-001]│ │
│ │ location │ │ stride_cat: │ │ │ │
│ │ severity │ │ S|T|R|I|D|E │ │ severity: │ │
│ │ │ │ │ │ critical|high│ │
│ │ 数量: 10-30 │ │ cwe_refs[] │ │ medium|low │ │
│ │ │ │ capec_refs[] │ │ │ │
│ └───────────────┘ │ │ │ poc_id: │ │
│ │ 数量: 50-200 │ │ POC-001 │ │
│ │ │ │ │ │
│ └───────────────┘ │ 数量: 5-30 │ │
│ │ │ │
│ └───────┬───────┘ │
│ │ │
│ │ N:1 │
│ ▼ │
│ Phase 7 ┌───────────────┐ │
│ ┌───────────────┐ │ 缓解措施 │ │
│ │ POC │ │ Mitigation │ │
│ │ ═════════════ │ │ ═════════════ │ │
│ │ │ │ │ │
│ │ id: │ │ id: │ │
│ │ POC-{Seq} │ │ M-{Seq} │ │
│ │ POC-001 │ │ M-001 │ │
│ │ │ │ │ │
│ │ threat_id: │ │ risk_refs: │ │
│ │ T-xxx │ │ [VR-001, │ │
│ │ │ │ VR-002] │ │
│ │ steps[] │ │ │ │
│ │ code │ │ priority: │ │
│ │ expected │ │ P0|P1|P2|P3 │ │
│ │ │ │ │ │
│ └───────────────┘ │ fix_location: │ │
│ │ module │ │
│ ┌─────────────────────────────────────────────────────┐ │ function │ │
│ │ 攻击实体 (Phase 6) │ │ file │ │
│ └─────────────────────────────────────────────────────┘ │ line_range │ │
│ │ │ │
│ ┌───────────────┐ ┌───────────────┐ │ asvs_reqs[] │ │
│ │ 攻击路径 │ │ 攻击链 │ │ │ │
│ │ AttackPath │ │ AttackChain │ │ 数量: 5-20 │ │
│ │ ═════════════ │ │ ═════════════ │ │ │ │
│ │ │ │ │ └───────────────┘ │
│ │ id: AP-{Seq} │ │ id: AC-{Seq} │ │
│ │ entry_point │ │ steps[] │ │
│ │ target │ │ threat_ids[] │ │
│ │ feasibility │ │ defense_cuts[]│ │
│ │ │ │ │ │
│ └───────────────┘ └───────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ 计数守恒规则 │ │
│ │ │ │
│ │ P5.threat_inventory.total = SUM(consolidated_into_vr) + SUM(excluded_with_reason) │ │
│ │ │ │
│ │ ∀ threat ∈ P5: │ │
│ │ threat ∈ VR.threat_refs[] OR threat.status = 'excluded' with documented reason │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
```
### 7.2 ID 格式参考
| 实体 | 格式 | 示例 | 阶段 |
|--------|--------|---------|-------|
| 发现 Finding | `F-P{N}-{Seq:03d}` | F-P1-001, F-P4-003 | P1-P4 |
| 威胁 Threat | `T-{STRIDE}-{Element}-{Seq}` | T-T-P013-002, T-S-DS001-001 | P5 |
| 已验证风险 | `VR-{Seq:03d}` | VR-001, VR-025 | P6 |
| POC | `POC-{Seq:03d}` | POC-001 | P6 |
| 攻击路径 | `AP-{Seq:03d}` | AP-001 | P6 |
| 攻击链 | `AC-{Seq:03d}` | AC-001 | P6 |
| 缓解措施 | `M-{Seq:03d}` | M-001, M-015 | P7 |
---
## 8. 总结
### 8.1 系统统计
| 指标 | 值 |
|--------|-------|
| **文件总数** | ~140 |
| **工作流文件** | 4 (SKILL, WORKFLOW, VALIDATION, REPORT) |
| **模板** | 9 |
| **Schema** | 4 |
| **Python 脚本** | 11 |
| **知识 YAML** | 12 |
| **安全控制** | 92 (18 + 74 参考) |
| **SQLite 表** | 25+ |
| **威胁情报记录** | 326,000+ |
| **版本** | 2.1.0 |
### 8.2 关键设计原则
1. **8阶段顺序工作流**: 严格 P1→P2→P3→P4→P5→P6→P7→P8 执行
2. **核心数据模型**: Finding → Threat → ValidatedRisk → Mitigation 具有强制可追溯性
3. **计数守恒**: 所有 P5 威胁必须在 P6 中说明 (合并或带理由排除)
4. **脚本作为黑盒**: Python 脚本处理确定性操作, LLM 处理语义分析
5. **5层知识**: 威胁情报 → 控制 → 验证 → 合规 → 实时数据
6. **基于模板的报告**: 单一英文模板 + LLM 翻译实现本地化
---
**文档版本**: 2.1.1
**最后更新**: 2026-01-04