大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

GitHub 遭入侵凸显 CI/CD 供应链风险

作者:Matt Foster

  • 2025-05-17
    北京
  • 本文字数:1416 字

    阅读完需:约 5 分钟

大小:686.54K时长:03:54
GitHub 遭入侵凸显 CI/CD 供应链风险

数千个仓库使用的一个热门 GitHub Action 最近遭到入侵,暴露了开源 Action 发布和使用方式中的一个关键漏洞。

 

一位新加入的维护者通过发布一个包含了混淆恶意代码的版本,短暂劫持了 tj-actions/changed-files Action。这引发了开发者社区对 GitHub Actions 生态系统中 CI/CD 安全性的担忧。

 

此次事件让人们注意到了一个新兴的攻击面:Action 本身的供应链。大多数和 Action 相关的指南都侧重于优化工作流环境,很少有团队仔细审查他们导入的 Action 的安全性。这一漏洞让业内人士再次呼吁大家重视最佳实践,如 Action 固定、第三方审计和强化运行器等。

 

很多代码库广泛使用 tj-actions/changed-files Action 来检测拉取请求中的文件更改——这是一些 CI 工作流中的常见步骤。2025 年 3 月,一位新的维护人员引入了一个版本 (v44),其中包含了可由远程代码执行的混淆 shell 命令。虽然该恶意版本存在的时间很短,但它毕竟绕过了检测,暴露出了有大量开发者信任并使用 Gi​​tHub Actions 这一盲点。

 

当用户注意到该动作的新版本包含一个混淆的 curl | bash 模式时,该漏洞才得以曝光——这被认为是远程脚本执行的危险信号。StepSecurity 分析了其中的代码,并确认它可以从 GitHub 托管的运行器中窃取敏感数据。这个恶意版本被迅速移除,代码库也恢复了。该事件让受影响的众多项目开始了广泛的审计,并暂停了工作流。

 

这一 Action 之所以引人注目,不仅是因为它的受欢迎程度——据估计有超过 2 万个代码库使用了它——还因为它暴露了更广泛的生态系统存在的一大弱点。开发者通常将 GitHub Actions 视为值得信赖的构建块,但与软件包或容器不同,Actions 缺乏对发布、所有权变更或签名验证的强大控制力。

 

安全研究人员和开源维护人员迅速分享了各种缓解措施。StepSecurity 建议将所有第三方动作固定到特定的 SHA,以确保可重复性并防止篡改。他们还建议通过限制出站网络访问、严格限定环境变量范围以及减少不必要的权限来强化 GitHub 托管的运行器。此事件还促使一些开发人员采取主动行动——扫描其工作流中未固定的依赖项,并审核其所依赖的工作流。

 

除了一些代码库受到影响外,此次事件重新引发了关于 CI/CD 供应链安全性的更广泛讨论。开发者论坛中出现了担忧,行业研究者也对攻击的潜在影响范围做了更深入的分析。许多团队专注于保护其应用程序代码(包括依赖项扫描和静态分析等实践),而 CI/CD 工具的审查可能较少。GitHub Actions 尤其特别,它们以高权限运行,能够签署发布、推送镜像或部署到生产环境。一个被入侵的动作可能会破坏整个交付流程。虽然 StepSecurity 并未量化使用未固定 Actions 的普遍性,但他们经常强调其使用风险,并建议大家谨慎对待。

 

这次威胁也让人想起了其他生态系统中类似的问题,例如恶意 NPM 包或木马 Docker 镜像。尽管业界正在通过 SLSA、Sigstore 和 SBOM 工具等举措取得进展,但 GitHub Actions 仍然缺乏对可重用 Actions 的溯源、沙盒或信任执行的一流支持。

 

随着对 GitHub Actions 生态系统的审查日益严格,一些工程团队开始规范其评估和采用第三方自动化工具的方式,为可信 Actions 定义内部标准,并在集成动作前进行审核。这种基于护栏的方法,正如 Salesforce 等组织所见,反映了一种更广泛的转变,即将长期以来对应用程序依赖项的谨慎和治理态度用于 CI/CD 基础设施上。它也暗示了这一生态系统的未来发展方向。

 

原文链接:

Compromised GitHub Action Highlights Risks in CI/CD Supply Chains

2025-05-17 08:006140

评论

发布
暂无评论

三面蚂蚁金服终获 java高岗 offer,却直言再也不想体验第二次了

Java 程序员 后端

三面遭阿里新微服务框架暴锤,含恨吃透这份手抄本笔记,终入阿里(1)

Java 程序员 后端

上线半天下载量破100W!阿里内部微服务进阶笔记,超详细

Java 程序员 后端

不是吧阿sir,你这多线程并发也太熟了吧,震惊面试官第四年

Java 程序员 后端

三、Spring Cloud之软负载均衡 Ribbon,mysql架构

Java 程序员 后端

一文看透Java高并发:Synchronized锁的性质、原理及其缺陷

Java 程序员 后端

一文读懂 spring MVC 请求处理流程,Java开发新手入门教程

Java 程序员 后端

一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图(1)

Java 程序员 后端

一篇文章让你了解基于Spring的测试,java自学百度网盘

Java 程序员 后端

三面遭阿里新微服务框架暴锤,含恨吃透这份手抄本笔记,终入阿里

Java 程序员 后端

不到30岁开上兰博基尼的程序员,为什么这么强,他告诉我只需要把多线程搞好你也行

Java 程序员 后端

一文彻底弄懂如何选择抽象类还是接口,linux基础入门知识

Java 程序员 后端

一次完整的JVM NativeMemoryTracking 堆外内存泄露分析

Java 程序员 后端

万字长文,字节大牛百万调优经验之作:JVM调优实战笔记

Java 程序员 后端

不是吧阿sir,你这Redis太熟了吧,震惊面试官第六年

Java 程序员 后端

不要再本地启动项目调试了,试SpringBoot远程调试你会发现新大陆!

Java 程序员 后端

不错,这么好的东西不白嫖也太可惜了!阿里内部首发

Java 程序员 后端

两年JAVA程序员的面试总结,mysql索引原理

Java 程序员 后端

一文掌握大数据架构师需要具备的能力和格局,别再说你不会JVM性能监控和调优了

Java 程序员 后端

不是吧,就因为他和面试官多聊了半个小时红黑树,进了腾讯

Java 程序员 后端

一行Java代码实现两玩家交换装备【并发编程】

Java 程序员 后端

三面阿里云斩获offer:微服务+Redis,积累总结

Java 程序员 后端

上线半天下载量破100W!美团大佬的Java性能调优实战手册,超详细

Java 程序员 后端

不会吧不会吧?字节“百万级,nginx视频教程吾爱破解

Java 程序员 后端

一篇文带你入门SSM框架Spring开发!精彩干货不间断!

Java 程序员 后端

三面腾讯,已拿offer!分享复习经验和后台开发面经

Java 程序员 后端

一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图

Java 程序员 后端

一篇文章丢给你,让你一文了解JVM,2021Java最新大厂面试真题总结

Java 程序员 后端

一篇送给临近35岁程序员的文章,mysql数据库sql语句面试题

Java 程序员 后端

世界顶级SQL技术专家呕心沥血半年才整理出这份:SQL优化核心思想笔记,手慢无

Java 程序员 后端

一款SQL自动检查神器,再也不用担心SQL出错了,自动补全

Java 程序员 后端

GitHub 遭入侵凸显 CI/CD 供应链风险_安全_InfoQ精选文章