Elastic Security、Observability 和 Search 现在在你的 AI 工具中提供交互式 UI

0 阅读17分钟

作者:来自 Elastic David ElgutGraham Hudgins 及 Jesse Miller

Elastic 是第一个在 AI Conversations 中提供交互式 UI 的安全厂商,该 UI 基于 Anthropic 和 OpenAI 共同制定的 MCP App 标准构建。它还与另外两个用于 Observability 和 Search 的 Elastic MCP Apps 一起发布。

Elasticsearch与行业领先的 Gen AI 工具和提供商有原生集成。查看我们的网络研讨会,了解如何超越 RAG 基础,或者如何使用 Elastic 向量数据库构建可用于生产的应用

为了为你的使用场景构建最佳搜索解决方案,现在就开始免费云试用,或者在你的本地机器上尝试 Elastic。


AI 代理的质量取决于它们返回的界面。仅有文本的工具结果会将本来具有视觉或交互性的内容扁平化:仪表板、告警列表、调查图、分布式追踪。对话变成了一个你提问、代理回答的地方,但一旦工作变得复杂,你就需要跳转到另一个标签页、另一个产品、另一个认证边界。

MCP Apps 改变了这种回答的形态。工具现在可以在返回文本摘要的同时返回一个交互式 UI,而宿主( Claude Desktop、 Claude.ai、 VS Code Copilot、 Cursor )会将其直接渲染在对话中。模型保留紧凑的文本用于推理,人类则可以在聊天旁边获得一个可点击的实时界面。

有三个特性使这成为一种不同于“返回 URL 的 webhook”的集成方式:

  • 上下文保留。UI 存在于对话内部,无需切换标签页,无需交接。
  • 双向数据流。UI 可以调用 MCP 服务器上的工具获取新数据,宿主也可以将代理的新结果推送回 UI。无需单独的 API 层或认证流程。
  • 沙箱化的信任边界。MCP Apps 在由宿主控制的 iframe 中运行。它们无法访问父页面、读取 cookies 或逃逸其容器。

安全运营依赖于分诊、调查图和 Attack Discovery,在这些场景中,AI 代理会将数百条告警关联为少量攻击链。可观测性意味着分布式追踪和时间序列下钻分析。在 Kibana 中构建意味着一个仪表板网格。将这些内容扁平化为文本,你就失去了它们的价值所在。我们为这三种场景都构建了 MCP Apps,并将它们一同开源,这样同一个对话可以在分诊队列、依赖关系图和实时仪表板之间切换,而无需离开聊天。

这三个参考应用中的每一个都是一个 MCP 服务器,提供多个交互视图,而不是一组独立产品。仅安全应用就提供了六个仪表板,它们共享相同的服务器外壳、相同的工具可见性模型以及相同的宿主桥接。模式很小,但真正产生价值的是其表面所覆盖的范围。

Elastic Security MCP App

为什么它对 SOC 很重要

当一个代理告诉 SOC 分析师:“There are 47 alerts on host-314, here's a summary,”,它其实什么工作都没做。它只是指出了工作开始的地方。真正的工作存在于告警列表、进程树、调查图和案件文件中。你无法通过一段文本完成这些工作。

安全 MCP App 返回的是整个工作流本身。分析师向代理发出提示,代理会在聊天中返回一个交互式仪表板,分析师可以在其中深入分析告警、执行威胁狩猎、关联攻击链并创建案件,整个过程中都不会丢失对话上下文。而且由于所有发现、查询和案件都会回写到 Elasticsearch,同一个调查也会在 Kibana 中保留,在对话结束后分析师可以继续处理。

六个交互式仪表板

Elastic Security MCP App 提供六个交互式元素,每个对应一个主要的 SOC 工作流。每一个都是一个 React UI,当代理调用相应工具时会以内联方式渲染:

工具功能交互式 UI
告警分诊获取、过滤并分类安全告警严重性分组、AI 判定卡片、进程树、网络事件
攻击发现基于 AI 的攻击链关联分析,并按需生成带置信度评分的攻击叙述卡片、实体风险、MITRE 映射
案件管理创建、搜索并管理调查案件包含告警、可观测对象、评论标签页的案件列表、AI 操作
检测规则浏览、调优并管理检测规则带 KQL 搜索的规则浏览器、查询验证、噪声规则分析
威胁狩猎带实体调查的 ESQL 工作台
示例数据为常见攻击场景生成 ECS 安全事件包含四个预构建攻击链的场景选择器

每个工具都会返回一段紧凑的文本摘要,供模型进行推理,同时还会提供分析师可以直接操作的交互式 UI。该 UI 也可以通过 MCP 宿主桥接在后台获取最新数据。完整的工具模型与 bridge API 都在仓库的架构文档中。

该应用还附带 Claude Desktop skills,即 SKILL.md 文件,用于教导代理何时以及如何使用每个工具。你可以从最新的 release 中下载预构建的 skill 压缩包。

从告警到案件

四个 skills 覆盖了 SOC 的核心循环。每一个都会接收一个提示,调用一个工具,并在返回模型用于推理的文本摘要的同时,提供一个交互式仪表板。分析师的一天通常从告警队列开始。

告警分诊。可以让代理按主机、规则、用户或时间窗口进行分诊。可以让代理按主机、规则、用户或时间窗口进行分诊。Alert Triage skill 会返回一个 AI 判定仪表板,位于原始告警列表之上,每条检测规则都会对应一个判定结果,将该规则的活动分类为良性、可疑或恶意,并附带置信度评分和推荐操作。点击任意告警即可打开详细视图,其中包含进程树、网络事件、相关告警以及 MITRE ATT&CK 标签。无需在 AI 对话和 Kibana 告警仪表板之间切换上下文,所有内容都在你的对话中实时发生。

威胁狩猎。可以让代理在你的索引中进行威胁狩猎。Threat Hunt skill 会返回一个 ES|QL 工作台,其中查询已预先填充并自动执行,结果中的每个实体都可以点击并进入下钻分析。模型会在表格下方生成一段简短解读:哪些是异常的、哪些是有关联的、哪些值得进一步关注。随后它会提供下一步分支选择:要么继续深入当前威胁狩猎,要么在 MCP App 中启动另一个与当前工作互补的 skill。

一个非常契合的方式是启动 Attack Discovery,用来为你已经深入分析的告警以及已经狩猎的威胁收集更多上下文。

运行攻击发现。Attack Discovery skill 会触发 Attack Discovery API,并返回一个按优先级排序的发现列表。每个发现都是一组相关告警,被拼接成一条攻击链,并在前端展示 MITRE 战术、风险评分、置信度标签,以及受影响的主机和用户。

代理生成的摘要会按照相同的排序顺序显示在发现列表下方。此时,对话中已经包含了所有可以采取行动所需的信息:威胁狩猎查询、分诊决策、关联攻击链,这些都已被组织好,进入下一步处理阶段。

无需离开聊天即可打开案件。可以批量批准发现结果,或让代理为特定告警创建案件。Case Management skill 会为每个已批准的发现创建一个案件(附带源告警,并继承攻击链中的 MITRE 战术),并在对话中内联渲染实时案件列表。

点击任意案件可进入详情视图,其中包含一组 AI 操作按钮:总结案件、建议下一步行动、提取 IOCs、生成时间线。每个操作都会将结构化提示重新注入对话,使代理无需重新说明上下文即可继续处理该案件。

代理的摘要会显示在案件列表下方,覆盖整个事件响应(IR)队列,包括刚刚创建的案件以及仍待处理的早期发现结果。

本演示流程中的每一步都运行同一个循环:输入一个提示,skill 接收它,工具返回一段紧凑的文本摘要供模型推理,同时提供一个分析师可以操作的交互式 UI。将这些 skills 串联起来,它们就组成了一个端到端的 SOC 流程——威胁狩猎、告警分诊、关联分析、创建案件,并驱动下一步决策,所有过程都由模型在各个步骤之间持续携带会话上下文。

即使单独调用其中任意一个,它也仍然是完整的仪表板,只是指向你指定的数据子集。无论哪种方式,所有工作都会累积在对话中完成;无需切换标签页、无需复制粘贴、无需人工交接。

还有两个 skills 进一步完善了整个应用:一个用于检测规则浏览与调优,以减少噪声规则;另一个用于示例数据生成,可以在新集群上快速生成符合 ECS 标准的真实攻击事件。

后续文章将深入讲解全部六个能力:调查图谱、攻击流画布,以及端到端的完整演示流程。

“Elastic Security 的 MCP App 弥合了自动化检测与人工威胁狩猎之间的鸿沟。通过将我们的安全数据直接带入 Claude Desktop 中的统一界面,我们在不到一小时内就发现了‘静默’威胁——这些风险没有触发标准告警,但仍需要立即采取行动。它是我们分析师的一个能力倍增器。”
Mandy Andress:Elastic 首席信息安全官(CISO)。

工作原理

每个 MCP App 都是一个小型 Node.js 服务器,其工具会同时返回两部分内容:供模型推理使用的紧凑文本摘要,以及由宿主在内联渲染的 React UI。由于它基于开放的 MCP App 规范构建,同一个服务器可以在任何兼容的宿主环境中运行 —— 完整设计见仓库的架构文档

试用方法

需要启用 Security 的 Elasticsearch 9.x,以及用于案件、规则和 Attack Discovery 的 Kibana。最快路径是使用最新 release 中的一键式 .mcpb bundle——在 Claude Desktop 中双击即可运行,然后系统会提示你输入 Elasticsearch URL 和 API key。CursorVS CodeClaude CodeClaude.ai 的配置指南,以及从源码构建的方法,都可以在仓库中找到。

www.bilibili.com/video/BV142…

Elastic Search MCP App:从对话中构建仪表板

每个 Kibana 用户都熟悉仪表板的 “绕路流程”:离开当前工作内容,打开 Kibana,选择索引、选择字段、选择可视化类型、调整配置、保存。在看到第一张图表之前,需要经历五次上下文切换。

新的 example-mcp-dashbuilder 参考应用将这一过程压缩为一个提示。只需让代理 “帮我构建一个仪表板,包含收入指标、订单趋势和品类分布”,仪表板就会直接在对话中生成,无需任何标签页切换。

在这个提示的背后,代理通过 ES|QL 探索你的 Elasticsearch 数据,并根据数据类型选择合适的图表:用柱状图表示对比关系,用折线图表示趋势,用指标卡展示 KPI,用热力图展示二维模式。

它会基于 Elastic UI Borealis 主题,在 Kibana 的 48 列网格布局上排列各个面板。最终结果是完全可交互的:你可以在聊天中直接拖拽、调整大小,并将面板分组为可折叠区域。

当仪表板达到理想状态后,只需一次工具调用即可将其导出到 Kibana,同时保留 ES|QL 查询和自定义配色。你也可以将已有的 Kibana 仪表板导入到对话中,进行 AI 辅助编辑。

其核心原则与 Security App 相同:当“产物”本身就是产品时,把它直接返回到对话中,就能打通“描述需求”与“看到结果”之间的闭环。

在底层,它遵循相同的 MCP App 模式。一个 Node.js 服务器注册了一个面向模型的 view_dashboard 工具,同时提供一组仅供 UI 使用的 app 内部工具(数据获取、布局持久化、时间字段检测、导入导出)。仪表板视图本身是一个独立的 HTML 文件,通过 vite-plugin-singlefile 打包,并作为 MCP App 资源提供服务。

分支该仓库的开发者可以复用 Security App 中相同的服务器骨架与宿主桥接,只是将其指向不同的工作场景。example-mcp-dashbuilder 的 README 中提供了完整架构和图表类型参考。

www.bilibili.com/video/BV1EP…

Elastic Observability MCP App

第三个参考应用 Elastic Observability MCP App 解决的是同一种“形态问题”的 SRE 版本。当生产环境出现故障时,值班工程师真正需要的答案不是一张图表,而是一个由 K8s 指标、APM 拓扑、机器学习异常检测和风险评估拼接而成的诊断结果。

答案的形态是一个因果故事:哪里出了问题、为什么出问题、有哪些依赖受到影响,以及接下来该怎么做。

支持可观测性调查工作流的六个工具

工具依赖功能
observe通用通用 ES
manage-alerts通用创建、列出、获取和删除 Kibana 自定义阈值告警规则;省略 Kibana URL 时为只读模式
ml-anomaliesML 作业查询 ML 异常记录,并打开内联异常解释视图
apm-health-summaryElastic APMAPM 监控的集群级健康汇总;在可用时叠加 K8s 和 ML 上下文
apm-service-dependenciesElastic APM服务依赖图谱——上游/下游关系、协议、调用量
k8s-blast-radiusKubernetes 指标节点故障影响分析——完全故障、性能下降、不受影响、以及重调度可行性

集群健康汇总

当你询问 “哪里出问题了?” 或 “给我一份状态报告” 时,会得到一次性的全局概览:整体健康状态徽标、存在问题的服务及其原因、内存占用最高的 Pod、异常严重程度分布以及服务吞吐量——全部集中在一个内联视图中。

这是当系统出现异常但尚不清楚从哪里入手时的起点。该视图会根据你的部署能力动态调整:APM 提供服务健康状态,Kubernetes 指标补充 Pod 与节点上下文,ML 作业则叠加异常检测结果。

服务依赖图

当你询问 “什么调用了 checkout?”或 “展示拓扑结构” 时,会得到一个分层的依赖图谱——包括上游调用方、下游依赖关系、协议、调用量以及每条边的延迟情况。

让我们让 Claude 来执行:“展示 frontend 的服务依赖关系”:

支持缩放、平移和悬停操作,以获取理解复杂服务关系所需的全部细节:

通过影响范围评估风险

当你询问“如果我的 k8s 节点宕机会发生什么?”时,会得到一个放射状影响图:目标节点位于中心位置,完全中断的部署以红色标识,性能下降的以琥珀色标识,未受影响的以灰色标识。

一个浮动摘要卡片会显示处于风险中的 Pod 以及重新调度的可行性。单副本部署会被标记为单点故障。

观察

Elastic 的主要访问原语——一个工具,三种模式,分别对应三类不同需求。

  • 当你说 “CPU 现在在做什么?” 它会执行一次 ES|QL 查询并返回一个表格。
  • 当你说 “展示 frontend 的延迟,持续 60 秒”,它会对指标进行实时采样,并在原地更新图表。
  • 当你说 “当内存低于 80MB 时提醒我” 或 “监控接下来 10 分钟是否有异常”,它会阻塞直到条件触发或时间窗口结束。

视图会根据模式自适应变化:

  • 一次性查询返回结果表格;
  • 采样与阈值条件返回带当前值、峰值与基线统计的实时趋势图;
  • 异常模式返回带严重性评分的触发卡片。

工作原理

与 Security 和 Search 应用相同的 MCP App 模式:一个 Node.js 服务器,六个面向模型的工具分别对应六个单文件视图资源。

工具按部署后端分组(通用、依赖 APM、依赖 K8s、依赖 ML),因此代理与用户可以在调用前就明确某个部署支持哪些能力,而不是在调用失败时才发现能力缺失。

该 MCP App 还包含一个示例 Agent Builder 工作流:k8s-crashloop-investigation-otel,可以在 Kubernetes 告警触发时执行,并在打开任何仪表板之前返回结构化根因分析摘要。

www.bilibili.com/video/BV1BN…

Agent 技术栈:交互化

关于这种模式,有三点值得直接说明。第一,工具的返回结果不再是工作的终点,而是起点:对话返回的是一个你可以直接操作的界面,而不是一个需要你再去处理的摘要。第二,同一个代理、同一个模型上下文以及同一条对话线程,现在可以在 Security、Search 和 Observability 这些不同领域之间流转,而无需离开对话本身。第三,这一切之所以成立,是因为 Elasticsearch 和 Kibana 本身已经暴露了这些 API。MCP App 只是覆盖在现有产品能力之上的一层轻量交互界面。

Attack Discovery 已经驱动了该应用中的关联发现视图。在整个技术栈内部,同样的代理模式进一步扩展:Elastic Workflows 负责自动化确定性步骤(例如实体丰富、创建案件、隔离主机),而 Agent Builder 则负责对数据进行推理并将这些工作流作为工具调用。MCP App 将同样的安全能力带入外部对话,而 Workflows 和 Agent Builder 则在系统内部深化这一能力。入口不同,但底层仍然是同一套 Elastic API。

试用方式:

还没有 Elasticsearch 集群?可以开始免费 Elastic Cloud 试用。关于 security app 背后的构建模块,可以参考 Elastic Security Labs 上关于 Elastic Workflows 与 Agent BuilderAgent Skills 以及 Attack Discovery 的相关文章。

原文:www.elastic.co/search-labs…