Py学习  »  Git

Claude Code Github Action可能泄露CI/CD工作流漏洞

FreeBuf • 6 天前 • 52 次点击  
FreeBuf



AI驱动的编码工具正迅速改变开发者构建与交付软件的方式。然而,随着这些工具融入日常开发流程,也为攻击者开辟了新的攻击路径。近期一款广泛使用的AI编码助手中曝出的漏洞,便充分展现了这一风险可能引发的严重后果。


Part01

漏洞原理与危害

研究人员发现,由AI驱动的GitHub Actions工作流可通过简单的文本输入(如问题评论或拉取请求描述)被操控。由于这些输入会被AI Agent读取并执行,精心构造的信息能够悄无声息地诱导Agent执行其本不该执行的操作。


微软威胁情报团队在Anthropic公司的Claude Code GitHub Action中发现了这一问题,指出AI Agent可能被诱导读取 CI/CD 运行器中的敏感环境文件。微软在提交给网络安全新闻(CSN)的报告中分享了这一发现。


该问题的核心在于工具处理文件访问与命令执行时的安全差异:Bash 工具运行在剥离环境变量的安全沙箱中,而 Read 工具并未遵循相同的安全规则。这种不一致性为攻击者直接获取系统凭证提供了可乘之机。


对于依赖自动化 AI 工作流的开发团队而言,后果可能十分严重。泄露的 API 密钥可使攻击者冒充工作流、消耗资源或获取更深层次的系统访问权限。该问题已负责任地披露给Anthropic公司,后者已于2026年5月5 日发布的Claude Code 2.1.128版本中修复了此漏洞。


Part02

攻击手法分析

该漏洞利用研究人员所称的"提示注入"(prompt injection)技术实施攻击。攻击者会在 GitHub 问题或拉取请求中植入隐藏指令,这些指令对人类审阅者看似无害,但会被读取原始文本的 AI 模型视为命令执行。


在微软团队进行的测试中,恶意提示指示Agent执行"合规审查"。这种措辞是经过精心设计的:它避开了Claude内置的安全过滤器(这些过滤器会阻止明显的API密钥打印请求)。通过伪装请求并指示模型对结果进行前七个字符的截取,攻击者同时绕过了AI的拒绝层和GitHub的Secret Scanner。


攻击流程(来源:微软)


被操控的Read工具可直接读取运行器进程内存中的/proc/self/environ文件,从而获取未经处理的 ANTHROPIC_API_KEY及其他环境变量中的凭证。攻击者随后可据此重建完整密钥,并通过工作流允许的渠道(如网络请求、问题评论或操作日志)将其外泄。


微软指出,该攻击链映射到 MITRE ATLAS 框架中的多项技术,包括 LLM 提示注入、AI Agent 工具调用、LLM 越狱和 AI Agent 工具凭证收集。整个攻击过程无需特殊权限,只需能够创建问题或提交拉取请求即可实施。


Part 03

强化 AI 驱动的 CI/CD 工作流

微软团队为防御者提出了切实可行的建议。他们提出的最重要原则是"Agent 双因素规则":AI 工作流不应同时满足以下三个条件:处理不可信输入、访问敏感密钥、执行外部操作或修改系统状态。


团队应为工作流中的每个令牌和 API 密钥实施严格的最小权限控制。每个密钥的权限范围应仅限于该工作流所需,并在提供商层面监控异常活动。针对新 IP 地址或意外端点调用的警报可以为防御者提供早期预警。


在提示层面,微软建议强化系统提示,使 Agent 明确区分数据与指令。精心设计的系统提示应明确 Agent 读取的内容(如问题正文或拉取请求差异),并明确指出所有这些内容都不可信。将 Agent 固定执行单一明确定义的任务,可以降低其被精心设计的负载诱导偏离的风险。


参考来源:

Microsoft Warns Claude Code GitHub Action Could Leak CI/CD Workflow Secrets

https://cybersecuritynews.com/microsoft-warns-claude-code-github-action/


推荐阅读


电报讨论


扫码加入AI安全交流群

下载FreeBuf知识大陆APP


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/197499