VAST 模型(Visual, Agile, and Simple Threat modeling,即可视化、敏捷且简化的威胁建模)是一种面向现代 DevSecOps 和规模化安全工程的新一代威胁建模方法论。它由 ThreatModeler 公司(原名为“Practical Threat Modeling”)于 2010 年代中期提出,旨在解决传统威胁建模方法(如 STRIDE、PASTA)在大型组织、敏捷开发和自动化流水线中落地困难的问题。
VAST 的核心理念是:威胁建模必须可扩展、可重复、与开发流程无缝集成,并能同时服务于应用安全(AppSec)和运营安全(SecOps)团队。
一、VAST 的三大核心原则(Key Principles)
1. Visual(可视化)
- 使用标准化图形语言(如数据流图 DFD)直观呈现系统架构;
- 支持自动从代码、API 定义(如 OpenAPI/Swagger)、基础设施即代码(IaC,如 Terraform)生成架构图;
- 可视化攻击路径、信任边界和风险热点,便于跨团队沟通。
✅ 目标:让开发者、架构师、安全人员“看到同一个世界”。
2. Agile(敏捷)
- 适配短周期迭代开发(Sprints),可在设计评审(Design Review)或 PR 阶段快速执行;
- 支持增量式建模:仅分析变更部分(Delta Analysis),而非每次重建整个模型;
- 与 Jira、Azure DevOps、GitLab 等工具集成,自动生成安全任务。
✅ 目标:将威胁建模嵌入 CI/CD 流水线,实现“安全左移”(Shift Left Security)。
3. Simple(简化)
- 自动化识别常见威胁(基于规则引擎 + CWE/CAPEC/ATT&CK 知识库);
- 减少人工判断,提供上下文感知的缓解建议(Context-Aware Mitigations);
- 输出结构化、可操作的结果(如修复代码示例、配置模板)。
✅ 目标:降低威胁建模门槛,使非安全专家也能参与。
二、VAST 的双轨建模机制(Dual-Track Approach)
VAST 的独特之处在于它区分两类系统,采用并行但不同的建模流程:
| 轨道 | 适用对象 | 建模重点 |
|---|---|---|
|
Application-Centric Track (以应用为中心的轨道) |
微服务、Web 应用、移动 App | - 数据流 - API 接口 - 身份认证/授权逻辑 - 代码级漏洞(如 XSS、SQLi) |
|
Operations-Centric Track (以运维为中心的轨道) |
网络拓扑、云环境、容器平台、服务器集群 | - 网络分段(Network Segmentation) - IAM 权限模型 - 容器镜像安全 - 日志与监控覆盖 |
🔍 为什么需要双轨?
传统威胁建模只关注应用层,但现代攻击常从基础设施层(如 S3 桶公开、K8s RBAC 配置错误)突破。VAST 同时覆盖 “代码到云”(Code-to-Cloud)的全栈风险。
三、VAST 工作流程(Typical Workflow)
-
自动发现架构(Automated Architecture Discovery)
- 从 OpenAPI、Terraform、Kubernetes YAML 等提取系统结构;
- 自动生成带信任边界的 DFD。
-
智能威胁识别(Intelligent Threat Identification)
- 基于内置知识库(CWE、CAPEC、MITRE ATT&CK)匹配潜在威胁;
- 例如:检测到“用户输入 → SQL 查询” → 自动标记 CWE-89: SQL Injection。
-
上下文化风险评估(Contextual Risk Scoring)
- 结合业务影响、暴露程度、利用难度计算风险优先级;
- 区分“理论漏洞”与“实际可利用风险”。
-
生成可操作缓解措施(Actionable Mitigation Guidance)
- 提供具体修复方案:
- 代码示例(如使用参数化查询);
- IaC 修复模板(如添加 S3 桶策略);
- WAF 规则建议。
- 提供具体修复方案:
-
持续验证与反馈(Continuous Validation)
- 在 CI 中验证修复是否生效;
- 将结果反馈至威胁模型,形成闭环。
四、VAST vs. 传统方法(如 STRIDE、PASTA)
| 维度 | VAST | STRIDE / PASTA |
|---|---|---|
| 自动化程度 | ⭐⭐⭐⭐ 高(依赖工具平台) | ⭐⭐ 低(高度依赖人工) |
| 可扩展性 | 支持数千微服务 | 适合单体或小型系统 |
| 团队协作 | 开发、安全、运维共用同一模型 | 通常由安全团队主导 |
| DevOps 集成 | 原生支持 CI/CD | 需手动嵌入流程 |
| 学习曲线 | 低(图形化 + 自动化) | 高(需掌握建模理论) |
💡 VAST 不是否定 STRIDE,而是将其自动化:
例如,VAST 工具内部仍用 STRIDE 分类威胁,但用户无需手动应用。
五、适用场景
✅ 推荐使用 VAST 的情况:
- 企业拥有大量微服务或云原生应用;
- 已实施 DevSecOps 或平台工程(Platform Engineering);
- 需要规模化、标准化的威胁建模流程;
- 安全团队资源有限,需减少人工干预。
❌ 可能不适用的情况:
- 单次安全评估或渗透测试前的快速建模;
- 系统极其简单(如静态网站);
- 无自动化工具支持的小型团队。
六、总结
VAST 模型(Visual, Agile, and Simple Threat modeling)代表了威胁建模从专家驱动的手工活动向工程化、自动化安全实践的演进。它通过:
- 可视化架构(Visual)
- 敏捷集成(Agile)
- 简化操作(Simple)
三大支柱,解决了传统方法在现代软件交付体系中的落地瓶颈。尤其在云原生、微服务和 DevSecOps 时代,VAST 提供了一条可扩展、可持续、可度量的威胁建模路径。
🔑 核心价值:
“让每一次代码提交都经过自动化的威胁建模审查。”
如今,VAST 的思想已被多家商业威胁建模工具(如 ThreatModeler、IriusRisk、Microsoft Threat Modeling Tool 的新版本)所采纳,成为企业级安全架构设计的事实标准之一。