The GitHub Actions Worm
Asi Greenholts demonstrates a proof-of-concept worm propagating through the GitHub Actions ecosystem by compromising interdependent custom actions.
Summary
The Critical Role of GitHub Actions in CI/CD
GitHub Actions has become the backbone of modern open-source software deployment, executing automated build, test, and release workflows with access to sensitive repository secrets.
Analyzing Implicit Dependency Trees in Custom Actions
Asi Greenholts demonstrates how custom GitHub Actions create complex, implicit dependency chains where workflows rely on third-party actions without strict SHA-pinning.
Engineering a Self-Replicating Pipeline Worm
Compromising a single vulnerable upstream action allows an attacker to manipulate runner execution environments, inject malicious payload code into downstream actions, and propagate across repositories.
Hardening Workflows Against Supply Chain Propagation
Defending CI/CD pipelines requires enforcing strict commit SHA pinning for third-party actions, implementing least-privilege token permissions, and monitoring runner process spawns.
Related talks
Main Stage·42 min
Aviad Hahami
Reconstructs the multi-stage CI/CD supply chain compromise of the popular tj-actions GitHub Action, detailing secret exfiltration and attacker tradecraft.
Main Stage·44 min
Adnan Khan · John Stawinski
Exploiting insecure defaults in self-hosted GitHub Actions runners to compromise repositories, cloud environments, and internal networks.
App Sec Village·26 min
Elad Pticha · Oreen Livni
Demonstrates a command injection vulnerability in the Bazel GitHub Action that allowed malicious tampering in Google's build pipeline.


