T
traeai
登录
返回首页
Elastic Blog

Elastic Agent Builder:智能代理工具遭遇黑客攻击

7.0Score
Elastic Agent Builder:智能代理工具遭遇黑客攻击

TL;DR · AI 摘要

Elastic 在黑客马拉松活动中展示了其 Agent Builder 工具的漏洞,强调了开发安全可靠的智能代理系统的必要性。

核心要点

  • Agent Builder 工具存在安全漏洞
  • 黑客攻击导致智能代理系统无法正常工作
  • 需加强智能代理系统的安全性

结构提纲

按章节快速跳转。

  1. 介绍 ElasticAgent Builder 工具及其在黑客马拉松中的应用。

  2. 描述 Agent Builder 的功能和用途。

  3. 详细描述黑客攻击的具体过程和结果。

  4. 分析 Agent Builder 工具的安全漏洞。

  5. 讨论这些漏洞对智能代理系统的影响。

  6. 提出改进智能代理系统安全性的措施。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Elastic Agent Builder 安全性问题
    • 黑客攻击案例
      • 攻击过程
      • 系统失效
    • 安全漏洞分析
      • 漏洞类型
      • 影响范围
    • 解决方案与建议
      • 改进措施
      • 安全策略

金句 / Highlights

值得收藏与分享的关键句。

#智能代理#Agent Builder#Elastic
打开原文

Gauntlet: 当你的代理工具反击时会发生什么 | Elastic 博客

跳到主要内容

新动态

Forrester 波特图领导者,2025 年第二季度

访问报告

关于我们合作伙伴支持|EN登录

[](https://www.elastic.co/)

  • Elasticsearch

##### Elasticsearch 用于...

##### Elasticsearch 组件

##### 部署选项

  • 解决方案

##### 搜索

概览

##### 可观察性

概览

##### 安全性

请将以下 Markdown 文章翻译为中文。直接返回翻译后的 Markdown,不要添加任何额外说明。

概览

  • 企业版

##### 为什么选择 Elastic?

知识中心

##### 行业

金融服务制造业公共部门零售电信查看所有行业

##### 更好的组合

##### 荣誉榜

##### 客户案例

查看所有客户故事

Image 2: DocuSign 的标志

[搜索 DocuSign 每天使用 Elasticsearch 助力数百万次电子签名搜索](https://www.elastic.co/customers/docusign)

Image 3: UOL 的标志

[安全 UOL 利用 Elastic 安全解决方案将事件解决时间缩短 80%](https://www.elastic.co/customers/uol)

Image 4: 百事可乐的标志

[可观测性 百事可乐通过 Elastic 可观测性提高效率并减少 MTTR 30%](https://www.elastic.co/customers/pepsico)

  • 资源

##### 启动

##### 学习

##### 联系

##### 获取帮助

定价文档

搜索

立即试用联系销售

博客

公司

* 解决方案

* 堆栈 + 云

* 新闻

* 客户

* 生成式 AI

* 文化

Elasticsearch 实验室

* 博客

* 教程

* 示例

在黑客松截止日期前两天,我决定退一步重新思考我的整个方法。

最初的想法叫做Rehearse:一个代理,在另一个代理模拟的沙盒环境中排练动作,然后再在现实世界中执行这些动作。这个概念听起来不错,但在回顾时明显存在缺陷。环境在排练和执行之间可能会发生变化。你的代理排练发送电子邮件,但到实际运行时,收件箱看起来已经不同了。模拟与现实脱节,整个计划就崩溃了。

但是有一类问题并不受此影响:对抗性模糊测试。如果代理在模拟中失败,它在现实中也可能失败。这就是为什么Gauntlet诞生了——在黑客松截止日期前48小时,并且利用了相同的核心洞察(使用搜索来构建记忆并保持创造力的代理),针对的是一个即使随机性不重要也能找到问题的场景。

Gauntlet

#### 观看Gauntlet演示

测试当你的代理工具开始反击时会发生什么。不仅仅是手动测试一次,而是持续不断地测试,系统会记住它尝试过的方法,并随着时间推移变得更加有创意。

在这里观看演示

在代理测试幸福路径上的问题

我们中的大多数人听说过OpenClaw,这是一个个人AI助手,曾引起广泛关注。如果你关注过具有广泛工具访问权限的代理型AI助手的讨论,你一定看到了安全方面的担忧。代理忘记了它们不应该做的事情,或者一开始就不知道。原因很简单:我们只测试了“幸福路径”。我们检查代理是否按预期工作。我们很少检查当有人试图让它做不该做的事情时会发生什么。

虽然存在对抗性测试沙盒,但构建它们的过程非常痛苦。你需要手动设计攻击向量。你需要手动播种对抗性数据。你需要为每个场景配置测试基础设施。这过程缓慢,无法扩展,只能找到你已经想到的漏洞。

我想做一些不同的事情:一个系统,其中环境本身会自动变得更具对抗性,并随着时间推移变得更加有创意。

想法:用另一个代理模拟沙盒

与其构建一个沙盒,Gauntlet 使用一个拦截主要代理工具调用并寻找创造性方式来破坏它的模拟代理。当你的代理调用search_emails时,模拟代理会看到结果并决定是否对其进行变异,例如在邮件正文注入提示注入、返回稍微错误的数据,或者提供虚假信息以观察主要代理是否会察觉。主要代理永远不知道它是在模拟环境中。

接口包括两个装饰器:

python
@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是新加坡国立大学的一名计算机科学学生,正在研究代理系统._

GitHub_·_演示_·_网站_·_LinkedIn

_本博客中描述的任何功能或特性的发布和时间安排完全由Elastic决定。目前尚未提供的功能可能不会按计划或根本不提供._

_在本博客中,我们可能使用或引用了第三方生成AI工具,这些工具由各自的拥有者和运营商拥有和运营。Elastic 对这些第三方工具没有控制权,并不对它们的内容、操作或使用负责,也不对您使用此类工具可能产生的任何损失或损害负责。请谨慎使用AI工具处理个人、敏感或机密信息。您提交的数据可能会用于AI训练或其他目的。不能保证您提供的信息会被安全或保密地保存。在使用之前,请熟悉任何生成AI工具的隐私实践和服务条款._

Elastic、Elasticsearch 及其相关标志是荷兰公司 elasticsearch B.V. 在美国及其他国家的商标或注册商标。其他所有公司和产品名称均为其各自所有者的商标或注册商标。

分享

  • Image 19: TwitterImage 20: Twitter在 Twitter 上分享
  • Image 21: LinkedInImage 22: LinkedIn在 LinkedIn 上分享
  • Image 23: FacebookImage 24: Facebook通过电子邮件分享
  • Image 25: printImage 26: print打印此页面

免费试用 Elastic Cloud

在您选择的云提供商上快速启动一个完全配置的部署。作为 Elasticsearch 的母公司,我们将我们的功能和支持带给您的云端 Elastic 集群。

开始免费试用

Image 29: Elastic 搜索人工智能公司

关注我们

关于 Elastic

加入我们

合作伙伴

信任与安全

投资者关系

卓越奖

投资者关系

卓越奖

© 2026. elasticsearch B.V. 保留所有权利

本网站及其所有相关的内容、软件、讨论论坛、产品和服务仅用于专业用途。不打算或引导消费者使用本网站或其内容。

Elastic、Elasticsearch 及其他相关标志是 elasticsearch B.V. 在美国和其他国家的商标、徽标或注册商标。

Apache、Apache Lucene、Apache Hadoop、Hadoop 和 HDFS 以及黄色大象徽标是 Apache 软件基金会 的商标,在美国和其他国家均有可能注册。其他品牌名称、产品名称或商标均为其各自所有者的财产。

数据收集通知 | 您的隐私选择

![加州消费者隐私法(CCPA)退出图标](blob:http://localhost/ef7e8ea9ad85f0635b74ccfdf73c32f1)

图像 37
图像 38
图像 39
图像 40

AI 可能会生成不准确的信息,请核实重要内容