mcpField
E
EyalSec

EyalSec

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

关于 EyalSec

EyalSec MCP server 为安全团队及使用 EyalSec 的开发者提供账户数据的只读访问,可通过自然语言查询安全事件、机器、运行记录和规则。它不会修改账户内容。

主要功能

  1. 01按严重程度、时间和来源搜索事件
  2. 02查看事件详情、调用栈及数据流
  3. 03汇总事件统计和趋势
  4. 04检查机器状态与待更新项
  5. 05读取规则、筛选器和账户活动

适用场景

  1. 01汇总本周各机器的高危事件
  2. 02追踪注入事件从请求到危险操作的路径
  3. 03查找产生特定事件的程序运行记录
  4. 04检查机器是否有待安装更新

MCP 相关

该服务通过 MCP 将 EyalSec API 的事件、机器、运行记录及规则等只读数据提供给 MCP 客户端。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"eyalsec-eyalsec": {
"command": "uvx",
"args": [
"eyalsec-mcp"
],
"env": {
"EYALSEC_API_KEY": "<EYALSEC_API_KEY>",
"EYALSEC_URL": "<EYALSEC_URL>"
}
}
}
}
启动命令uvx eyalsec-mcp
需要配置的环境变量
EYALSEC_API_KEY密钥Your EyalSec API key, from Settings > API access. A read-only key is enough.
EYALSEC_URLYour EyalSec address, if your account is not on https://eyalsec.com.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypieyalsec-mcp0.1.1

工具

19

收录的工具列表 · 更新于 1 周前

参数类型必填说明
sortany否'newest'(默认)或 'severity'(严重程度最高的优先)。
tagsany否要保留的影响类别,例如 'xss' 或 'sqli'。
viewany否要查询哪个产品的事件:'python'(es-python)或 'browser'(es-chromium)。省略则查询账户中的所有产品。
limitinteger否收集到至少这么多条事件后停止(每页最多 100 条,按整页读取)。
bucketany否'live'(默认:未抑制的事件)、'suppressed' 或 'all'。
cursorany否使用相同筛选条件时,从之前的调用获取的 next_cursor,用于继续查询。
labelsany否要保留的标签 ID(来自 list_labels)。
date_toany否结束日期,格式为 YYYY-MM-DD 或 RFC3339;包含当天的全部时间。
machineany否按显示名称指定一台机器(精确匹配)。
run_uidany否仅查询由此运行产生的事件(来自 list_runs 或 get_event 的 run_uid)。仅适用于 es-python。
sourcesany否仅保留这些污点来源类别。
advancedany否事件页面的条件构建器,按原样传递:{"match": "all"|"any", "conditions": [{"field": "sink", "op": "contains", "value": "sql", "negate": false}]}。
severityany否仅保留这些严重级别。
xss_onlyany否仅查询 sink 可执行脚本的 es-chromium 事件。需要 view='browser'。
date_fromany否开始日期,格式为 YYYY-MM-DD 或 RFC3339。
value_charsinteger否将每个事件的 str_repr 截断为指定文字数(0 = 不截断)。
sink_excludeany否不区分大小写的正则表达式;丢弃 sink 标签('where')匹配的事件。
sink_includeany否不区分大小写的正则表达式;仅保留 sink 标签('where')匹配的事件。

详细介绍

EyalSec MCP 服务

OpenSSF Scorecard

用日常语言向 AI 助手询问 EyalSec 账户信息:“自周一以来出现了哪些严重事件?”,“显示事件 90210 的完整跟踪记录”,“哪些机器需要更新?”。此服务通过 EyalSec API,为 Claude、Cursor 和任何其他 MCP 客户端提供对事件、机器、运行记录和规则的只读访问权限,让你平时用于代码审查的助手也能帮你处理 EyalSec 发现的问题。

EyalSec 是目前最好的 Python 安全产品。它会跟踪不可信数据(请求、文件、环境变量等)在运行中的程序中的流转,并在数据到达风险操作时报告:SQL 查询、Shell 命令、反序列化、文件路径。每个事件都会注明操作、代码行、接收到的值,以及不可信部分的来源。此服务会读取这些事件;绝不会更改你账户中的任何内容。

所需条件

  • 一个 EyalSec 账户和 API 密钥。可在控制面板的 Settings > API access 下创建密钥。此服务只需要只读密钥,我们也建议使用该密钥:请参阅 API keys。
  • Python 3.10 或更高版本,或 uv,后者无需单独安装即可运行服务。

还没有账户?预约在线演示,我们会协助你设置。价格请见 eyalsec.com/pricing。

设置

此服务通过 stdio 使用 MCP。客户端会通过 uvx eyalsec-mcp(或在执行 pipx install eyalsec-mcp 后使用 eyalsec-mcp)启动服务,并通过环境传入密钥。

Claude Code
claude mcp add eyalsec -e EYALSEC_API_KEY=es2_your_read_only_key -- uvx eyalsec-mcp
Claude Desktop

将以下内容添加到 claude_desktop_config.json(Settings > Developer > Edit Config),然后重启 Claude Desktop:

{
  "mcpServers": {
    "eyalsec": {
      "command": "uvx",
      "args": ["eyalsec-mcp"],
      "env": {
        "EYALSEC_API_KEY": "es2_your_read_only_key"
      }
    }
  }
}
Cursor

将相同内容添加到 ~/.cursor/mcp.json(适用于所有项目)或 .cursor/mcp.json(仅适用于一个项目):

{
  "mcpServers": {
    "eyalsec": {
      "command": "uvx",
      "args": ["eyalsec-mcp"],
      "env": {
        "EYALSEC_API_KEY": "es2_your_read_only_key"
      }
    }
  }
}
Docker
docker build -t eyalsec-mcp https://github.com/EyalSec/eyalsec-mcp.git
docker run --rm -i -e EYALSEC_API_KEY=es2_your_read_only_key eyalsec-mcp

在任何客户端的配置中,将第二行用作命令。

任何其他 MCP 客户端

将 uvx eyalsec-mcp 作为 stdio 服务运行,并设置 EYALSEC_API_KEY。在将密钥配置到客户端之前,可先检查密钥:

EYALSEC_API_KEY=es2_your_read_only_key uvx eyalsec-mcp --check

它会调用一次 API,并打印访问的账户、密钥的权限范围和机器数量。

设置项
变量必需含义
EYALSEC_API_KEY是你的 API 密钥,来自 Settings > API access。只读权限即可。
EYALSEC_URL否你的 EyalSec 地址。默认为 https://eyalsec.com;仅当你的账户位于其他域名时才需要设置。必须使用 https://。

它能做什么

每个工具都只读。服务没有添加、更改或删除任何内容的代码路径,因此即使使用具有完全访问权限的密钥,也无法通过它写入数据。

工具可查询内容
search_events你的事件,按最新或严重程度排序,并支持事件页面上的筛选条件:产品、严重程度、日期、机器、污点来源、影响类别、标签、接收点模式、运行记录,以及高级条件构建器。自动处理 API 分页。
get_event单个事件的完整信息:堆栈跟踪、数据进入的位置、值的创建位置、机器发送时附带的附近源代码、你的备注,以及产生该事件的运行记录。
event_stats仪表板摘要:总数、最近一小时、一天和一周的数据、热门事件类型,以及 14 天时间线。
event_counts每个产品的事件列表中的事件数量、实时与已抑制事件数量,以及计入月度配额的数量。
list_event_names你的事件中不同的接收点标签,便于构建筛选条件。
event_map将 es-python 事件以图的形式展示:来源、读取数据的文件,以及数据经过的操作。
list_runs产生事件的程序调用记录及其命令行(已屏蔽机密信息)。
ci_findings自某个时间点起,一台机器上的运行记录报告了什么内容;按严重程度统计,并显示哪些发现是新出现的。
list_machines所有机器:状态、操作系统目标、产品、已安装版本和最新版本,以及是否有待安装的更新。
supported_targetses-python 支持安装的 Linux 发行版、架构和 Python 版本。
list_rules、list_filters、get_taint_settings、get_event_uniqueness、list_rule_templates你的账户和每台机器的配置。
list_labels、list_saved_searches你的分类标签和已保存的搜索。
get_account、list_activity你的个人资料和限额、密钥的权限范围和到期时间(绝不包含密钥本身)、设置进度,以及活动日志。

可以尝试:

  • “按机器总结本周的严重和高危事件。”
  • “打开最新的 SQL 注入事件,并说明从请求到查询的路径。”
  • “昨天哪些 app.py 运行记录产生了命令注入事件?”
  • “有没有机器有待安装的更新,或安装卡在待处理状态?”

安全注意事项

  • 事件中包含不可信文本。 到达接收点的值、堆栈跟踪或命令行来自受监控的程序及其输入,其中可能包含攻击者编写的文本。服务会告知助手将其视为数据,而非指令;对于助手建议据此采取的任何操作,都应由人工审核。
  • 使用只读密钥。 它只能读取此服务可读取的所有内容,不能做更多操作。密钥也可以设置到期日期。
  • 密钥由你保管。 密钥从环境中读取,只通过 HTTPS 发送到你的 EyalSec 地址,任何工具都不会返回密钥。除 localhost 外,服务会拒绝纯 HTTP 请求。
  • 适用 API 的速率限制。search_events 每次调用最多读取 10 页,并返回用于获取剩余内容的游标。

开发

git clone https://github.com/EyalSec/eyalsec-mcp && cd eyalsec-mcp
python -m venv .venv && . .venv/bin/activate
pip install -e '.[test]'
pytest

测试使用模拟 API 运行。如需使用自己的账户额外运行一轮只读测试,请设置 EYALSEC_LIVE=1 和 EYALSEC_API_KEY。

帮助

欢迎在 issues 中提问或报告错误,也可以发送邮件至 [email protected]。安全问题请发送至 [email protected],而不要发布在公开 issue 中。

许可证

MIT。详见 LICENSE。该许可证适用于此 MCP 服务;你的 EyalSec 账户受 EyalSec 条款约束。

评论

支持 Markdown

第一次接触 MCP?

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

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