安全研究机构 SafeDep 近日披露,GitHub 平台遭遇大规模供应链攻击,一个名为“Megalodon”的恶意活动在短时间内通过伪造自动化提交(commit)的方式侵染了超过 5,500 个代码仓库。该攻击专门窃取开发者持续集成/持续部署(CI/CD)流水线中的各类机密凭证,并对开源生态构成严重威胁。
攻击手法与影响范围
据 SafeDep 介绍,攻击者创建了一个名为“build-bot”的账号,伪装成自动提交机器人,向目标仓库提交包含恶意代码的 commit。一旦仓库维护者接受了这些恶意 commit,便会触发信息窃取(infostealer)载荷,对 CI/CD 管道中的敏感数据进行窃取。该恶意软件具有蠕虫式传播能力,在完成窃取后会尝试向其他仓库传播。
被窃取的信息涵盖广泛:包括 AWS、GCP 和 Azure 云平台的访问密钥与实例角色凭证、SSH 私钥、Docker 与 Kubernetes 配置文件、Vault 令牌、Terraform 凭据等。这些凭证的泄露将给云基础设施和开发环境带来极高的被入侵风险。
通过 npm 传播至最终用户
在当前攻击阶段,直接受影响的是 GitHub 仓库维护者。但如果这些被污染的仓库发布到 npm 等包管理器,最终用户同样会面临风险。SafeDep 以开源项目 Tiledesk 为例进行了说明:该项目的 GitHub 仓库在 5 月 19 日至 21 日期间被植入后门,维护者在不知情的情况下将从被污染源码构建的版本推送至 npm,导致 npm 上的一系列版本(2.18.6 至 2.18.12)均携带后门。攻击者并未窃取 npm 账户本身,而是通过控制 GitHub 仓库间接污染了发布流程。
值得指出的是,此前已有名为 TeamPCP 的攻击者针对 GitHub 与 npm 发起类似攻击,并在 Breach Forums 上发起“供应链攻击竞赛”。但 SafeDep 强调 Megalodon 并非该竞赛的一部分。Megalodon 似乎是一个完全独立的威胁行为者,受 TeamPCP 活动启发而发起了自己的恶意行动。
SafeDep 已公布被感染仓库的完整列表,供开发者自查。此次事件再次凸显了开源供应链安全的脆弱性,维护者在接受外部提交时需格外谨慎,同时建议开发者在拉取依赖时验证代码来源。
本文参考来源:TechRadar
微信扫描下方的二维码阅读本文



