“巨齿鲨”供应链攻击波及逾5500个GitHub代码仓库
安全研究人员警告称,一场名为“巨齿鲨(Megalodon)”的大规模供应链攻击已通过自动化提交的方式,向超过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,账号邮箱为 [email protected],其既发布了干净的 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 包的大规模投毒行动。 这些连续出现的事件表明,软件供应链的脆弱性和可见性不足依然是整个行业面临的突出问题。


