跳到正文
北京时间
原文
The Decoder:AI News· Jonathan Kemper·· 3 小时前精选AI 评分80

Zenity 研究人员发现一条提示词即可劫持 AWS 账户内全部 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 智能体发送一条提示词,即可通过元数据服务 169.254.169.254 窃取其 AWS 凭据,进而控制同账户同区域内的所有 AgentCore 智能体,读取私人对话、源代码和存储的凭据,还能篡改长期记忆。

推荐理由

原文梳理了 Zenity 演示的完整攻击链和 AWS 此后的权限收紧,读者可以据此评估自己云端智能体的隔离与最小权限配置。

正文 · AI 翻译

Zenity Labs 的研究人员表示,亚马逊 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:AI News · the-decoder.com