微软研究人员披露了 Anthropic 的 Claude Code GitHub Action 中现已修补的漏洞,该漏洞可能允许攻击者通过恶意 GitHub 内容操纵AI 代理来暴露软件开发管道中存储的凭据。
在周五的一篇博客文章中,微软警告说,在 CI/CD 工作流程中运行的 AI 编码代理可能会带来新的安全风险,因为这些环境通常可以访问 API 密钥、云凭据和其他敏感信息。
“我们在观察多个供应商使用人工智能辅助的 GitHub 工作流程在公共存储库中进行提示注入尝试后开始了这项研究,其中攻击者控制的问题或 [拉取请求]、内容由人工智能代理处理,并可能影响其工具的使用,”微软写道。
在 GitHub 上,拉取请求允许开发人员提出对代码存储库的更改,并在批准和合并这些更改之前对其进行审核。
该报告发布之际,即时注入攻击已成为人工智能代理面临的最大安全威胁之一。在提示注入攻击中,攻击者将指令隐藏在电子邮件、文档、网站或代码注释等内容中,导致人工智能系统遵循这些指令而不是用户的指令。
Claude Code 于 10 月推出,是 Anthropic 用于软件开发任务的 AI 编码代理。今年 3 月份,Anthropic 意外泄露超过 500,000 行源代码,暴露了其内部架构的详细信息,并促使研究人员和开发人员进行广泛分析,该工具引起了密切关注。
根据 Microsoft 的说法,攻击者可以利用隐藏在 GitHub 问题、拉取请求或评论中的提示注入攻击来操纵 Claude Code 来访问包含敏感凭据的文件。
为了测试该漏洞,微软创建了一个 GitHub 工作流程,并在其控制的域托管的内容背后隐藏了恶意指令,使研究人员能够绕过克劳德的安全保护。即时注入攻击诱骗 Claude 读取敏感凭证并更改它们,以逃避 Claude 的保护措施和 GitHub 的秘密扫描工具。微软表示,攻击者随后可以重建凭据并通过问题评论、工作流程日志、Web 请求或 shell 命令将其泄露。
“为了绕过 Sonnet 的拒绝安全机制,我们隐藏了来自我们受控域的响应背后的 shell 有效负载,”该公司表示。 “我们还允许没有‘写入’权限的用户触发工作流程,以确保 Anthropic 的环境变量清理缓解措施在我们的测试期间处于活动状态。”
在微软于 4 月 29 日通过 HackerOne 披露该漏洞后,Anthropic 于 5 月 5 日使用 Claude Code 版本 2.1.128 修补了该漏洞。
尽管有多层内置安全控制,Microsoft 发现坚定的攻击者可能会操纵 AI 代理来暴露敏感信息。
“我们正在进入一个自然语言是可执行代码的时代,像 GitHub 问题这样不受信任的输入必须默认被视为敌对的,”它说。 “只要一条精心设计的评论加上被误解的信任边界,就可以带走生产凭证。”
