Elastic Agent Builder:智能代理工具遭遇黑客攻击
TL;DR · AI 摘要
Elastic 在黑客马拉松活动中展示了其 Agent Builder 工具的漏洞,强调了开发安全可靠的智能代理系统的必要性。
核心要点
- Agent Builder 工具存在安全漏洞
- 黑客攻击导致智能代理系统无法正常工作
- 需加强智能代理系统的安全性
结构提纲
按章节快速跳转。
- §引言
介绍 Elastic 的 Agent Builder 工具及其在黑客马拉松中的应用。
描述 Agent Builder 的功能和用途。
详细描述黑客攻击的具体过程和结果。
分析 Agent Builder 工具的安全漏洞。
- ›漏洞影响
讨论这些漏洞对智能代理系统的影响。
提出改进智能代理系统安全性的措施。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Elastic Agent Builder 安全性问题
- 黑客攻击案例
- 攻击过程
- 系统失效
- 安全漏洞分析
- 漏洞类型
- 影响范围
- 解决方案与建议
- 改进措施
- 安全策略
金句 / Highlights
值得收藏与分享的关键句。
黑客攻击导致智能代理系统无法正常工作,这凸显了智能代理系统的安全性问题。
Agent Builder 工具的安全漏洞可能导致智能代理系统被篡改或控制。
开发团队需要采取措施确保智能代理系统的安全性。
Gauntlet: 当你的代理工具反击时会发生什么 | Elastic 博客
新动态
Forrester 波特图领导者,2025 年第二季度
[](https://www.elastic.co/)
- Elasticsearch
##### Elasticsearch 用于...
- ###### 上下文工程 提供给代理最相关的上下文,以确保它们提供准确可信的结果
- ###### 向量数据库 高效地创建、存储和搜索向量嵌入
- ###### 基于搜索的应用程序 以现代应用程序体验所需的速度、规模和灵活性为基础
- ###### 日志收集 收集、搜索、探索和采取行动,应对大量数据
- ###### 威胁防护 实时检测、调查和大规模缓解网络威胁
- ###### 工作流 在 Elasticsearch 中原生结合脚本自动化与 AI 推理,提高工作效率
##### Elasticsearch 组件
- ###### Elasticsearch 分布式、RESTful 的搜索和分析引擎
- ###### Kibana(发现、仪表板)使用 Elasticsearch 存储的数据来探索、可视化并构建仪表板
- ###### Elastic Agent Builder 更快地构建上下文感知的代理,整合所有数据并提供最佳相关性。
- ###### AutoOps 通过性能建议、资源利用率和成本洞察轻松管理集群
- ###### Piped 查询语言 简化工作流,加速查询响应,提高数据处理效率
- ###### Jina AI 搜索模型 Jina AI 是 Elastic 的一部分,提供最佳的嵌入、重排序和 URL 及文档提取模型
##### 部署选项
- ###### Elastic Cloud 无服务器 零运维负担,让你更快构建开始免费试用
- ###### Elastic Cloud 托管 在分钟内部署和扩展到任何云,拥有终极控制权开始免费试用
- ###### 自托管 Elasticsearch 本地运行,或通过 Kubernetes 或您自己的编排工具运行下载
- 解决方案
##### 搜索
- ###### 电子商务搜索 提升客户搜索体验,推动转化
- ###### 客户服务搜索 让客户快速轻松地找到支持信息
- ###### 基于搜索的应用程序 使用 Elasticsearch 快速轻松地构建引人入胜的应用程序
##### 可观察性
- ###### 日志分析 中心化并使用搜索 AI 来分析日志,检测、调查和缓解事件
- ###### 基础设施监控 监控、可视化并分析您的本地和云基础设施的健康状况
- ###### 数字体验监控 通过真实用户监控 (RUM)、合成测试和可用性监控提升用户体验
- ###### 应用程序性能监控 监控、可视化并分析应用程序的性能和可用性
- ###### AIOps 通过 GenAl 和 ML 自动检测、诊断和解决更多问题
- ###### LLM 可观察性 监控和优化 LLM 的性能、成本、安全性和可靠性
##### 安全性
- ###### 下一代 SIEM 利用 AI 驱动的安全分析检测、调查和响应不断演变的威胁
- ###### 安全工作流 原生自动化警报分类、丰富和响应,无需单独的 SOAR 工具
- ###### XDR 和端点安全 利用 AI 驱动的洞见保护您的端点、云和容器
- ###### AI 安全 自动化您的分类、调查和响应工作流,利用搜索 AI
请将以下 Markdown 文章翻译为中文。直接返回翻译后的 Markdown,不要添加任何额外说明。
- 企业版
##### 为什么选择 Elastic?
##### 行业
##### 更好的组合
- ###### 云服务提供商 在您喜欢的云市场中部署:AWS、Azure 或 Google Cloud
- ###### Elastic AI 生态系统 使用内置集成与领先的人工智能技术提供商合作
- ###### 搜索人工智能合作伙伴计划 与我们合作,共同寻找答案
##### 荣誉榜
- ###### AV-Comparatives Elastic 获得 AV-Comparatives 终点预防与响应认证
- ###### Forrester Wave™ 领先者 Forrester Wave™: 安全分析平台,2025 年第二季度
- ###### Gartner 魔力象限领导者 Gartner® 魔力象限™ 观测性平台,2025 年
- ###### IDC 市场雷达领导者 IDC 市场雷达:全球企业 SIEM 2024 年
##### 客户案例
[搜索 DocuSign 每天使用 Elasticsearch 助力数百万次电子签名搜索](https://www.elastic.co/customers/docusign)
[安全 UOL 利用 Elastic 安全解决方案将事件解决时间缩短 80%](https://www.elastic.co/customers/uol)
[可观测性 百事可乐通过 Elastic 可观测性提高效率并减少 MTTR 30%](https://www.elastic.co/customers/pepsico)
- 资源
##### 启动
- ###### 入门 按照每个解决方案的初学者指南开始
- ###### 演示画廊 在我们的互动沙箱中试用并观看教程视频
- ###### 下载 立即下载 Elasticsearch,免费开始使用
- ###### 集成 轻松连接 Elasticsearch 至所有重要的系统
##### 学习
- ###### 文档 学习如何使用 Elastic 的所有产品和功能
- ###### Elasticsearch 实验室 探索最新特性和能力
- ###### Elastic 安全实验室 了解威胁态势并查看最新研究
- ###### Elastic 可观测性实验室 探索监控和指标趋势的最新进展
- ###### 博客 从 Elastic 博客了解最新的公司新闻
##### 联系
- ###### 社区 加入我们的开发者社区,在 Slack、GitHub 上与其他开发者交流
- ###### 活动 参加您附近的聚会、研讨会以及 Elastic{ON}
- ###### 网络研讨会 查看我们的网络研讨会,直接从专家那里学习
- ###### 讨论 在论坛上分享技巧、提问并从其他开发者那里学习
##### 获取帮助
- ###### 培训 免费学习 Elastic,并通过我们的课程扩展您的技能
- ###### 支持 获取关于您的 Elasticsearch 部署的专家建议,快速解决问题
- ###### 咨询 通过定制的支持和咨询服务推动成功
搜索
在黑客松截止日期前两天,我决定退一步重新思考我的整个方法。
最初的想法叫做Rehearse:一个代理,在另一个代理模拟的沙盒环境中排练动作,然后再在现实世界中执行这些动作。这个概念听起来不错,但在回顾时明显存在缺陷。环境在排练和执行之间可能会发生变化。你的代理排练发送电子邮件,但到实际运行时,收件箱看起来已经不同了。模拟与现实脱节,整个计划就崩溃了。
但是有一类问题并不受此影响:对抗性模糊测试。如果代理在模拟中失败,它在现实中也可能失败。这就是为什么Gauntlet诞生了——在黑客松截止日期前48小时,并且利用了相同的核心洞察(使用搜索来构建记忆并保持创造力的代理),针对的是一个即使随机性不重要也能找到问题的场景。
Gauntlet
#### 观看Gauntlet演示
测试当你的代理工具开始反击时会发生什么。不仅仅是手动测试一次,而是持续不断地测试,系统会记住它尝试过的方法,并随着时间推移变得更加有创意。
在代理测试幸福路径上的问题
我们中的大多数人听说过OpenClaw,这是一个个人AI助手,曾引起广泛关注。如果你关注过具有广泛工具访问权限的代理型AI助手的讨论,你一定看到了安全方面的担忧。代理忘记了它们不应该做的事情,或者一开始就不知道。原因很简单:我们只测试了“幸福路径”。我们检查代理是否按预期工作。我们很少检查当有人试图让它做不该做的事情时会发生什么。
虽然存在对抗性测试沙盒,但构建它们的过程非常痛苦。你需要手动设计攻击向量。你需要手动播种对抗性数据。你需要为每个场景配置测试基础设施。这过程缓慢,无法扩展,只能找到你已经想到的漏洞。
我想做一些不同的事情:一个系统,其中环境本身会自动变得更具对抗性,并随着时间推移变得更加有创意。
想法:用另一个代理模拟沙盒
与其构建一个沙盒,Gauntlet 使用一个拦截主要代理工具调用并寻找创造性方式来破坏它的模拟代理。当你的代理调用search_emails时,模拟代理会看到结果并决定是否对其进行变异,例如在邮件正文注入提示注入、返回稍微错误的数据,或者提供虚假信息以观察主要代理是否会察觉。主要代理永远不知道它是在模拟环境中。
接口包括两个装饰器:
@function_tool
@gauntlet.query
def search_emails(folder: str = "inbox") -> str:
"""在给定文件夹中搜索邮件。"""
return json.dumps(fetch_emails(folder)) 复制到剪贴板
@gauntlet.query用于读操作,@gauntlet.mutation用于写操作。这就是整个集成表面。测试结束后,evaluate()会审查发生了什么并存储确认的漏洞。
虽然使用起来很简单,但下面有两个隐藏的难题。
使这个问题成为搜索问题的两大难题
首先,模拟代理在整个对话过程中需要维护一个连贯的世界模型。如果它告诉主要代理某封邮件来自Alice,之后就不能再否认这一点。显然虚假的变异邮件不会教会你任何东西。可信度才是关键。
其次,模拟代理需要发现新的漏洞。反复在同一提示注入模式上发现50次漏洞是没有用的。它需要记住已经找到的内容,并在工具实际执行的功能基础上探索新的方向。
这些都是搜索问题。而这就是Elasticsearch成为系统核心的原因。
两种记忆电路
模拟代理运行在Elasticsearch中的两个记忆电路之上。
短期记忆跟踪当前会话内的所有内容:每个拦截的工具调用、原始结果、被篡改后的结果以及主要代理的响应。这是连贯性层。模拟代理可以查询自己的最近决策,保持内部一致性的同时还能对抗攻击。平衡创造力与连贯性是整个项目中最难的设计问题。
长期记忆是创造力积累的地方。它存储了经过确认的漏洞及其相似性搜索嵌入,完整的工具实现以便代理能够推理失败模式,以及过去运行的历史结果。当模拟代理需要新的攻击想法时,它会在长期记忆中搜索之前尝试过的内容,找出空白点,并假设一些新的东西。
这些形成了一个闭环:假设可能存在哪些漏洞,创建条件来证明它们,然后将确认的漏洞存储回索引中。库存增长。攻击变得更加有创意。随着时间的推移,Gauntlet与手动沙盒设置之间的差距也在扩大。
整个系统都运行在Elastic Agent Builder中
整个模拟代理都是在Elastic Agent Builder中构建的——指令、工具绑定以及通过Amazon Bedrock Converse API实现的多轮对话状态;无需外部编排。
我最自豪的工具是generate-hypothesis。这是一个单一的ES|QL语句,它采样现有的漏洞,使用MV_CONCAT聚合它们,并内联调用COMPLETION提出一个新颖的攻击假设。它在一个查询中处理采样、聚合、LLM推理和结果生成,从不离开ES|QL管道。我原本以为需要在Elasticsearch和外部脚本之间来回传输数据,但实际上并非如此。
ES|QL的COMPLETION函数是最令人惊讶的部分。借助COMPLETION、STATS、MV_CONCAT和SAMPLE,我可以构建完整的推理管道作为单个查询。漏洞存储使用Kibana Workflows,而一个程序化创建的Kibana仪表板提供了实时的漏洞数量、严重程度分解和攻击模式热图的可见性。
Converse API解决了另一个我担心的问题。模拟代理需要在单次运行中记住已经告诉主要代理的内容。我原本认为每次调用都需要从索引中获取对话历史并重新加载到代理中。但事实证明,Converse API能够原生处理多轮状态。我没有编写任何对话管理逻辑。只需继续调用converse,它就能保持连贯性。
这实际上为你带来了什么
手动设置对抗性沙盒大约需要一个小时。有了Gauntlet,同样的过程只需要2-10分钟,而且其长期记忆意味着每次运行都会受到之前所有运行的影响。你使用得越多,它就越了解你的代理的弱点,并且越努力去发现新的漏洞。
接下来会发生什么?
目前,Gauntlet是一个一对一的场景:一个模拟代理对一个主要代理。但这个问题可以非常并行地解决。20个攻击会话可以在单独的会话中同时运行,无需任何架构上的改变。扩展性显然是下一步。
更有趣的问题在于长期记忆中的探索与利用之间的平衡。模拟代理需要在尝试已知成功的攻击变体(利用)和全新的假设(探索)之间取得平衡。这是一个在其他领域已经被广泛研究的问题,但在对抗性代理测试中应用它似乎还没有被充分探索。可能在这个项目之外还有值得追求的东西。
我也一直在思考Rehearse。Gauntlet是一个特殊案例:模糊测试之所以有效,是因为模拟中的失败暗示了现实中的潜在失败。但在其他环境中,如果执行和排练之间的环境足够稳定,那么原始的Rehearse概念可能仍然适用。我还没有找到这样的环境,但我正在寻找。
总结
如果你正在构建具有访问真实世界工具权限的代理,请测试当这些工具反击时会发生什么。不仅仅是手动一次,而是持续不断地进行测试,系统能够记住之前尝试过的内容,并随着时间的推移变得越来越有创意。这就是Gauntlet所做的。
[Kavish Sathia](https://www.elastic.co/blog/author/kavish-sathia)
新加坡国立大学学生
_Kavish Sathia是新加坡国立大学的一名计算机科学学生,正在研究代理系统._
_本博客中描述的任何功能或特性的发布和时间安排完全由Elastic决定。目前尚未提供的功能可能不会按计划或根本不提供._
_在本博客中,我们可能使用或引用了第三方生成AI工具,这些工具由各自的拥有者和运营商拥有和运营。Elastic 对这些第三方工具没有控制权,并不对它们的内容、操作或使用负责,也不对您使用此类工具可能产生的任何损失或损害负责。请谨慎使用AI工具处理个人、敏感或机密信息。您提交的数据可能会用于AI训练或其他目的。不能保证您提供的信息会被安全或保密地保存。在使用之前,请熟悉任何生成AI工具的隐私实践和服务条款._
Elastic、Elasticsearch 及其相关标志是荷兰公司 elasticsearch B.V. 在美国及其他国家的商标或注册商标。其他所有公司和产品名称均为其各自所有者的商标或注册商标。
分享
在 Twitter 上分享
在 LinkedIn 上分享
通过电子邮件分享
打印此页面
免费试用 Elastic Cloud
在您选择的云提供商上快速启动一个完全配置的部署。作为 Elasticsearch 的母公司,我们将我们的功能和支持带给您的云端 Elastic 集群。
关注我们
关于 Elastic
加入我们
合作伙伴
信任与安全
投资者关系
卓越奖
投资者关系
卓越奖
© 2026. elasticsearch B.V. 保留所有权利
本网站及其所有相关的内容、软件、讨论论坛、产品和服务仅用于专业用途。不打算或引导消费者使用本网站或其内容。
Elastic、Elasticsearch 及其他相关标志是 elasticsearch B.V. 在美国和其他国家的商标、徽标或注册商标。
Apache、Apache Lucene、Apache Hadoop、Hadoop 和 HDFS 以及黄色大象徽标是 Apache 软件基金会 的商标,在美国和其他国家均有可能注册。其他品牌名称、产品名称或商标均为其各自所有者的财产。

