使用说明
Stratos-Azure安全评估MCP服务器
企业级Azure安全评估工具包,具有多位置扫描、IMDS利用、攻击路径分析和合规性报告功能
专为进行授权渗透测试、合规审计和执行风险报告的安全专业人员而设计
概述
斯特拉托斯 是基于模型上下文协议(MCP)构建的全面Azure安全评估框架。它提供了40种可用于生产的工具,涵盖Azure云环境的多位置扫描、枚举、漏洞扫描、攻击路径分析、AKS/Kubernetes安全(包括实时K8s API扫描和IMDS利用)、备份安全、VNet拓扑分析、私有端点验证和合规性报告。
用例
- 多位置扫描 -扫描所有45+Azure区域的资源
- 安全评估 -识别错误配置和漏洞
- IMDS开发 -令牌盗窃、集群范围内的暴露、深度数据平面访问
- 执行报告 -生成专业风险评估报告
- 符合性审计 -将研究结果映射到CIS、NIST框架
- 渗透测试 -发现攻击路径和权限升级向量
- Kubernetes安全 -AKS集群、节点和IMDS漏洞测试
- DevOps安全 -检测Azure DevOps中的硬编码秘密
关键亮点
- 100%只读 -对生产环境安全
- 40安全工具 -全面的Azure服务覆盖(v1.14.0)
- 多地点 -扫描公共(10)或所有(45+)Azure区域
- 多格式报告 -PDF、HTML、CSV、Markdown、JSON
- 攻击路径分析 -特权升级和横向移动映射
- AKS/Kubernetes -4个整合的容器安全工具(ARM+Live K8s+IMDS)
- 企业就绪 -面向高管和审计师的专业报告
v1.14.0的新增功能🎉
关键安全增强-研究驱动的扩展
- 6个新的安全工具 -备份安全、Direct3D对等、专用端点、诊断设置、Defender覆盖范围、策略合规性
- 8增强工具 -存储(SAS令牌+WORM)、服务主体(以RBAC为中心)、托管身份(联邦)、NSG(服务端点+负载均衡器)、SQL(PostgreSQL+MySQL+Redis)、功能应用程序(事件网格+服务总线)
- 23个新参数 -跨现有工具的扩展功能(100%向后兼容)
- 研究归因 -基于Azure安全基准v3、redskycyber/云安全、CIS Azure基础
- 云基础设施重点 -服务主体分析不包括Azure AD(仅限云资源)
主要特点
🌍 多位置(2个工具)
🔍 枚举(7个工具)
|
🛡️ 安全扫描(10个工具)
|
☸️ Kubernetes/AKS(3个工具+增强功能)
迁移说明(v1.12.0): 弃用的工具 |
📊 报告和DevOps(3个工具)
报告功能:
|
📋 工具参考(40个工具)
命名规范
| 前缀 | 目的 |
|---|---|
azure_enumerate_* |
列出/发现资源 |
azure_analyze_* |
深度配置分析 |
azure_scan_* |
安全评估 |
azure_get_* |
检索特定数据 |
azure_detect_* |
查找威胁/问题 |
azure_generate_* |
创建输出/报告 |
完整工具清单
| # | 工具名称 | 类别 | 描述 |
|---|---|---|---|
| 1 | azure_help |
信息 | 显示全面的帮助和示例 |
| 2 | azure_list_active_locations |
多位置 | 发现哪些Azure区域有资源 |
| 3 | azure_scan_all_locations |
多位置 | 扫描所有45个以上Azure区域的资源 |
| 4 | azure_enumerate_subscriptions |
枚举 | 列出所有可访问的订阅 |
| 5 | azure_enumerate_resource_groups |
枚举 | 列出订阅中的资源组 |
| 6 | azure_enumerate_resources |
枚举 | 列出所有资源(可按类型筛选) |
| 7 | azure_get_resource_details |
枚举 | 获取详细的资源配置 |
| 8 | azure_analyze_storage_security |
安全 | 扫描存储帐户以查找配置错误 |
| 9 | azure_analyze_nsg_rules |
安全 | 识别有风险的防火墙规则 |
| 10 | azure_enumerate_public_ips |
枚举 | 映射互联网暴露的攻击面 |
| 11 | azure_enumerate_rbac_assignments |
枚举 | 审核访问控制和权限 |
| 12 | azure_scan_sql_databases |
安全性 | 检查SQL安全性(TDE、防火墙、身份验证) |
| 13 | azure_analyze_keyvault_security |
安全 | 审核密钥库配置 |
| 14 | azure_analyze_cosmosdb_security |
安全 | 扫描Cosmos DB安全设置 |
| 15 | azure_analyze_vm_security |
安全性 | 检查VM磁盘加密和补丁 |
| 16 | azure_scan_acr_security |
安全 | 增强 ACR安全与供应链(扫描模式:安全/中毒/全部) |
| 17 | azure_enumerate_service_principals |
安全 | 查找应用程序身份和风险 |
| 18 | azure_enumerate_managed_identities |
枚举 | 跟踪无密码身份验证 |
| 19 | azure_scan_storage_containers |
安全 | 对blob中的敏感文件进行深度扫描 |
| 20 | azure_generate_security_report |
报告 | 增强 具有全扫描选项的专业报告(PDF/HTML/CSV/JSON) |
| 21 | azure_analyze_attack_paths |
分析 | 映射权限升级链 |
| 22 | azure_get_aks_credentials |
Kubernetes | 提取kubeconfig凭据 |
| 23 | azure_scan_azure_devops |
DevOps | 检测存储库/管道中的硬编码秘密 |
| 24 | azure_analyze_function_apps |
计算 | 功能应用安全分析 |
| 25 | azure_analyze_app_service_security |
计算 | 应用服务安全评估 |
| 26 | azure_analyze_firewall_policies |
网络 | Azure防火墙策略分析 |
| 27 | azure_analyze_logic_apps |
集成 | Logic Apps工作流安全 |
| 28 | azure_analyze_rbac_privesc |
分析 | 特权升级分析 |
| 29 | azure_detect_persistence_mechanisms |
分析 | 检测持久性技术 |
| 30 | azure_scan_aks_full |
库贝内特斯 | 增强 全面的AKS安全(扫描模式:完整/实时/imds/pod_identity/准入) |
| 31 | azure_scan_aks_policy_bypass |
Kubernetes | OPA/Kyverno/Azure策略绕过检测 |
| 32 | azure_scan_container_apps_security |
容器 | Azure容器应用程序安全扫描程序 |
| 33 | azure_scan_gitops_security |
DevOps | GitOps/Flux安全扫描器 |
| 34 | azure_scan_cdn_security |
网络 | Azure CDN和前门安全 |
| 35 | azure_analyze_backup_security |
安全 | 新版v1.14.0 恢复服务保险库安全(软删除、不变性、ASR) |
| 36 | azure_analyze_vnet_peering |
网络 | 新版v1.14.0 Direct3D对等安全(网关传输、跨租户) |
| 37 | azure_validate_private_endpoints |
网络 | 新版v1.14.0 专用链接验证(DNS、连接状态) |
| 38 | azure_validate_diagnostic_settings |
合规性 | 新版v1.14.0 记录合规性(NIST/CIS映射) |
| 39 | azure_assess_defender_coverage |
安全 | 新版v1.14.0 云覆盖评估卫士 |
| 40 | azure_validate_policy_compliance |
合规性 | 新版v1.14.0 Azure策略治理验证 |
🚀 快速开始
安装
选项1:从npm安装(推荐)
# Install globally from npm
npm install -g stratos-mcp
选项2:从源代码构建
# Clone the repository
git clone https://github.com/h4cd0c/stratos-mcp.git
cd stratos-mcp
# Install dependencies
npm install
npm run build
先决条件
# Login to Azure CLI
az login
VS代码配置
增添 .vscode/mcp.json:
{
"servers": {
"stratos": {
"command": "node",
"args": ["C:\\path\\to\\stratos-mcp\\dist\\index.js"],
"type": "stdio"
}
}
}
🛡️ 输入验证和自动完成⭐ 新
增强的安全性(符合OWASP MCP-05标准):
- 基于模式的验证 -所有Azure资源标识符(订阅ID、资源组、位置等)的正则表达式验证
- 白名单验证 -根据Azure服务目录验证位置名称和资源类型
- 消毒 -自动删除控制字符和长度强制
- 清除错误消息 -有用的验证错误指导用户更正输入格式
改善用户体验:
- 自动完成支持 -对位置、资源类型、格式和扫描模式的智能建议
- 前缀过滤 -输入值时提前键入建议
- 上下文感知 -根据当前工具和论点提出相关值
支持的完成:
location/locations-所有60多个Azure位置+“全部”、“通用”resourceType-VM、存储、NSG、AKS、SQL、密钥库、公共IP、所有format-markdown、json、html、pdf、csvscanMode-共同的,所有startFrom-公共ip、存储、vm、身份、所有
� 输出格式控制⭐ 新
所有30个安全工具现在都支持通过可选的 format 参数:
Markdown(默认) -人类可读的输出,非常适合文档和报告
#azure_whoami
# Returns: Clean markdown text (backward compatible)
JSON -具有元数据的机器可读结构化数据,用于自动化
#azure_whoami format: json
# Returns: { "tool": "azure_whoami", "format": "json", "timestamp": "...", "data": {...} }
主要优势:
- ✅ 向后兼容 -现有工具无需更改即可工作(默认为markdown)
- ✅ API集成 -JSON格式支持程序化消费
- ✅ 自动化 -分析CI/CD管道的结构化数据
- ✅ 元数据 -JSON包括工具名称、时间戳和版本控制
- ✅ 灵活的 -根据用例为每个工具选择格式
支持的工具: 所有安全扫描器、枚举器和分析器(共34个工具)
示例用例:
# Export scan results to JSON for automation
#azure_analyze_storage_security subscriptionId: YOUR_SUB format: json > results.json
# Human-readable documentation output (default)
#azure_scan_sql_databases subscriptionId: YOUR_SUB
# Structured data for API integration
#azure_analyze_attack_paths subscriptionId: YOUR_SUB format: json
�📊 示例工作流
1.生成安全报告(快速与全面)
# Quick scan (4 core tools: Storage, NSG, SQL, KeyVault) - 5-10 seconds
generate_security_report subscriptionId="YOUR_SUB_ID" format="pdf" outputFile="C:\\reports\\quick-scan.pdf"
# Comprehensive scan (ALL 34 tools) - 30-60 seconds
generate_security_report subscriptionId="YOUR_SUB_ID" format="pdf" outputFile="C:\\reports\\full-scan.pdf" fullScan=true
2.分析攻击路径
analyze_attack_paths subscriptionId="YOUR_SUB_ID" startFrom="public-ips"
3.扫描Azure DevOps的秘密
scan_azure_devops organizationUrl="https://dev.azure.com/yourorg" personalAccessToken="YOUR_PAT"
4.AKS安全评估
# Comprehensive ARM-based scan
scan_aks_full subscriptionId="YOUR_SUB_ID" resourceGroup="RG-NAME" clusterName="CLUSTER-NAME"
# IMDS exploitation with token export
scan_aks_imds subscriptionId="YOUR_SUB_ID" resourceGroup="RG-NAME" clusterName="CLUSTER-NAME" scanAllPods=true exportTokens=true deepDataPlane=true
5.深度存储容器扫描
scan_storage_containers subscriptionId="YOUR_SUB_ID"
📄 报表格式
| 格式 | 用例 | 功能 |
|---|---|---|
| 高管演示文稿 | 颜色编码的严肃性,专业布局 | |
| 超文本标记语言 | 交互式仪表板 | 现代风格,可排序的表格 |
| CSV | 数据分析,Excel | 用于跟踪的结构化导出 |
| JSON | 自动化集成 | 机器可读格式 |
| 标记语言 | 文档 | 人类可读,版本控制 |
🔧 技术细节
依赖关系:
- 适用于所有服务的Azure SDK v4+
- Azure DevOps API v13.2.0
- 用于导出的PDFKit、标记、CSV写入器
- TypeScript 5.3.3,Node.js 20+
- MCP SDK v1.0.4
支持的Azure服务:
- 存储帐户、网络安全组
- SQL数据库、密钥库、虚拟机
- Cosmos DB,容器注册表
- AKS/Kubernetes、Azure DevOps
⚠️ 免责声明
仅用于授权的安全测试
该工具专为进行授权渗透测试的安全专业人员而设计。用户必须:
- 有目标组织的明确书面授权
- 遵守所有适用的法律法规
- 遵循负责任的披露做法
- 遵守Azure服务条款
未经授权访问计算机系统是非法的。
📝 许可证
麻省理工学院
🤝 作者
h4cd0c - GitHub
制作❤️ 对于安全社区