Actions 是 GitHub 推出的精简软件平台,借助 Actions 可以实现 CI/CD 自动化 (持续集成和持续部署 / 持续交付),开发者们可以编写多个 Actions 供其他开发者或企业使用。
2025 年 3 月 15 日非常流行的 tj-actions 遭到黑客攻击,黑客修改 tj-actions/changed-files 中的源代码,这次更新修改开发者原本用于引用特定代码版本的标签。
这些标签正常情况下会指向某个公开可用的文件,该文件会复制运行其服务器的内部内存和搜索凭据并将其写入到日志中,在标签被修改后众多运行 tj-actions/changed-files 的公开存储库在日志中暴露敏感凭据。
开源安全专家 HD Moore 表示此次操作的可怕之处在于 Actions 通常可以修改存储库的源代码并访问与工作流相关的任何秘密变量例如凭据,Actions 最偏执的用途是审核所有源代码,然后将特定的提交哈希而不是标签固定到工作流中。
很遗憾许多使用 Actions 的开发者和企业没有遵循最佳安全实践,使用 tj-actions 的存储库信任标签而不是经过审查版本的哈希值,最终运行内存抓取器 / 记录器,这种攻击对任何类型的存储库都构成潜在威胁。
tj-actions 维护者透露,攻击者以某种方式窃取 @tj-actions-bot 用来获取被盗存储库访问权限的凭证,这名维护者表示目前还不清楚黑客是怎么盗取凭证的,为了增加安全性,这个机器人使用的密码已经修改同时增加了通行密钥作为多因素认证保护。
GitHub 表示该平台本身没有出现安全漏洞或者受到此次攻击的影响,但出于谨慎考虑在受到报告后立即删除了 tj-actions 并暂停开发者账户,在确保所有恶意更改都恢复原样并增强账户保护措施后,tj-actions 项目和开发者账户已经恢复。
最先发现此次攻击的是网络安全公司 StepSecurity,该公司通过检测网络流量中出现的异常端点发现,黑客实施攻击行为的发生时间是 3 月 16 日。
网络安全公司 Wiz 提供的初步分析表明有数十名 tj-actions 用户在此次攻击中受到实际伤害,这些用户多数是企业用户,暴露的数据包括 AWS 访问密钥、GitHub 访问令牌、npm 令牌、私有的 RSA 私钥等。
受影响的这些企业必须将各种账户和密钥全部修改,总得来说是个非常麻烦的事情,还需要检查这些密钥对应账户的日志,看看是否出现未经授权的访问等。