Megalodon GitHub Actions Backdoor Campaign Hits 5,561 GitHub Repos


TL;DR

  • Repo Backdoor: Attackers have infected 5,561 GitHub repositories through poisoned GitHub Actions workflows
  • Trigger Path: GitHub’s manual and API workflow exceptions help explain how stolen credentials could reactivate dormant backdoors after the first malicious commit.
  • Cleanup Gap: Package removals and token resets help, but maintainers may still need workflow audits, commit reviews, and credential rotation.

Attackers have launched Megalodon as a GitHub Actions backdoor campaign, infecting 5,561 GitHub repositories and exposing CI data that could reach cloud, deployment, and package-publishing systems beyond the original repos.

Within six hours, the attackers have pushed 5,718 malicious commits, turning what could look like an isolated repository breach into a broad automation problem for maintainers who trust GitHub Actions to build and ship software.

Megalodon instead appears to have moved through poisoned source trees, workflow abuse, and credential theft rather than a hijacked npm account.

“The attacker never touched the NPM account. They compromised the GitHub repository, and the maintainer published from the poisoned source without realizing it.”

SafeDep, a cybersecurity firm (via SafeDep)

Because GitHub Actions often sits between source code and production infrastructure, a poisoned workflow can move from a repository compromise into package publishing, cloud access, internal services, and any self-hosted runner that trusts the same job chain.

Planted workflows may have stolen credentials and tokens from affected build environments, alongside keys and other secrets that could open deployment pipelines and connected cloud services. Maintainers now need to inspect workflow files, commit history, runner secrets, deployment logs, and package-publishing paths instead of treating the incident as a single account reset.