关于 ESET PROTECT
ESET PROTECT 是面向安全团队和 AI 助手的只读 MCP 服务,通过 ESET Connect 监控终端设备群。工具涵盖设备、检测与 EDR、漏洞、补丁状态及用户数据。
主要功能
- 01列出并查看设备和群组
- 02调查检测事件与 EDR 规则
- 03查看设备和操作系统漏洞
- 04检查补丁状态及处理记录
- 05列出并查看用户
适用场景
- 01按状态检查受管设备
- 02调查终端或 EDR 检测事件
- 03识别存在漏洞的设备
- 04检查近期补丁处理活动
MCP 相关
向 MCP 客户端提供只读 ESET Connect 工具,用于访问设备、事件、漏洞、补丁及用户数据。支持 stdio 和 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e ESETPROTECT_CLIENT_ID -e ESETPROTECT_CLIENT_SECRET -e ESETPROTECT_REGION -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/eset-protect-mcp:v1.0.2ESETPROTECT_CLIENT_IDEmail of the dedicated ESET Connect API user, created in ESET Business Account with the Integrations toggle enabled.ESETPROTECT_CLIENT_SECRET密钥Password of the ESET Connect API user paired with ESETPROTECT_CLIENT_ID.ESETPROTECT_REGIONESET Connect region: us (default), eu, de, jpn, or ca.MCP_TRANSPORTTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.AUTH_MODE密钥Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.LOG_LEVELLog verbosity: debug, info, warn, error本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/wyre-ai/eset-protect-mcp:v1.0.2stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ESET PROTECT MCP 服务
面向 AI 助手和 WYRE Conduit 网关的 ESET PROTECT ESET Connect API 网关 MCP 服务,提供终端设备群的可见性(设备和组)、检测/EDR 调查、漏洞数据、补丁状态和用户管理。
身份验证
在 ESET Business Account 中创建专用 API 用户:用户管理 > 创建具有只读权限的用户 > 启用 Integrations 开关。这会为该用户提供一组电子邮件/密码。
ESET Connect 的令牌端点(POST /oauth/token)在其独立的 OpenAPI 规范中记载为 password 授权:使用 username/password 字段,而非 client_id/client_secret 和 grant_type=client_credentials。此服务接受 clientId/clientSecret(与 WYRE 其他 MCP 连接器使用的凭据格式一致),并在该授权中将它们作为 username/password 发送。它会在内部处理由此获得的 bearer token 的缓存和刷新(通过返回的 refresh_token 刷新;如果刷新令牌本身被拒绝,则重新完整登录),调用方只需提供长期有效的电子邮件/密码。
配置
| 环境变量 | 说明 |
|---|---|
ESETPROTECT_CLIENT_ID | 专用 ESET Connect API 用户的电子邮件。 |
ESETPROTECT_CLIENT_SECRET | 该 API 用户的密码。 |
ESETPROTECT_REGION | us(默认)、eu、de、jpn 或 ca——ESET Business Account 所在的 ESET Connect 区域。 |
MCP_TRANSPORT | stdio(默认)或 http。 |
AUTH_MODE | env(默认,读取上述变量)或 gateway(凭据通过每个请求的 X-EsetProtect-* 标头传入,由 Conduit 网关注入)。 |
CONDUIT_S2S_SECRET | 设置后,HTTP 传输要求每个 /mcp 请求都包含有效的 X-Gateway-S2S 标头(Conduit sidecar 身份验证)。 |
LOG_LEVEL | debug | info(默认)| warn | error。 |
每个 ESET Connect API 域(设备、事件、漏洞、补丁和用户管理)都托管在独立的区域子域名上,例如 https://us.device-management.eset.systems;身份验证主机遵循相同的区域模式,例如 https://us.business-account.iam.eset.systems。ESETPROTECT_REGION 用于为所有这些域选择前缀。
工具
设备管理
esetprotect_list_device_groups- 列出设备组。esetprotect_list_group_devices- 列出组中的设备。esetprotect_list_devices- 列出受管理设备,可按显示名称、功能状态或静音状态筛选。esetprotect_get_device- 按 UUID 获取设备。esetprotect_batch_get_devices- 在一次调用中按 UUID 获取多个设备。
事件管理(检测、检测组、EDR)
esetprotect_list_detections/esetprotect_get_detection- v1 检测(旧版接口)。esetprotect_list_detections_v2/esetprotect_get_detection_v2/esetprotect_batch_get_detections- v2 检测(终端、云办公和 EDR)。esetprotect_list_detection_groups/esetprotect_get_detection_group- 按组归类的检测。esetprotect_list_edr_rules/esetprotect_get_edr_rule- EDR 检测规则。esetprotect_list_edr_rule_exclusions/esetprotect_get_edr_rule_exclusion- EDR 规则排除项。
漏洞管理
esetprotect_list_device_os_vulnerabilities- 设备上发现的操作系统漏洞。esetprotect_list_device_vulnerabilities- 设备上发现的漏洞(应用程序/操作系统/软件包范围)。esetprotect_list_recent_scans- 最近的漏洞扫描详情。esetprotect_list_vulnerable_devices- 存在已知漏洞的设备。
补丁管理
esetprotect_list_recent_application_patching_details- 整个车队最近的应用程序修补流程。esetprotect_list_device_patches- 设备补丁,可按补丁类型筛选。esetprotect_list_patching_process_details- 指定时间范围内的详细修补流程历史记录。
用户管理
esetprotect_list_users- 列出用户,可按电子邮件、显示名称、保护状态等筛选。esetprotect_get_user- 按 UUID 获取用户。esetprotect_batch_get_users- 在一次调用中按 UUID 获取多个用户(原子操作——全部成功或全部失败)。
请求限制
- HTTP 请求正文的上限为 256 KiB(262144 字节)。
X-Gateway-S2S检查通过后,若Content-Length超过上限,则返回带有 JSON-RPC 错误的 413 响应;没有Content-Length的正文则由 MCP SDK 传输层限制。未经身份验证的请求仍会优先收到 401 响应。 tools/call参数上限为 10,000 个元素(包括任意深度的每个数组项和对象键)。超出上限的输入会返回isError工具结果,且不会被分发。
这些限制用于应对 CVE-2026-111768 / GHSA-46jr-4wx8-v453(验证期间的内存耗尽)和 GHSA-f897-62hf-6gxq(请求正文和批处理均无上限)。
范围
这是一个 v1 只读车队/安全可见性接口。明确暂不支持:设备移动/重命名和批量导入、检测和检测组的解决操作、EDR 规则和规则排除项的创建/更新/删除,以及任何资产管理组的创建/删除/移动/重命名端点。这些属于变更/配置操作,不在只读监控连接器的范围内,可在后续添加。
事件管理 API 还提供了一个独立的 /v2/incidents 案例管理接口(列出/获取/关闭/重新打开、评论),与检测和检测组并存;出于相同原因,该接口也不在此 v1 接口的范围内。
开发
npm install
npm run build
npm test
npm run lint # tsc --noEmit
Docker
docker build -t eset-protect-mcp .
docker run -p 8080:8080 \
-e ESETPROTECT_CLIENT_ID=... \
-e ESETPROTECT_CLIENT_SECRET=... \
eset-protect-mcp
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。