mcpField
E
ESET PROTECT

ESET PROTECT

本地服务
github.com安全01 周前更新

关于 ESET PROTECT

ESET PROTECT 是面向安全团队和 AI 助手的只读 MCP 服务,通过 ESET Connect 监控终端设备群。工具涵盖设备、检测与 EDR、漏洞、补丁状态及用户数据。

主要功能

  1. 01列出并查看设备和群组
  2. 02调查检测事件与 EDR 规则
  3. 03查看设备和操作系统漏洞
  4. 04检查补丁状态及处理记录
  5. 05列出并查看用户

适用场景

  1. 01按状态检查受管设备
  2. 02调查终端或 EDR 检测事件
  3. 03识别存在漏洞的设备
  4. 04检查近期补丁处理活动

MCP 相关

向 MCP 客户端提供只读 ESET Connect 工具,用于访问设备、事件、漏洞、补丁及用户数据。支持 stdio 和 HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"wyre-ai-eset-protect": {
"command": "docker",
"args": [
"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.2"
],
"env": {
"ESETPROTECT_CLIENT_ID": "<ESETPROTECT_CLIENT_ID>",
"ESETPROTECT_CLIENT_SECRET": "<ESETPROTECT_CLIENT_SECRET>",
"ESETPROTECT_REGION": "<ESETPROTECT_REGION>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"AUTH_MODE": "<AUTH_MODE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
启动命令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.2
需要配置的环境变量
ESETPROTECT_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/wyre-ai/eset-protect-mcp:v1.0.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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_REGIONus(默认)、eu、de、jpn 或 ca——ESET Business Account 所在的 ESET Connect 区域。
MCP_TRANSPORTstdio(默认)或 http。
AUTH_MODEenv(默认,读取上述变量)或 gateway(凭据通过每个请求的 X-EsetProtect-* 标头传入,由 Conduit 网关注入)。
CONDUIT_S2S_SECRET设置后,HTTP 传输要求每个 /mcp 请求都包含有效的 X-Gateway-S2S 标头(Conduit sidecar 身份验证)。
LOG_LEVELdebug | 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。