GitHub-acties kwetsbaar voor typosquatting, waardoor ontwikkelaars worden blootgesteld aan verborgen kwaadaardige code

Kwaadwillenden maken al lang gebruik van typosquatting om nietsvermoedende gebruikers te misleiden tot het bezoeken van schadelijke websites of het downloaden van software en pakketten met boobytraps.

Bij deze aanvallen worden doorgaans domeinen of pakketten geregistreerd met namen die enigszins afwijken van de originele namen (bijvoorbeeld goog1e.com versus google.com).

Tegenstanders die opensource-repositories op verschillende platforms aanvallen, hebben erop vertrouwd dat ontwikkelaars typefouten maken om aanvallen op de softwaretoeleveringsketen te initiëren via PyPI, npm, Maven Central, NuGet, RubyGems en Crate.

Uit de nieuwste bevindingen van cloudbeveiligingsbedrijf Orca blijkt dat zelfs GitHub Actions, een platform voor continue integratie en continue levering (CI/CD), niet immuun is voor de dreiging.

“Als ontwikkelaars een typefout maken in hun GitHub Action die overeenkomt met de actie van een typosquatter, kunnen applicaties schadelijke code uitvoeren zonder dat de ontwikkelaar het doorheeft”, aldus beveiligingsonderzoeker Ofir Yakobi in een rapport dat is gedeeld met The Hacker News.

De aanval is mogelijk omdat iedereen een GitHub Action kan publiceren door een GitHub-account aan te maken met een tijdelijk e-mailaccount. Aangezien acties worden uitgevoerd binnen de context van de repository van een gebruiker, kan een kwaadaardige actie worden misbruikt om de broncode te manipuleren, geheimen te stelen en deze te gebruiken om malware te verspreiden.

De enige techniek die de aanvaller hiervoor gebruikt, is het aanmaken van organisaties en opslagplaatsen met namen die sterk lijken op populaire of veelgebruikte GitHub Actions.

Als een gebruiker onbedoeld spelfouten maakt bij het instellen van een GitHub-actie voor zijn project en die verkeerd gespelde versie al door de tegenstander is gemaakt, dan zal de workflow van de gebruiker de schadelijke actie uitvoeren in plaats van de beoogde actie.

“Stel je een actie voor die gevoelige informatie exfiltreert of code wijzigt om subtiele bugs of achterdeurtjes te introduceren, wat mogelijk gevolgen heeft voor alle toekomstige builds en implementaties”, aldus Yakobi.

“Sterker nog, een gecompromitteerde actie kan zelfs uw GitHub-inloggegevens gebruiken om schadelijke wijzigingen door te voeren naar andere opslagplaatsen binnen uw organisatie, waardoor de schade aan meerdere projecten wordt vergroot.”

Volgens Orca leverde een zoekopdracht op GitHub maar liefst 198 bestanden op die “action/checkout” of “actons/checkout” aanroepen in plaats van “actions/checkout” (let op de ontbrekende “s” en “i”), waardoor al die projecten gevaar lopen.

Deze vorm van typosquatting is aantrekkelijk voor kwaadwillenden, omdat het een goedkope aanval met een grote impact is die kan leiden tot ernstige inbreuken op de softwareleveringsketen, waardoor meerdere downstreamklanten tegelijk worden getroffen.

Gebruikers wordt geadviseerd om acties en hun namen dubbel te controleren om er zeker van te zijn dat ze naar de juiste GitHub-organisatie verwijzen, zich te houden aan acties van vertrouwde bronnen en hun CI/CD-workflows regelmatig te scannen op typosquatting-problemen.

“Dit experiment laat zien hoe eenvoudig het voor aanvallers is om typosquatting in GitHub Actions te misbruiken en hoe belangrijk waakzaamheid en best practices zijn om dergelijke aanvallen te voorkomen”, aldus Yakobi.

“Het werkelijke probleem is nog zorgwekkender omdat we hier alleen benadrukken wat er gebeurt in openbare repositories. De impact op privé-repositories, waar dezelfde typfouten kunnen leiden tot ernstige beveiligingsinbreuken, blijft onbekend.”

Thijs Van der Does