关于 SonicWall MCP
SonicWall MCP 是面向管理 SonicWall 设备群的社区 MCP 服务和 CLI,适用于 MSP。它按防火墙评估与保险相关的安全状况并记录变化,同时会屏蔽文档标记的机密字段;当前版本不建议使用 HTTP 传输。
主要功能
- 01逐台防火墙状况评级
- 02公告与 SSL-VPN 暴露检查
- 03MFA 与许可证审计
- 04固件差异报告
- 05发现 MySonicWall 盲点
- 06本地状况变化历史
适用场景
- 01为保险续保整理防火墙状况
- 02查找受 SonicWall 公告影响的设备
- 03识别缺少一次性密码的管理员或 VPN 用户
- 04检查固件落后情况和许可证到期时间
MCP 相关
通过 MCP 服务向 AI 客户端提供 SonicWall 设备群操作,也提供 CLI。README 建议使用 stdio 传输,并避免在当前版本使用 HTTP 模式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
SonicWall + AI - 适用于 ChatGPT、Claude、GitHub Copilot、Microsoft 365 Copilot、Gemini 以及任何支持 MCP 的 Agent
非官方。由社区构建的 Claude Code Skill 和 SonicWall API MCP 服务。与 SonicWall Inc. 无关,也未获其认可或赞助。
▶ 观看 30 秒演示 - 演示数据为模拟数据;展示的每条命令都存在于真实的 CLI 中。
全面掌握整个 SonicWall 设备群的网络保险安全状况:固件、安全公告、MFA、SSL-VPN 暴露情况和许可证,每台防火墙一行。可与您现有的 AI 配合使用 - ChatGPT(Plus/Pro+,此连接器重新发布前暂停使用;参见 mcp-install.md)、Claude Desktop、Codex、Claude Code、Claude Cowork 和 GitHub Copilot,还可通过远程方式使用 Microsoft 365 Copilot / Copilot Studio 和 Google Gemini。免费、开源,可在您的笔记本电脑上运行。专为 MSP 所有者打造。无需编写代码。
适用于您的 Agent
安全提示(此连接器重新发布前)。 请勿使用 HTTP 模式 (
--transport http),即使是在 localhost 上也不行。此版本会检查令牌,但 早于修复版,尚无请求大小和时间限制。MCP 工具也可能使用您的凭据执行更改。请使用默认的 stdio 传输。如果 您为远程 Agent 设置了隧道,请将其关闭。修复版即将推出。
MSP 所有者实际使用的六种 Agent(可自行安装,目前可用):
| 您的 AI Agent | 如何安装 SonicWall Skill |
|---|---|
| Claude Desktop | 运行安装程序,然后前往 Settings > Extensions 注册 sonicwall-mcp(无需编辑 JSON)。 |
| ChatGPT(付费套餐) | 此连接器重新发布前暂停使用:ChatGPT 需要 HTTP 模式,而此版本的该模式会检查令牌,但尚无请求大小和时间限制。请参阅 mcp-install.md 中的安全提示。 |
| Codex CLI | 粘贴下方的安装提示词。 |
| Claude Code | 粘贴下方的安装提示词。 |
| Claude Cowork | 粘贴下方的安装提示词。 |
| GitHub Copilot(VS Code) | 运行安装程序,在 mcp.json 的 servers 键下添加 sonicwall-mcp,然后选择 Agent 模式。 |
ChatGPT 需要远程 HTTPS 服务,因此需要使用此连接器的 HTTP 模式;在连接器重新发布前,该模式暂停使用:此版本的该模式会检查令牌,但尚无请求大小和时间限制。请参阅 mcp-install.md 中的安全提示。
Microsoft 和 Google 技术栈也适用
用户基数很大,但需要如实提醒:这些属于远程/企业接入方式,不是你刚安装的本地二进制文件。
| Agent | 所需条件 |
|---|---|
| Microsoft 365 Copilot / Copilot Studio | 暂停使用,直到重新发布此连接器:Copilot Studio 需要使用 HTTP 模式,而此版本中的该模式会检查令牌,但尚无请求大小或时间限制。请参阅 mcp-install.md 中的安全说明。 |
| Google Gemini | Gemini CLI 是本地运行的,和 Claude Code 一样。Gemini 应用是远程服务,需要使用与 ChatGPT 相同的暂停 HTTP 模式。请参阅 mcp-install.md。 |
原生支持 Skill 的 Agent(也涵盖在内): Hermes 和 OpenClaw 会直接读取此 Skill 的
SKILL.md,并且支持 MCP——请参阅下方的安装章节。也可通过 MCP 与 Cursor、Windsurf、Cline、Continue.dev 和 Zed 搭配使用。各工具的完整接入说明:docs/which-agent.md。
要使用多个 Agent? 运行一条命令,即可在所有 51 种以上受支持的 Agent 中安装:
npx skills add Servosity/msp-skills@latest(需要 Node.js,然后运行每个 Skill 的安装程序来安装 CLI/MCP 二进制文件)。请参阅 docs/which-agent.md。
60 秒内完成安装
Claude Desktop 最快捷的方式——一键安装 .mcpb
下载 SonicWall MCP (.mcpb),然后打开 Claude Desktop > Settings > Extensions 并选择该文件。一键完成,无需 JSON,也无需 shell。(在发布页面查看所有 SonicWall 版本。)
更喜欢 Claude Code 插件?添加一次市场,然后安装即可——立即生效,无需列出目录:
/plugin marketplace add Servosity/msp-skills
/plugin install sonicwall@msp-skills
方式 A——向 AI Agent 粘贴一条提示词(推荐)
将以下内容复制到 Claude Code、Codex CLI 或 Claude Cowork 中:
在此 Agent 工作区中安装 Servosity/msp-skills 中的 SonicWall Skill 和 MCP 服务。如果此工作区使用 POSIX shell(macOS、Linux、WSL 或 Bash),请运行
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/sonicwall/install.sh)。如果使用 Windows PowerShell,请运行iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/sonicwall/install.ps1 | iex。然后按照 README 完成身份验证,并运行sonicwall-cli --help进行探索。
任何能够运行 shell 的 Agent 都可以使用同一条提示词。
方式 B——自行运行安装程序
Windows(PowerShell):
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/sonicwall/install.ps1 | iex
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/sonicwall/install.sh)
安装程序会将 sonicwall-cli(CLI)和 sonicwall-mcp(MCP 服务)安装到用户的 bin 路径中。Claude Code、Codex 和 Cowork 会通过此目录中的 SKILL.md 发现该 Skill。
验证:
sonicwall-cli --version
升级到最新版本
安装程序始终获取当前版本,重新运行即可升级:
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/sonicwall/install.sh)
Windows(PowerShell):
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/sonicwall/install.ps1 | iex
Claude Desktop .mcpb 用户:下载最新的 .mcpb(见本节顶部),然后在 Settings > Extensions 中重新选择该文件。Claude Code 插件用户:/plugin update sonicwall@msp-skills。
添加到 Claude Desktop、GitHub Copilot、Gemini CLI、Microsoft 365 Copilot 或其他 MCP 客户端
安装程序运行后,请参阅 mcp-install.md 和 docs/which-agent.md,查看各 Agent 的接入说明——每个 Agent 各有一个章节,包括 GitHub Copilot 的 servers 键,以及远程 Microsoft 365 Copilot / Copilot Studio 接入方式。Claude Desktop 的 Settings > Extensions 面板是最简单的方式;mcp-install.md 中也记录了 MCP 配置块(适合偏好编辑 JSON 的用户)。
为 Hermes 安装
在 Hermes CLI 中:
hermes skills install servosity/msp-skills/skills/sonicwall --force
在 Hermes 聊天会话中:
/skills install servosity/msp-skills/skills/sonicwall --force
Hermes 原生支持 MCP,因此也可以直接使用 sonicwall-mcp 服务——安装方式和环境变量相同。
为 OpenClaw 安装
告诉你的 OpenClaw Agent(复制此内容):
从 https://github.com/servosity/msp-skills/tree/main/skills/sonicwall 安装 sonicwall 技能。该技能定义了如何通过
openclaw:frontmatter 块安装其所需的 CLI(sonicwall-cli)。
OpenClaw 目前尚未普遍开放;frontmatter 配置已预先提供,并会在 OpenClaw 发布时立即启用。
进行身份验证
创建 MySonicWall API 密钥(最好使用 NSM 角色为只读的账户),然后用它生成 NSM 会话令牌并进行检查:
export SONICWALL_MSW_API_KEY=<your MySonicWall API key>
export SONICWALL_REGION=eucentral # EU NSM portals only; the default is uswest
sonicwall-cli nsm-login
sonicwall-cli doctor
nsm-login 会用该密钥换取 NSM 会话令牌并保存(绝不会打印出来)。令牌有效期为 8 小时,空闲超时为 15 分钟,因此每当 NSM 命令以 4 退出时,都要重新运行 nsm-login。随后,doctor 会执行一次经过身份验证的 NSM 读取操作(GET /tenants),因此它报告的是令牌是否实际有效,而不只是是否已设置。许可证检查和 blind-spots 也会使用同一密钥读取 MySonicWall。
此技能的功能
| MSP 经常提出的问题 | 命令 |
|---|---|
| 每个客户端防火墙对应一行保险态势数据:固件、支持状态、安全公告、许可证、管理员 TOTP、SSL-VPN | sonicwall-cli posture |
| 哪些防火墙受到 CVE-2024-40766 安全公告影响?哪些防火墙在 WAN 区域启用了 SSL-VPN? | sonicwall-cli exposure "SNWLID-2024-0015" |
| 我的机群中,哪些 SonicWall 安全公告影响的防火墙最多? | sonicwall-cli exposure |
| 哪些管理员和本地 SSL-VPN 用户没有一次性密码? | sonicwall-cli mfa-audit |
| 哪些防火墙的固件落后于最新版本?升级会解决哪些问题? | sonicwall-cli firmware drift --behind-only |
| 哪些许可证将在未来 90 天内到期?哪些设备应该直接更换? | sonicwall-cli licenses renewals --days 90 |
| 哪些防火墙已在 MySonicWall 注册,却无法在 NSM 中看到? | sonicwall-cli blind-spots |
| 与上周相比,哪些情况变糟了? | sonicwall-cli posture changes --fleet --since 7d |
完整命令参考:guide.md。有关 AI Agent 操作约定(--agent、--dry-run、何时在执行变更前确认),请参阅 AGENTS.md。
有何不同
GTalksTech/sonicwall-mcp 是一个面向 NSM SaaS 的只读 Python MCP 服务,提供 46 个工具,用于查看设备清单、固件、安全公告、许可证状态、各站点的 SSL-VPN 配置和配置历史。
这个项目是一个既可用作 CLI,也可用作 MCP 服务的单一二进制文件,专为 MSP 在 SonicWall 发布安全公告当天早上以及保险续保时会遇到的问题而构建。posture 通过 NSM 的 SonicOS 透传功能读取 NSM 租户中的每台防火墙,并根据固件、停止支持状态、安全公告、许可证到期时间、管理员 TOTP 和 SSL-VPN 暴露情况,将每台防火墙评为通过、警告、失败或未知。mfa-audit 会列出所有没有一次性密码的本地 SSL-VPN 用户;blind-spots 会找出已在 MySonicWall 注册、但 NSM 无法看到的防火墙;每次运行 posture 都会在本地保存结果,因此 posture changes 可以显示自上周以来哪些情况变差了。无法读取的防火墙状态为未知,绝不会判为通过。SonicWall 自身的 API 架构文档中提到的机密字段(本地用户和设备密码、注册码和验证码、SNMP 团体名称、MySonicWall API 密钥)会在输出、缓存或交给 Agent 前清空。
SonicWall 的 SAMI 是 SonicWall 统一管理控制台中的助手,可回答设备群问题并执行固件升级等任务。本项目可从你已在使用的 AI Agent 中运行,绝不会更改防火墙,并会逐台评估保险公司所关注的安全状态。
它解决的问题
从 2025 年 7 月起,Akira 勒索软件运营者开始攻击 SonicWall SSL-VPN 账户(BleepingComputer)。SonicWall 将这波攻击与 CVE-2024-40766 以及第 6 代迁移到第 7 代时“沿用本地用户密码”的情况联系起来,并要求管理员将固件更新到 7.3.0、重置本地 SSL-VPN 密码并强制启用 MFA(SonicWall);面向 MSP 的 SmarterMSP 公告也提出了相同要求。要在当天完成这些工作,就必须了解每个客户的哪些防火墙运行着旧固件、哪些防火墙在 WAN 区域启用了 SSL-VPN,以及哪些本地用户没有一次性密码。这些设置分散在每台防火墙上,而保险公司每次续保都会询问相同的问题。
sonicwall-cli exposure "SNWLID-2024-0015"- 列出受 CVE-2024-40766 安全公告影响的所有防火墙,以及 SSL-VPN 是否位于 WAN 区域。sonicwall-cli mfa-audit- 查看每台防火墙的管理员 TOTP,以及所有没有一次性密码的本地 SSL-VPN 用户。sonicwall-cli posture- 为每台防火墙生成一行通过、警告、失败或未知状态,并保存结果以供posture changes使用。sonicwall-cli licenses renewals --days 90- 生成一份续保清单,无需再维护电子表格。
更完整的介绍请参阅 pain-point.md。
常见问题
这能与 ChatGPT 配合使用吗?
当前版本不行。ChatGPT(Plus、Pro、Team、Business、Enterprise 和 Education 方案;Free 目前尚不支持 Developer Mode)只能通过 HTTPS 连接到远程 MCP 服务,这意味着必须以 HTTP 模式运行 SonicWall MCP 服务。在当前版本中,HTTP 模式会检查令牌,但尚未限制请求大小或请求时长,因此在连接器重新发布之前,请勿运行它,也不要将其置于隧道后面。mcp-install.md 中的安全说明解释了原因。在此之前,请使用 Claude Desktop、Claude Code 或 Codex。
这能与 Codex、Cursor、Windsurf、Cline、Copilot 或 Gemini 配合使用吗?
可以 - 它们都支持 MCP。跨工具安装命令见上方的矩阵,详细说明请参阅 docs/which-agent.md。
我需要会编程吗?
不需要。推荐的安装方式是将一句话粘贴到 Claude Code 或 Codex 中——你的 Agent 会读取 SKILL.md 并完成安装。备用方式是每种操作系统对应的一行安装程序(bash 或 PowerShell)。这两种方式都不需要编写代码。你只需输入一次 MySonicWall API 密钥,然后运行 sonicwall-cli nsm-login。
我的 SonicWall 数据安全吗?
你的数据会保留在自己的计算机上。CLI 和 MCP 服务都是本地二进制程序。SQLite 镜像保存在你用户帐户下的目录中。AI Agent 只能看到 CLI 返回的内容——通常是查询结果,而不是原始批量数据。凭据从你的环境或 Agent 配置中读取;MSP Skills 绝不会将凭据打包进此代码库或传输到任何地方。
它需要哪些凭据?
需要一个 MySonicWall API 密钥,并将其设置为 SONICWALL_MSW_API_KEY。sonicwall-cli nsm-login 会用它换取 NSM 会话令牌并保存;该令牌有效期为 8 小时,空闲超时为 15 分钟,因此当 NSM 命令以状态码 4 退出时,请再次运行 nsm-login。欧盟门户还需设置 SONICWALL_REGION=eucentral。请使用 NSM 角色为只读的 MySonicWall 帐户;NSM 本身也会拒绝任何写入操作。
它能更改我的 SonicWall 防火墙吗?
不能。它会读取 NSM、通过 NSM 的 SonicOS 直通功能访问的防火墙,以及 MySonicWall。唯一的 POST 请求是以读取方式进行的 MySonicWall 查询和令牌交换(nsm-login、nsm-session、msw-tenants access-code)。SonicWall 自有 API 架构中记录的机密字段(例如本地用户和设备密码、注册码和身份验证码、SNMP 团体名称以及 MySonicWall API 密钥)会在任何内容被打印、缓存、同步或交给 Agent 之前,从每个响应中清除。SONICWALL_MCP_READ_ONLY=1 会隐藏可能更改 NSM、MySonicWall 或防火墙状态的 MCP 工具;保留的工具仍会写入本地状态(响应缓存、posture 快照和学习条目)。
它能看到未加入 NSM 的防火墙吗?
使用 posture、exposure、mfa-audit 或 firmware drift 时看不到:这些功能只能查看已接入 NSM SaaS 的防火墙。运行 sonicwall-cli blind-spots,即可列出已在 MySonicWall 注册但 NSM 无法看到的防火墙,以及适用于其已注册固件的公告。
它如何判断 SSL-VPN 是否暴露在互联网上?
它会读取每台防火墙的 SSL-VPN 区域设置,并在 SSL-VPN 已在名称包含 WAN 的区域上启用时,将其标记为暴露。名称自定义且不含 WAN、但面向互联网的区域无法被识别,因此此处通过应理解为“未在名称包含 WAN 的区域上启用”。
费用是多少?
免费。采用 Apache-2.0 许可证。你只需为所用的 AI Agent(Claude、ChatGPT、Codex 等)付费,费用由你的 AI 提供商收取,而不是我们。
安全模型
| 层级 | 示例 | 建议的 Agent 策略 |
|---|---|---|
| 读取 | posture、posture changes、exposure、mfa-audit、firmware drift、licenses renewals、blind-spots;devices、device-groups、firmware、licenses、vulnerabilities、tenants、alerts 和 nsm-system 下的所有 list / get / count;config-audit count;firewall 中除敏感读取项下四项以外的读取操作;msw-products、msw-licenses、msw-system,以及 msw-tenants 中除 access-code 以外的读取操作;对本地存储执行 search,以及导出除 config_audit 和 msw_users 以外的任何资源(仅本地写入:已保存的态势检查运行结果、响应缓存、export --output 文件) | 允许 |
| 原始读取(应急通道) | nsm-get(仅限供应商文档中说明的 GET 路由;拒绝凭据和更改状态的路由;对形似凭据的值进行脱敏) | 允许;审查不熟悉的路径 |
| 敏感读取 | config-audit list / diff(NSM 返回的配置文本,不会逐字段脱敏)、firewall local-users、firewall local-groups、firewall user-auth、firewall sslvpn-sessions、msw-users、msw-activity、export config_audit / export msw_users、sync / workflow archive(这些操作会将 config-audit 配置文本及 firewall 本地用户和组复制到本地存储,search 和 MCP sql / search 工具可以读取这些内容),以及对 config_audit 或 msw_users 执行 tail | 需人工参与;将输出和本地存储保持私密 |
| 凭据 | nsm-login、nsm-session refresh / sso、msw-tenants access-code、import、auth set-token、auth logout | 仅限人工参与 |
| 数据外传 | --deliver webhook:<url>、feedback --send,以及设置了 SONICWALL_FEEDBACK_ENDPOINT 且 SONICWALL_FEEDBACK_AUTO_SEND=true 时的 feedback | 需人工参与 |
MCP sonicwall_execute 工具可以按 ID 调用任何经过筛选的端点:每次调用都遵循上述层级。它的 POST 请求包括凭据层级的令牌交换,以及四项只读式 MySonicWall 查询(msw-activity export、msw-licenses、msw-products list、msw-users groups);设置 SONICWALL_MCP_READ_ONLY=1 时,所有 POST 请求都会被拒绝。没有任何命令会更改防火墙、NSM 或 MySonicWall 配置。
最强有力的控制措施是使用 NSM 角色为只读的 MySonicWall 账户——NSM 会拒绝其他所有操作。锁定账户的详细信息见 governance.md。
状态
Beta 版,等待实际环境验证。命令集是 SonicWall 自行发布的 API 规范(NSM API Gateway 和 SonicOS passthrough Swagger 文件,以及 MySonicWall API)中经过筛选的子集;设备群命令也已通过针对模拟 NSM 和 MySonicWall 响应的单元测试。但目前还没有 MSP 在生产租户上运行并反馈,因此这里的任何内容都尚未经过真实防火墙验证。如果你在自己的环境中运行,填写“可正常运行”表单后,我们就能为此添加徽章。MSP 会在每周的 Build Sessions 中全面测试这类连接器——请在 compoundingteams.com/build-sessions RSVP。
标准。 符合开放的 Agent Skills 规范(Anthropic,2025 年 12 月;支持 40 多种 Agent)。兼容 MCP,可与任何支持 MCP 的 Agent 配合使用,包括 Hermes。支持 OpenClaw(frontmatter 已预先配置,等待 OpenClaw 发布)。
由 Servosity 维护。采用 Apache-2.0 许可。使用 CLI Printing Press 构建。上次更新:2026-10-15。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。