Pwning the CI (GitHub Actions Edition)
summary
A malicious workflow file (pwn.yml) is submitted as a PR and — if auto‑approved or run by a first‑time contributor — executes shell commands that echo environment variables, curl repository secrets offsite, open a reverse shell (netcat), abuse the Docker socket to escalate to root on self-hosted runners, and delete the PR while spoofing commits to hide activity. The demo succeeds in extracting tokens and a persistent shell. Defenses shown: strict branch protection, signed commits, CODEOWNERS, least‑privilege tokens/OpenID Connect, rotating credentials and using tools like OpenSSF scorecard and checkov to detect risky patterns and GitHub token abuse.
AI-written summary · about
chapters (9)
- 0:00Introduction and setup
- 1:54Why this talk exists
- 4:44GitHub Actions workflows basics
- 8:56First-time contributor risks
- 13:32GitHub token abuse
- 18:46Combining attacks in a demo
- 28:16Preventing CI/CD attacks
- 32:47Tools for securing workflows
- 33:33Q&A session
related talks
28mPwning the CI (with GitHub Action Workflows)
23mBreaking the Build: How Attackers Abuse GitHub Actions
42mProtecting CI/CD from malicious deploys
55mBeyond the Commit: Weaponizing and Hardening GitHub Actions
52mGitHub Actions Security: From CI Nightmare to Supply Chain Sentinel
36mGithub Actions Security Landscape
57mGitHub Actions: Vulnerabilities, Attacks, and Counter-measures
14mBreaking and Protecting GitHub IssueOps Pipelines
