Stratos-Azure安全评估MCP服务器
](https://github.com/h4cd0c/stratos-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个工具)
- list_active_locations -发现活动的Azure区域
- scan_all_locations -扫描所有区域的资源
- 支持全球45多个Azure位置
- 枚举工具上的位置过滤
🔍 枚举(7个工具)
- 订阅 -映射Azure环境结构
- 资源组 -列出所有资源容器(带位置过滤器)
- 资源 -枚举所有资源(使用位置筛选器)
- 资源详情 -获取详细配置
- 公共IP -识别互联网暴露的攻击面
- RBAC分配 -审核访问控制权限
- 管理身份 -跟踪无密码身份验证
🛡️ 安全扫描(10个工具)
- 存储安全 -公共访问、HTTPS、加密
- 存储容器 -深度扫描敏感文件
- NSG规则 -互联网暴露端口,通配符规则
- SQL数据库 -TDE加密、防火墙、身份验证
- 钥匙库 -软删除、清除保护、机密
- 虚拟机 -磁盘加密、安全扩展
- Cosmos数据库 -公共访问、防火墙、加密
- 集装箱登记处 -管理员用户,漏洞扫描
- 攻击路径 -特权升级链
- 服务负责人 -应用程序身份扫描
☸️ Kubernetes/AKS(3个工具+增强功能)
- scan_aks_full - 🚀 增强 具有多种扫描模式的全面AKS安全性:
- mode: 'full' -完成基于ARM的评估(30+CIS检查) - mode: 'live' -实时K8s API扫描(机密、RBAC、pods、SA) - mode: 'imds' -IMDS利用和令牌盗窃(集群范围扫描、令牌导出) - mode: 'pod_identity' -Pod身份/工作负载身份分析 - mode: 'admission' -准入控制器旁路检测
- scan_aks_policy_bypass -OPA/Kyverno策略绕过检测
- get_aks_credentials -解压kubeconfig以访问kubectl
迁移说明(v1.12.0): 弃用的工具 scan_aks_live, scan_aks_imds, scan_aks_pod_identity,以及 scan_aks_admission_bypass 现在合并为 scan_aks_full 随着 scanMode 参数。
📊 报告和DevOps(3个工具)
- 安全报告 -PDF/HTML/CSV,带有CIS/NIST映射
- Azure DevOps扫描程序 -硬编码秘密检测
- 凭证暴露 -扫描暴露的凭据
报告功能:
- 风险统计执行摘要
- 颜色编码的严重程度(临界/高/中/低)
- 合规框架映射
- 补救指导
______________________________________________________________________
📋 工具参考(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 loginVS代码配置
增添 .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=true2.分析攻击路径
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=true5.深度存储容器扫描
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 -
______________________________________________________________________
制作❤️ 对于安全社区
