GitHub Actions, een populaire tool voor het automatiseren van softwareontwikkelingsprocessen, blijkt kwetsbaar voor diverse beveiligingsrisico's door misconfiguraties. Recente incidenten, zoals het tj-actions incident waarbij 22.000 repositories werden getroffen, de injectie van cryptominers in PyPI-releases door Ultralytics, en een supply chain breach bij Trivy via een zogenaamd veilige workflow, tonen aan dat deze kwetsbaarheden nog steeds veel voorkomen.

Deze eerste van een tweedelige blogserie behandelt het dreigingsmodel van GitHub Actions, waarbij de kernvraag is wie controle heeft over welke code wordt uitgevoerd en met welke rechten. De grens tussen vertrouwde en onbetrouwbare zones binnen publieke repositories speelt hierbij een cruciale rol. Vertrouwde partijen zijn onder meer repository-eigenaren, samenwerkers en goedgekeurde bots die toegang hebben tot CI/CD-geheimen en workflows kunnen aanpassen. Onbetrouwbare partijen omvatten onder andere kijkers, auteurs van pull requests vanuit forks, issue-makers en externe bots. Veel aanvallen maken misbruik van deze scheidslijn door bijvoorbeeld pull requests te manipuleren, scripts te injecteren of kwetsbaarheden in derde partij componenten te benutten, zoals ook beschreven in de "Pwn Request" attack class.

De blogserie biedt een diepgaand inzicht in de beveiligingsuitdagingen van GitHub Actions en een verdedigingsstrategie die organisaties helpt hun omgeving beter te beschermen. Deel één focust op het algemene beveiligingsmodel en bekende fouten die leiden tot succesvolle aanvallen, terwijl deel twee ingaat op de opkomende dreigingen rond AI-gestuurde acties en introduceert het een nieuwe analysemethode die onbekende risico's en kwetsbaarheden blootlegt. Deze aanpak is essentieel om de beveiliging van softwareontwikkelingsprocessen via GitHub Actions te versterken.