一场代号“巨齿鲨”(Megalodon)的大规模自动化供应链攻击,已对GitHub平台造成了严重冲击。
一场名为“巨齿鲨”的大规模供应链攻击,正通过自动化提交的方式向超过5500个GitHub代码仓库注入恶意软件。该攻击滥用了GitHub Actions工作流,在持续集成环境中植入窃密载荷,目标直指凭证、CI机密、密钥和令牌等敏感信息。
据安全公司SafeDep披露,“巨齿鲨”行动利用恶意的GitHub Actions工作流,通过伪造的自动提交批量注入到目标仓库,在短短六小时内形成了一波集中式攻击。SafeDep称,攻击者在5月18日的六小时窗口期内,向受影响仓库推送了超过5700次恶意提交,最终波及5561个独立仓库。攻击中至少使用了两种不同的载荷。其中一种会在仓库中新增一个工作流,使其在每次push或pull request时自动触发,从而在开发和构建过程中持续执行恶意代码。另一种则替换现有工作流的触发条件,将其改造成“休眠后门”,表面不影响日常流程,但为攻击者预留了远程唤醒通道。
一旦目标环境被感染,恶意工作流会尝试窃取CI环境变量、AWS凭证、GCP访问令牌、Azure凭证、SSH私钥、Docker与Kubernetes配置、各类API密钥、数据库连接字符串,以及GitHub Actions令牌、GitLab CI/CD令牌等数十种不同类型的敏感信息。这些信息一旦外泄,很可能被用来进一步攻陷云基础设施、代码库和生产环境。
SafeDep介绍,“巨齿鲨”是在分析Tiledesk开源聊天与聊天机器人平台时被发现的。研究人员注意到该项目在5月19日至21日间陆续发布了被篡改的恶意NPM包,从而暴露出背后更大规模的仓库入侵行动。攻击相关的NPM账号名为eljohnny,邮箱是giovanni@tiledesk.com,该账号既发布了干净的2.18.5版本,也发布了被污染版本。SafeDep指出,攻击者并没有直接控制这个NPM账号,而是通过攻陷其对应的GitHub仓库下手的。在源代码被“投毒”后,维护者在不知情的情况下从受感染的代码发布了恶意包,这也凸显了供应链攻击中“上游源被悄然篡改”的典型风险。
追踪攻击源头时,SafeDep发现触发感染链的恶意提交同样发生在5月18日,提交作者标识为“build-bot”。通过相关邮箱追查,研究人员发现当天通过该邮箱共进行了2878次提交,另一个关联邮箱又进行了2841次提交,总计5718次恶意提交全部集中在同一天完成。在技术手段上,攻击者选择了GitHub Actions中的“workflow_dispatch”工作流类型来实现后门触发。这种触发方式可以通过GitHub API调用,并利用窃取到的GitHub令牌在后期任意时间远程激活休眠后门。更为关键的是,该触发类型被GitHub的“反递归规则”豁免,不受“由令牌触发的事件再次生成新工作流”的限制,为攻击者提供了更大的操作空间。
在“巨齿鲨”事件曝光的同时,生态系统层面也在尝试应对类似威胁。NPM方面日前宣布,已让所有绕过双因素认证且具写入权限的细粒度访问令牌全部失效,以防范类似“Mini Shai-Hulud”一类的供应链攻击。安全公司Ox Security认为,这个举措有助于降低账号被劫持的风险,但并未真正消除根本隐患。Ox Security警告称,只要平台仍然允许任意代码在缺乏严格审查的前提下上传和分发,通过被攻陷仓库传播的恶意代码就会持续出现。该公司指出,供应链攻击正进入一个全新时代,TeamPCP早前对GitHub的攻陷不过是开端,未来针对开发者群体的攻击浪潮将如“海啸”般接踵而至。
在本次事件之外,近期围绕供应链安全的其他案例也不断出现,包括利用TanStack攻击窃取Grafana代码和数据的事件,以及多起针对NPM包的大规模投毒行动。这些接连发生的事件表明,软件供应链的脆弱性和可见性不足,依然是整个行业面临的突出问题。





