TL;DR: GitHub Actions supply chain attacks repeatedly exploit the build runner rather than the codebase, with one March 2025 incident affecting more than 23,000 repositories and dumping secrets into logs, according to Cycode. The recurring lesson is that SHA pinning and token scoping reduce risk but do not observe runtime abuse inside the runner, where the attack actually executes.
Editorial analysis by NHI Mgmt Group, based on content published by Cycode: “GitHub Actions Supply Chain Attacks: How They Work and How to Stop Them”.
Key questions
Q: What breaks when GitHub Actions runners do not have egress monitoring?
A: Without egress monitoring, teams lose one of the clearest signals that a workflow step is reaching out to an unexpected destination.
Q: Why do GitHub Actions supply chain attacks keep exposing secrets even when teams pin SHAs?
A: Because SHA pinning only constrains what code is fetched, not what that code does once it runs.
Q: How do security teams know whether runner protection is actually working?
A: Check whether every active build is inheriting the same runtime controls, whether the approved runner image is current, and whether any workflow still depends on a manual security step.
Practitioner guidance
- Instrument runner runtime behaviour Monitor process execution, file access, and network egress inside CI/CD runners so malicious actions are visible while they run.
- Reduce trust in third-party actions Require commit-SHA pinning, review maintainership exposure, and restrict workflows that execute third-party actions in privileged contexts.
- Separate build secrets from general workflow context Minimise what is injected into the runner and avoid loading credentials that are not required for the specific job phase.
Bottom line: GitHub Actions supply chain attacks repeatedly succeed by abusing the build runner, where secrets are already present and runtime behaviour is often invisible.
Explore further
View Full Forum → | NHI Foundation Course → | Our Services → | Read the full analysis →
The build runner is the control gap, not the repository. Most supply chain programmes still assume that securing tags, tokens, and source provenance is enough. In these incidents, the attacker’s meaningful action happens after trust is already granted, inside the runner where secrets are live and logging can be abused. The governance failure is treating runtime as an implementation detail instead of the primary enforcement point.
A few things that frame the scale:
- 59% of compromised machines in a major 2025 supply chain attack were CI/CD runners rather than personal workstations, according to the State of Secrets Sprawl 2026.
- Software supply chain attacks were projected to cost organisations $60 billion in 2025.
A question worth separating out:
A: Treat every workflow run during the exposure window as potentially credential-compromised. Isolate affected pipelines, identify which secrets the job could access, and rotate those credentials immediately. Review runner logs and outbound network activity for signs of exfiltration, then pin workflows to known safe versions or immutable commits before re-enabling automation.
👉 Read our full editorial: GitHub Actions supply chain attacks expose the build runner gap