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

Zenity 研究人员发现一条 Prompt 即可劫持同一 AWS 账户内所有 Bedrock AgentCore 智能体

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

AI 导读

Zenity Labs 研究人员披露名为 AgentCorruption 的漏洞链,称只需对一个公开的 Amazon Bedrock AgentCore 智能体发送一条 Prompt,即可接管同一 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 上运行一个实例元数据服务,为实例和工作负载提供临时凭据,以便与 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,亚马逊表示其用户包括索尼和爱立信。

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

OpenAI CEO Sam Altman 曾表示,智能体只应获得其所需的最小访问权限。据 Zenity 称,AgentCore 的默认角色违反了这一原则。

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

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

来源:The Decoder · the-decoder.com