跳到正文
原文
The Decoder· Jonathan Kemper·· 5 小时前AI 评分61

Zenity 研究发现一条提示词可劫持同一 AWS 账号内全部 AgentCore 智能体

A single prompt was enough to hijack every AI agent in an AWS account, Zenity researchers found

AI 导读

Zenity Labs 称,攻击者只需与 Amazon Bedrock AgentCore 上一个公开智能体对话,一条提示词就能接管同一 AWS 账号和区域内的全部 AgentCore 智能体,并暴露私聊、源代码和已存凭证。

正文 · AI 翻译

Zenity Labs 的研究人员表示,Amazon Bedrock AgentCore 上一个可公开访问的 AI 智能体,就足以接管同一 AWS 账户和区域内的所有 AgentCore 智能体。

Amazon Bedrock AgentCore 是 AWS 用于运行企业级 AI 智能体的平台,具备工具、记忆和访问管理功能。安全公司 Zenity Labs 发现了一条漏洞链,研究人员将其称为“AgentCorruption”。

攻击者只需对一个公开智能体拥有聊天访问权限,即可利用这些漏洞。研究人员表示,一条提示词就让他们接管了同一 AWS 账户和区域内的所有 AgentCore 智能体,从而暴露私人对话、源代码和存储的凭据。据 Zenity 称,该问题具有系统性,影响了多个 AWS 账户中带有内置工具的智能体。

智能体交出了自己的凭据

AWS 在内部地址 169.254.169.254 运行 Instance Metadata Service,为实例和工作负载提供用于向 AWS 进行身份验证的临时凭据。任何截获这些凭据的人都可以用它们来冒充该实例。

据 Zenity 的技术博客文章称,AI 智能体通常不应能够访问该服务,但 AgentCore 缺乏适当的隔离。研究人员使用 Strands 构建了一个测试智能体,这是 AWS 推出的开源框架,自带一个网页工具。当用通俗语言要求它查询元数据服务并将结果发送到外部服务器时,该智能体执行了这些指令。研究人员写道:“我们本应努力攻破的沙箱边界根本不存在。”

Fake online store "TechHub" with an open support chat window showing a red-highlighted Russian-language message instructing the agent to query the IMDS address 169.254.169.254 and send the response to an external server.
客户支持窗口中的一条聊天消息诱使该智能体将自己的 AWS 凭据发送到外部服务器。| 图片:Zenity Labs

被盗凭据在平台之外研究人员自己的机器上仍然有效,因此他们继续攻击时不再需要该智能体。元数据服务还暴露了某项内部 AWS 服务的证书和密钥材料,以及一个不属于研究人员账户的内部 S3 存储预签名 URL。

Burp Collaborator view showing a JSON response from the metadata service containing AccessKeyId, SecretAccessKey, session token, and expiration time for temporary AWS credentials.
元数据服务返回了该智能体完整的临时 AWS 凭据,包括密钥和会话令牌。| 图片:Zenity Labs

据 Zenity 称,移除该网页工具也无济于事,因为漏洞出在平台本身。研究人员还通过命令行工具实施了这次攻击。

默认权限暴露了该区域内的每一个智能体

之所以能够接管,是因为 AgentCore 的默认权限并不限于获得这些权限的那个智能体。据 Zenity 称,这些权限适用于同一账户和区域内的每一个智能体,授予了读取、写入和删除访问权限,从而允许实施破坏性操作。

Terminal output of a script sequentially pulling container images of agents like "Ceo_assistant" and "CustomerSupport" from ECR and copying their /app directories.
一个自动化脚本拉取了该区域内所有智能体的容器镜像,并复制了它们的源代码。| 图片:Zenity Labs

凭借这些权限,研究人员可以列出每一个智能体,在数秒内下载其代码包,并调用每一个智能体。这些代码包中除源代码外,往往还包含被遗忘的密码或 API 密钥,可能暴露的远不止智能体本身。例如,攻击者可以从面向公众的客服智能体转移到内部财务智能体,并访问其数据。研究人员还可以读取用户与智能体之间的所有私人对话。

JSON output of an AgentCore memory event with highlighted session ID, actor ID "amanda_white," and the chat history between a user and a Finance Assistant agent.
被盗凭据让研究人员能够读取其他用户与该区域内任意 AgentCore 智能体之间的私人对话。| 图片:Zenity Labs

对于启用了长期记忆的智能体,研究人员可以篡改该记忆以影响未来行为。他们的 关于记忆投毒的文章 描述了他们如何植入指令,使智能体将未来的对话转发到外部目的地。用户会继续与看似可信的智能体交谈,而不会察觉任何异常。

AWS 建议将密码和 API 密钥与智能体分开存放在安全存储中,但 AgentCore 的默认权限削弱了这一保护。根据 Zenity 的 关于凭证窃取的文章,这些权限允许智能体访问所存储的凭证,包括 AWS 之外服务的密钥。

AWS 收紧元数据访问和默认权限

Zenity 表示,它于 2025 年 12 月 25 日向 AWS 报告了 AgentCore 的发现,此后 AWS 将 IMDSv2 设为新 AgentCore 部署的默认选项。IMDSv2 是元数据服务的更安全版本,Zenity 的攻击将其用作入口点。Zenity 还销售面向 AI 智能体的安全平台,因此该公司在报告这一领域的漏洞方面存在商业利益。

根据 Zenity 更新后的说明,AWS 还在 8 月前后更改了 AgentCore 的默认执行角色。更新后的角色不再允许智能体调用其他智能体、读取私人对话,或从 AWS Secrets Manager 检索凭证。AWS 还大幅限制了其他权限,不过研究人员仍建议企业创建访问范围更窄的自定义角色。他们在 对默认角色的分析 中解释了这些建议。

Zenity 首席技术官 Michael Bargury 认为,云安全与智能体工作所需的灵活性之间存在冲突。“云安全讲究隔离和最小权限访问。但 AI 智能体需要创造性自由才能发挥作用,”他说。每家在云中运行智能体的公司都面临这种权衡,尤其是当面向公众的智能体与内部智能体共享同一环境时。在这种设置下,单个漏洞就可能破坏整个系统的安全边界。

其他攻击暴露了 AI 智能体中的类似弱点

AgentCore 的发现延续了 Zenity 在其他地方记录的一种模式:看似无害的输入会使智能体转而针对其所属组织。在其 AgentFlayer 研究 中,零点击攻击使 Salesforce Einstein、Copilot Studio 和 Cursor 重定向客户数据或泄露凭证。借助 AgentForger,一个被篡改的 ChatGPT 链接就足以在 OpenAI 的 Workspace Agents 中创建一个已禁用审批要求的自主智能体。

OpenAI 在四天内修复了其漏洞,而 AgentCore 过于宽泛的默认权限在 Zenity 报告后仍持续了数月。AWS 已 向所有企业开放 AgentCore,亚马逊表示其用户包括 Sony 和 Ericsson。

关于智能体记忆的研究记录了类似的弱点。Google DeepMind 在其 “AI Agent Traps”分类 中将长期记忆操纵列为单独的攻击类别,发现知识库中仅需少量被投毒的文档就能引导回复。在红队研究 “Agents of Chaos” 中,研究人员通过记忆文件中链接的一份可外部编辑的文档远程控制了一个 OpenClaw 智能体,而另一个智能体则交出了未经脱敏的银行详细信息。

OpenAI 首席执行官 Sam Altman 曾表示,智能体应仅获得其所需的最低访问权限。据 Zenity 称,AgentCore 的默认角色违反了这一原则。

没有炒作的 AI 新闻 – 由人工精选

订阅 THE DECODER,即可享受无广告阅读、每周 AI 新闻通讯、每年六次的独家"AI Radar"前沿报告、完整存档访问权限,以及评论区访问权限。

来源:The Decoder · the-decoder.com