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