威胁建模服务

ThreatModel-MCP是一个AI驱动的威胁建模服务器,用于创建全面的威胁模型、进行深度安全分析并生成安全控制建议。

  • by boxed-dev
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 boxed-dev/threatmodelling-mcp

使用说明

ThreatModel-MCP

用于人工智能威胁建模的模型上下文协议服务器。


演示

设置

  1. Install dependencies
    pip安装-r要求.txt

  2. Install Graphviz (可选,用于PNG图表)

    • 视窗:从下载https://graphviz.org/download/
    • 苹果电脑: brew安装graphviz
    • Linux: sudo apt-get安装graphviz
  3. Configure MCP client (克劳德桌面等)

    {
      "mcpServers": {
        "threatmodel": {
          "command": "python",
          "args": ["/full/path/to/threatmodel_server.py"]
        }
      }
    }
    

可用工具

创建三重模型

创建包含组件、边界和数据流的全面威胁模型。

参数:

  • 系统名称 -系统名称
  • 组件 -具有类型、边界和安全控制的系统组件数组
  • 边界 -具有安全级别的信任边界(0-10)
  • 数据流 -具有协议和分类的组件之间的数据流
  • 输出格式 -“图表”、“pytm_code”、“威胁”或“全面分析”
  • 自动保存 -自动保存文件(默认值:true)
  • save_path -保存文件的目录(默认:当前目录)

分析安全威胁

使用多个框架执行深度安全分析。

参数:

  • 分析深度 -“基本”、“标准”、“全面”或“偏执”
  • 威胁框架 -[“大步”、“MITRE_ATTACK”、“OWASP”、“NIST”、“CIS”]
  • 焦点_区域 -身份验证、数据保护、网络安全等。
  • 合规框架 -[“SOC2”、“ISO27001”、“HIPAA”、“PCI-DSS”、“GDPR”]

generate_security_controls

根据威胁生成安全控制建议。

参数:

  • 威胁 -一系列已识别的威胁
  • 风险_厌食症 -“低”、“中”或“高”
  • 技术_ ck -当前技术(AWS、k8s等)
  • 优先级_方法 -“基于风险”、“quick_wins”、“合规驱动”

validate_architecture

根据安全最佳实践验证架构。

参数:

  • 组件 -要验证的系统组件
  • 验证规则 -[“zero_trust”、“encryption_in_transit”、“api_gateway_pattern”]
  • 架构模式 -[“微服务”、“无服务器”、“hybrid_cloud”]

组件类型

演员: 用户、管理员、服务计数
服务: 服务器、api_gateway、微服务、lambda、容器
数据: 数据库、缓存、消息队列、文件存储
基础设施: load_balancer、防火墙、外部服务


协议和分类

协议: HTTPS、gRPC、WebSocket、SQL、Redis、S3 API
数据分类: 公共→ 内部→ 机密→ 受限→ TOP_SECRET


自动保存功能

生成的文件(带时间戳):

  • 系统名称_三种型号_YYYYMMDD_HHMMSS.png -图表(当output_format=“图表”时)
  • 系统名称_三种型号_YYYYMMDD_HHMMSS.dot -DOT来源(始终)
  • 系统名称_三模型_YYYYMMDD_HHMMSS.py -PyTM代码(始终)
  • 系统名称_三模型_分析_YYYYMMD_HMMSS.md -分析报告(当output_format=“full_Analysis”时)

示例用法

示例1:代码库分析

提示:
“创建当前代码库的高级威胁图”

从克隆生成的威胁模型图示例 OpenAI Codex 代码库,显示多层安全边界、组件分类和服务之间的加密数据流。

示例2:Web应用程序体系结构

提示:
用户与web服务器交互的web应用程序,而web服务器又与数据库服务器通信。web服务器和数据库服务器位于用户的信任边界之外。用户通过浏览器连接到web应用程序。web服务器处理请求和响应,数据库服务器存储应用程序数据。信任边界仅围绕用户;web服务器和数据服务器都位于此边界之外

示例威胁模型显示了用户与不受信任区域中的web和数据库服务器的信任边界。

请参阅中的威胁分析报告 assets/Web_Application_System_Threat_Analysis_Report.md


故障排除

Graphviz问题: 证实 点-V
DOT语法错误: 组件名称已自动清理
没有Python: 确保Python在PATH中