每日资讯
开源代码库遭大规模投毒,5500个GitHub仓库沦为软件供
开源代码库遭大规模投毒,5500个GitHub仓库沦为软件供应链攻击新阵地
开源世界再次敲响安全警钟。2026年5月,一场代号为“Megalodon”的网络攻击在短短六小时内,向超过5,500个GitHub开源代码仓库推送了恶意代码,感染规模惊人。安全研究人员指出,这并非一起孤立事件,而是针对全球软件供应链关键环节——开源生态系统——的、日益猖獗的攻击趋势的最新例证。
攻击手法:精准利用自动化流程与信任
根据SafeDep等安全公司的报告,攻击者手法专业且高效。他们利用了开源协作中对自动化流程的普遍信任。
攻击于5月18日发动。黑客使用大量一次性账户和伪造的身份(如 build-bot、auto-ci),向5,561个仓库推送了总计5,718个恶意提交。这些提交的核心是在项目的 GitHub Actions 工作流文件 中注入了恶意代码。
GitHub Actions是开发者用于自动化构建、测试和部署的CI/CD(持续集成/持续部署)工具。攻击者将经过Base64编码的恶意Bash脚本植入工作流定义文件。一旦项目维护者或其他贡献者触发自动化流程(如下一次代码提交或拉取请求),这些恶意脚本就会在GitHub的服务器上执行。
其恶意载荷的功能直指核心资产:窃取CI/CD管道中的机密信息,包括云服务凭证、SSH密钥、OIDC令牌以及源代码中的各类密钥,并将这些数据外泄到一个指定的命令与控制服务器。
StepSecurity的博客文章将此攻击归类为典型的 “直接投毒管道执行”(d-PPE) 攻击。这类攻击的本质是,拥有仓库写入权限的对手(在此案例中通过盗用账户或劫持贡献者提交获得权限)直接将恶意代码注入工作流文件,从而劫持CI系统的执行权限。
凸显的集体安全风险
“Megalodon”攻击事件清晰地暴露了开源生态系统的集体安全脆弱性:
- 信任链的滥用:开源协作建立在信任之上——信任贡献者的代码,信任自动化流程的完整性。攻击者正是侵蚀了这两层信任。开发者往往默认来自“ci-bot”这类看似合法的自动化账户的提交是安全的,从而放松了审查。
- 供应链的放大效应:被感染的仓库并非孤立的终点。这些仓库可能被数千甚至数百万其他项目作为依赖项直接或间接引用。一旦恶意代码通过构建流程进入下游软件,其影响将呈指数级扩散,威胁到无数最终用户和企业。
- 安全管理滞后于协作效率:开源项目通常由志愿者维护,安全审查资源和专业能力有限。面对海量的自动化提交和依赖项更新,人工逐一审核近乎不可能,而自动化安全工具在此类新型攻击面前的检测能力仍在演进中。
开源社区的安全警醒与应对
尽管GitHub在事件发生后未直接对“Megalodon”攻击发表评论,但该公司在2026年4月1日的一篇博客中,已经预警了针对开源供应链的攻击新趋势,并明确指出 “攻击通常从攻陷GitHub Actions工作流开始” 。该文章为开源项目提供了加强工作流安全的具体建议。
SafeDep的研究人员则建议受影响的用户立即回滚仓库至被感染前的状态,并彻底审计所有工作流文件。
此次事件给整个开源社区带来的核心启示是:开源代码库已成为网络攻击的高价值战略目标。 防御必须升级:
- 强化工作流安全:遵循最小权限原则,为Github Actions使用细粒度的令牌权限,避免使用过于宽泛的
GITHUB_TOKEN权限。 - 实施代码签名与强制审核:对工作流文件的更改实施强制性的代码审查(Code Review),尤其是来自自动化账户或新贡献者的提交。
- 依赖项安全扫描:不仅扫描应用代码,也要将CI/CD流水线配置和脚本纳入持续的安全扫描范围。
- 社区协同响应:建立更快速、透明的安全事件通报和响应机制,以便在类似供应链攻击发生时,能迅速预警整个生态。
“Megalodon”攻击如同一场针对数字世界基础设施的定向爆破。它提醒我们,支撑全球软件的集体智慧宝库,必须配备与之匹配的集体防御体系。在享受开源协作带来的巨大效率红利时,整个社区必须将安全置于与创新同等的战略高度。
来源
- Megalodon cyberattack infects 5,500 GitHub open-source repositories with malware, researchers say - mashable.com,2026/5/25