文章摘要
Wiz研究团队发现AWS CodeBuild存在重大漏洞"CodeBreach",攻击者可利用正则表达式过滤缺陷获取凭证,完全控制关键GitHub仓库(如AWS JavaScript SDK),威胁AWS控制台及依赖该SDK的所有应用。AWS已及时修复漏洞并加强CodeBuild服务全局防护。
文章总结
标题:CodeBreach漏洞:通过AWS CodeBuild渗透AWS控制台供应链并劫持GitHub仓库
来源:Wiz Research
发布时间:2026年1月15日
漏洞概述
Wiz Research发现了一个名为CodeBreach的关键漏洞,该漏洞可能危及AWS控制台的供应链安全。攻击者通过利用此漏洞,能够完全控制AWS的核心GitHub仓库(如AWS JavaScript SDK),并注入恶意代码,从而威胁整个AWS平台及依赖该SDK的应用程序。
漏洞成因
漏洞源于AWS CodeBuild CI流水线中处理构建触发机制的一个细微缺陷:未锚定的正则表达式过滤器。由于缺少^和$字符,攻击者可通过注册包含受信任用户ID的新GitHub账户绕过权限检查,触发构建并窃取高权限凭证。
攻击链分析
ID劫持:
- GitHub用户ID为连续数字,攻击者可注册包含受信任ID的新账户(如受信任ID为
123456,攻击者注册xxx123456xxx)。 - 通过GitHub App的自动化注册流程,批量抢占目标ID。
- GitHub用户ID为连续数字,攻击者可注册包含受信任ID的新账户(如受信任ID为
构建环境渗透:
- 攻击者提交恶意Pull Request,触发CodeBuild构建。
- 构建过程中,恶意代码从内存中提取GitHub凭证(如
aws-sdk-js-automation账户的令牌)。
权限升级与供应链攻击:
- 获取的凭证具有仓库管理员权限,可推送恶意代码至主分支或发布被篡改的SDK版本。
- 潜在影响:66%的云环境使用该SDK,包括AWS控制台自身。
修复与缓解措施
AWS在48小时内修复了漏洞,并采取以下措施:
- 全局加固:
- 引入Pull Request Comment Approval构建门控,防止未审核的PR触发构建。
- 增强内存保护,防止凭证泄露。
- 用户建议:
- 为CodeBuild项目使用最小权限的GitHub令牌。
- 避免使用未锚定的正则表达式过滤规则。
行业警示
此类漏洞反映了CI/CD系统的共性风险:
1. 复杂性易导致配置错误。
2. 高权限凭证成为攻击目标。
3. 供应链攻击可通过单一漏洞扩散至全局。
近期类似事件(如Amazon Q扩展攻击)凸显了加固CI/CD管道的紧迫性。
时间线
- 2025年8月25日:Wiz向AWS报告漏洞。
- 8月27日:AWS修复正则表达式并撤销泄露令牌。
- 2026年1月15日:公开披露。
研究团队
由Wiz Research团队(@wiz_io)发现并协调披露,成员包括Nir Ohfeld、Sagi Tzadik等资深安全研究员。
总结:CodeBreach漏洞揭示了供应链攻击的连锁效应,强调企业需严格限制CI/CD权限并审核构建规则。AWS的快速响应为行业提供了修复范例,但防御此类攻击仍需持续警惕。
评论总结
以下是评论内容的总结:
关于AWS安全漏洞的技术分析
- 主要观点:AWS的JS SDK等核心仓库使用正则表达式作为贡献者ID的白名单,由于未正确锚定,导致安全漏洞,攻击者可借此获取访问令牌并提升权限。
- 关键引用:
- "如果允许用户12345,那么任何包含12345的用户ID都可以在PR上运行自己的操作"
- "AWS不仅修复了正则表达式,还引入了'批准工作流运行'的UI"
对GitHub安全措施的改进认可
- 主要观点:GitHub Actions的安全措施有所改进,但仍需复杂的流程来确保安全。
- 关键引用:
- "我记得为了安全地工作,跳过了许多障碍"
- "很高兴看到现在Actions上有更多的安全选项"
对AWS CodeCommit质量的质疑
- 主要观点:CodeCommit可能因实现质量不佳或团队流失而显得缺乏竞争力。
- 关键引用:
- "CodeCommit总是显得像一个'陪跑'产品"
- "这篇文章为这种观点提供了一些可信度"
关于权限提升的伦理讨论
- 主要观点:攻击者在漏洞利用中提升权限的行为可能违反了安全测试的伦理准则。
- 关键引用:
- "他们应该在这样做之前停止"
- "你只能与你拥有的账户或AWS明确书面许可的账户进行交互"
对正则表达式的普遍批评
- 主要观点:正则表达式容易出错,应尽量避免使用。
- 关键引用:
- "我尽量避免使用正则表达式,就像避免瘟疫一样"
- "无论你的清理工作有多好,它总是会出错"
总结中保持了不同观点的平衡,并引用了原始评论的关键内容。