ThreatModel-MCP
用于人工智能威胁建模的模型上下文协议服务器。
______________________________________________________________________
演示
设置
Install dependencies
pip安装-r要求.txt
Install Graphviz(可选,用于PNG图表)
- 视窗:从下载https://graphviz.org/download/
- 苹果电脑: brew安装graphviz
- Linux: sudo apt-get安装graphviz
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中
______________________________________________________________________
