Token导航 LogoToken导航

MCP Server · 运维云端

Arm Alyzer

ARMAlyzer是一款全面的安全分析工具,用于分析Azure ARM模板和Entra ID配置,提供自动化安全检查和智能报告。

stdio官方级别未说明来源级核验工具 0
Python云端部署Docker

快速开始

作者 / 组织
hausec
提供方
hausec

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Arm Alyzer 属于运维云端类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

运维云端

传输方式

stdio

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

ARMAlyzer-Azure安全分析套件

一个使用MCP(模型上下文协议)和PydanticAI的Azure ARM模板和Entra ID配置的全面安全分析工具。

概述

ARMAlyzer为两个关键的Azure组件提供安全分析:

ARM模板分析

  • MCP服务器:通过模型上下文协议公开分析工具
  • Pydanticai代理:智能分析和报告
  • 安全检查:自动检测常见的Azure ARM安全问题
  • 评估框架:测试和验证能力

Entra ID分析

  • 备份分析:分析EntraExporter备份文件的安全配置错误
  • 政策审查:检查授权策略、安全默认值和身份验证方法
  • 角色分析:标识特权用户和角色分配
  • 同步设置:审查本地同步安全设置

特性

ARM模板安全检查

  • 图像版本固定:检测“最新”图像版本的使用情况
  • 管理员凭据:标识硬编码的管理员用户名
  • 身份管理:分析托管身份配置
  • 参数验证:检查是否为null或缺少参数
  • 网络安全:审查网络接口配置

入境者身份安全检查

  • 组织设置:意外删除保护、通知电子邮件
  • 授权策略:访客访问权限、用户权限、应用创建权限
  • 目录角色:特权用户分析,全局管理员计数
  • 同步设置:密码回写、用户回写、设备回写
  • 安全默认值:MFA执行、安全策略合规
  • 身份验证方法:弱身份验证与强身份验证方法分析

建筑

├── server.py              # MCP server entry point
├── tools/
│   ├── arm_checks.py      # ARM template security analysis
│   ├── arm_ingest.py      # ARM MCP tool wrapper
│   ├── entra_analyzer.py  # Entra ID security analysis
│   └── entra_ingest.py    # Entra ID MCP tool wrapper
├── agent/
│   └── run_agent.py       # PydanticAI agent implementation
├── evals/
│   └── test_eval.py       # Evaluation tests
├── fixtures/
│   ├── template.json      # Sample ARM template
│   └── parameters.json    # Sample parameters
├── test_entra_analyzer.py # Entra ID analysis test script
└── test_entra_mcp_client.py # Entra ID MCP client test

安装

  1. 克隆和设置:
   git clone 
   cd mcp_server
   pip install -r requirements.txt
  1. 设置OpenAI API密钥 (适用于PydanticAI代理):
   export OPENAI_API_KEY="your-api-key"

用法

1.MCP服务器

启动MCP服务器:

python server.py

服务器公开 analyze_arm 工具接受:

  • template_text:ARM模板的JSON内容
  • parameters_text:参数文件的JSON内容

2.直接分析(代理)

使用代理运行ARM模板分析:

python agent/run_agent.py arm fixtures/template.json fixtures/parameters.json

使用代理运行Entra ID分析:

python agent/run_agent.py entra c:/EntraBackup

该代理提供基于AI的分析,包括:

  • 行政摘要
  • 详细调查结果表
  • 具体建议
  • 结构化报告

直接分析(无试剂):

直接运行Entra ID分析:

python test_entra_analyzer.py c:/EntraBackup

3.程序化使用

ARM模板分析:

from tools.arm_ingest import analyze_arm, IngestArgs

# Load your template and parameters
template_text = open("template.json").read()
params_text = open("parameters.json").read()

# Analyze
findings = analyze_arm(IngestArgs(
    template_text=template_text,
    parameters_text=params_text
))

print(f"Found {findings.stats['total']} issues")
for finding in findings.findings:
    print(f"- {finding.severity}: {finding.message}")

Entra ID分析:

from tools.entra_analyzer import analyze_entra_backup

# Analyze Entra ID backup
findings = analyze_entra_backup("c:/EntraBackup")

print(f"Found {findings.stats['total']} issues")
for finding in findings.findings:
    print(f"- {finding.severity}: {finding.message}")

4.MCP客户端集成

从任何兼容MCP的客户端连接到MCP服务器:

import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def analyze_template():
    server_params = StdioServerParameters(
        command='python', 
        args=['server.py']
    )
    
    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            
            # ARM Template Analysis
            result = await session.call_tool('analyze_arm', {
                'template_text': template_json,
                'parameters_text': parameters_json
            })
            
            # Entra ID Analysis
            result = await session.call_tool('analyze_entra', {
                'backup_path': 'c:/EntraBackup',
                'include_summary': True
            })
            
            print(result.content[0].text)

asyncio.run(analyze_template())

测试

运行评估测试:

ARM模板测试:

python evals/test_eval.py

Entra ID测试:

python evals/test_entra_eval.py

所有测试:

python evals/test_eval.py
python evals/test_entra_eval.py

测试使用经过净化的夹具数据来确保一致、可预测的结果。

安全调查结果

ARM模板结果

ID严重性描述
IMG-001中等图像版本设置为“最新”
OS-001中等模板中硬编码的管理员用户名
MI-001中等分配了多个受管身份
PAR-001低具有空值的参数

Entra ID调查结果

ID严重性类别描述
AUTH-008关键策略默认用户可以创建租户
AUTH-002高政策允许所有人邀请客人
AUTH-006高策略默认用户可以创建应用程序
ORG-004中等组织无安全合规通知电子邮件
AUTH-003中等策略允许基于电子邮件的订阅注册
SYNC-002中等同步密码回写已禁用
AUTH-METHOD-FIDO2中等AUTHFIDO2身份验证方法已禁用
ORG-005低组织使用旧Azure AD租户类型

配置

环境变量

  • OPENAI_API_KEY:PydanticAI代理功能所需
  • MCP_LOG_LEVEL:设置日志记录级别(调试、信息、警告、错误)

自定义检查

修改 tools/arm_checks.py 要添加新的安全检查,请执行以下操作:

def check_custom_security(template: Dict[str, Any], parameters: Dict[str, Any]) -> List[Finding]:
    findings = []
    # Add your custom security checks here
    return findings

发展

添加新的安全检查

  1. 添加检查逻辑 tools/arm_checks.py
  2. 更新 check_vm_template 函数
  3. 将测试用例添加到 evals/test_eval.py
  4. 更新文档

MCP工具开发

MCP服务器使用FastMCP进行工具注册:

@mcp.tool()
def your_custom_tool(param: str) -> str:
    """Your tool description."""
    return "result"

贡献

  1. 复刻仓库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

支持

对于问题和疑问:

  • 在存储库中创建问题
  • 检查文档
  • 查看测试用例中的使用示例

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

Azure安全Python本地部署ARM模板分析EntraID分析自动化安全检查智能报告

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Arm Alyzer

MCP World · 本页

0stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Arm Alyzer 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Arm Alyzer 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Arm Alyzer 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Arm Alyzer 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Arm Alyzer 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP