2026年5月18日,一场名为“Megalodon”的自动化攻击在约6小时内向5,561个GitHub仓库推送5,718次恶意提交,通过植入被投毒的GitHub Actions工作流窃取CI/CD环境中的凭证和密钥。[16][17] 攻击者使用一次性账号和伪装成CI机器人(如build bot、auto ci)的身份提交代码,并利用弱分支保护策略将恶意工作流直接推送到默认分支。[17][23] 恶意脚本试图窃取云平台凭证、SSH私钥、API令牌和GitHub Actions OIDC令牌;这些令牌可被交换为临时云访问权限,对AWS、GCP和Azure部署管道构成高风险。[16][38]

Create a landscape editorial hero image for this Studio Global article: What happened in the “Megalodon” GitHub supply chain attack on May 18, 2026, how were attackers able to inject 5,700+ malicious commits into. Article summary: “Megalodon” was a fast, automated GitHub supply-chain campaign on May 18, 2026 that pushed 5,718 malicious commits into 5,561 public repositories in roughly six hours by slipping poisoned GitHub Actions workflows into re. Topic tags: general, general web, documentation, user generated. Reference image context from search candidates: Reference image 1: visual subject "On May 18, 2026, an automated campaign codenamed `megalodon` pushed 5,718 malicious commits to 5,561 GitHub repositories in a six-hour window. Using throwaway accounts and forged a" source context "Megalodon: Mass GitHub Repo Backdooring via CI Workflows" Reference image 2: visual subject "A sophis
2026年5月18日,安全研究人员披露了一起代号为 “Megalodon” 的自动化软件供应链攻击。攻击者在大约 6小时内向5,561个GitHub仓库推送了5,718次恶意提交,成为记录中规模最大的仓库投毒行动之一。
与传统篡改源代码的攻击不同,这次行动的核心是 向仓库中插入恶意的 GitHub Actions 工作流文件。当这些仓库的CI/CD流水线运行时,工作流会自动执行,并尝试从运行环境中收集敏感凭证与密钥。
根据研究人员分析,攻击发生在 2026年5月18日11:36至17:48(UTC)之间,表明攻击完全依赖高度自动化的脚本和账户批量操作,以在维护者发现异常之前快速扩散。
Megalodon行动的成功,很大程度依赖自动化工具与“伪装策略”。攻击者试图让所有改动看起来像是正常的CI维护更新。
攻击者创建了大量 一次性GitHub账号,用户名通常为随机字符,并伪装成自动化系统,例如:
这些名字看起来像是常见的自动化工具账号,使得提交记录更像是日常CI更新,而不是人工攻击行为。
攻击者不仅创建了假机器人,还 精心构造提交信息和作者元数据。许多提交的说明看起来像是普通的CI配置更新或自动化优化,从而降低开发者的警惕性。
该攻击专门寻找 没有严格分支保护规则的仓库。如果仓库没有要求:
攻击者就可以 直接向默认分支推送工作流文件,无需任何代码审查流程。
每个恶意提交都会添加一个新的 GitHub Actions工作流文件。该文件内部包含 Base64编码的Bash脚本。
当CI流水线运行时,脚本会在GitHub Actions Runner中执行,并开始收集环境中的敏感信息。
这种设计让攻击具备一个特点:只有当CI真正运行时,恶意代码才会触发,因此可能在仓库中潜伏一段时间才被发现。
工作流中的Base64脚本被设计为从CI运行环境中收集各种敏感信息,并发送到攻击者控制的服务器。
目标数据包括:
脚本会读取系统信息以及 /proc/*/environ 等环境变量数据,收集Runner可访问的凭证后再进行数据外传。
由于CI流水线通常拥有部署权限,一旦这些凭证泄露,攻击者可能进一步进入:
Megalodon攻击的重要目标之一是 GitHub Actions 的 OIDC(OpenID Connect)令牌。
现代CI/CD系统越来越多地采用 OIDC身份联邦 来访问云平台。这种机制允许CI流水线在运行时获取 短期身份令牌,并用它换取临时的云访问权限,而不需要保存长期API密钥。
这种方式本意是提升安全性,但也带来一个新风险:
如果攻击者在流水线运行期间 窃取了OIDC令牌,他们可能在短时间内冒充该CI任务的身份。
被窃取的令牌可以交换为 与部署流水线相同权限的临时云访问凭证。
这意味着攻击者可能获得:
即使令牌有效期较短,它们在有效时间内依然具有极高价值。
Megalodon体现了软件供应链攻击的一种趋势:攻击目标从应用代码转向 自动化基础设施。
通过篡改CI工作流,攻击者可以:
由于许多开源项目和企业仓库依赖CI系统进行构建与部署,一次工作流修改就可能影响多个下游系统。
在同一时间段附近,GitHub还披露了一起 独立的安全事件:一名员工安装了被投毒的 Visual Studio Code 扩展,攻击者因此获得了约 3,800个GitHub内部仓库的访问权限。
该事件的原因是一个恶意扩展从开发者机器中窃取凭证,从而让攻击者进入GitHub内部代码库。
一些安全分析认为,这两起事件在时间上接近,并且都涉及开发工具供应链攻击。但目前 没有公开证据证明该内部泄露直接导致了Megalodon攻击。
因此,业界普遍将它们视为 同时发生但相互独立的供应链安全事件。
Megalodon展示了自动化攻击如何在短时间内影响数千个仓库。通过伪装机器人账号、自动化提交和被投毒的工作流,攻击者把CI基础设施变成了凭证收集器。
对于软件团队而言,这次事件再次强调了几项关键防护措施:
随着CI/CD系统逐渐掌控云部署与生产环境,CI流水线本身的安全性已经成为软件供应链防御的核心环节。
Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
2026年5月18日,一场名为“Megalodon”的自动化攻击在约6小时内向5,561个GitHub仓库推送5,718次恶意提交,通过植入被投毒的GitHub Actions工作流窃取CI/CD环境中的凭证和密钥。[16][17]
2026年5月18日,一场名为“Megalodon”的自动化攻击在约6小时内向5,561个GitHub仓库推送5,718次恶意提交,通过植入被投毒的GitHub Actions工作流窃取CI/CD环境中的凭证和密钥。[16][17] 攻击者使用一次性账号和伪装成CI机器人(如build bot、auto ci)的身份提交代码,并利用弱分支保护策略将恶意工作流直接推送到默认分支。[17][23]
恶意脚本试图窃取云平台凭证、SSH私钥、API令牌和GitHub Actions OIDC令牌;这些令牌可被交换为临时云访问权限,对AWS、GCP和Azure部署管道构成高风险。[16][38]