GitHub, open-source-utvecklarnas paradis, är inte längre vad det brukade vara. Efter år av ökande samtal om att angripare utnyttjar plattformen för att distribuera och smyga in skadlig kod, nådde en ny rapport en chockerande slutsats.
Legit Security-rapporten fann att de flesta GitHub Actions inte skapas av verifierade användare, inte underhålls, har sårbarheter och har mycket låga säkerhetspoäng.
Roy Blit, forskningschef på Legit Security, talade om de faror som detta innebär för företag över hela världen, i ett pressmeddelande.
“GitHub är en extremt populär plattform. Faktum är att mer än 100 miljoner utvecklare och över 90% av Fortune 100-företag använder den.
“Men trots sin popularitet är de flesta arbetsflöden för GitHub Actions osäkra på något sätt – från att vara alltför privilegierade till att ha högriskberoenden.
“Till exempel visade vår tidigare forskning att även projekt från globala företag som Google och Apache är bristfälliga. Dessa resultat är alarmerande eftersom GitHub Actions ger nyckeln till kritisk infrastruktur.
“De är kopplade till en organisations källkod och deras driftsättningsmiljö, så när de väl utnyttjas är organisationen helt i angriparens händer.”
Viktiga slutsatser om GitHubs nedgång
- En ny rapport tyder på att GitHub Actions utgör en säkerhetsrisk – en stor del av GitHub Actions skapas inte av verifierade användare, saknar underhåll och har sårbarheter.
- Omfattningen av problemet är betydande, med oroande trender som otillförlitlig kodkörning i tusentals arbetsflöden och osäker beroendehantering.
- Även om GitHub kan förbättra plattformssäkerheten måste utvecklare prioritera säkra kodningsmetoder och använda inbyggda säkerhetsfunktioner inom Actions.
- Det finns alternativ, men det är viktigt att vara noggrann. Att utforska alternativ som GitLab eller självhostade alternativ kommer med sina egna säkerhetsöverväganden.
Statistik över GitHub Actions “över förväntan”
I sin utredning upptäckte Legit Security också interpolering av otillförlitlig indata i mer än 7 000 arbetsflöden, exekvering av otillförlitlig kod i över 2 500 arbetsflöden och användning av otillförlitliga artefakter i mer än 3 000 arbetsflöden.
Av de 19 113 anpassade GitHub Actions skapades endast 913 av verifierade GitHub-användare, 18% hade sårbara beroenden, 762 är arkiverade och får inte regelbundna uppdateringar, den genomsnittliga OSSF-säkerhetspoängen var 4,23 av 10 och de flesta arkiv underhålls av en enda utvecklare.
Techopedia talade med Legit Securitys Roy Blit, som talade om de överraskande resultaten av GitHub-rapporten.
“Vi visste att vi förmodligen skulle hitta många fall av osäkra arbetsflöden och åtgärder, men vi förväntade oss inte att det skulle vara så utbrett. Den statistik vi hittade var över förväntan.”
GitHub-resursernas integritetshistoria överskuggad
Rapporter som ifrågasätter GitHubs resursers integritet är inget nytt. För att bara nämna några exempel rapporterade Bitdefender 2022 att tusentals PoC-exploiteringar på GitHub var spetsade med skadlig kod, och 2023 fann Aqua Nautilus att miljontals GitHub-arkiv var potentiellt sårbara för “RepoJacking”.
Blit från Legit Security diskuterade denna historiska GitHub-trend och varför deras senaste rapport är unik.
“GitHub har faktiskt varit under säkerhetsforskning under ganska lång tid. Den här forskningen fokuserar dock specifikt på GitHub Actions – CI/CD-tjänsten (continuous integration and continuous deployment) som erbjuds av GitHub”, säger Blit.
“Vi har genomfört en grundlig undersökning av olika aspekter av GitHub Actions, vilket inte har gjorts tidigare i den här omfattningen, och det är viktigt att utbilda open source-gemenskapen i den här frågan för att förhindra att angripare tar över CI/CD-pipelines för kritiska projekt.”
Vaibhav Malik, Global Partner Solutions Architect Leader på Cloudflare, uttryckte chock över omfattningen av resultaten i den nya rapporten till Techopedia:
“Ett av de mest chockerande resultaten är den stora omfattningen av potentiella sårbarheter. Undersökningen avslöjade interpolering av otillförlitlig indata i över 7 000 arbetsflöden och exekvering av otillförlitlig kod i över 2 500 arbetsflöden.”
“Med tanke på GitHubs utbredda användning bland utvecklare och stora företag är den potentiella effekten av dessa sårbarheter oroande”, säger Malik.
“Dessutom är det alarmerande att 98% av de referenser som används av jobb och steg inte följer bästa praxis för att fastställa beroenden. Det innebär att många arbetsflöden är potentiellt utsatta för oväntade ändringar eller uppdateringar.”
Malik förklarade att resultaten är särskilt relevanta eftersom de belyser sårbarheter i GitHub Actions, som har blivit kritiska för många organisationers utvecklings- och distributionsflöden.
“Till skillnad från tidigare säkerhetsproblem som kan ha fokuserat på åtkomst till arkiv eller kodintegritet, kan dessa sårbarheter göra det möjligt för angripare att manipulera de automatiserade processer som bygger, testar och distribuerar kod.”
Alternativ för utvecklare som vill vara både proffsiga och säkra
Även om GitHub fortfarande är en stor aktör finns det andra alternativ för kodhosting och samarbete. De som inte är så inbitna GitHub-fans kan till exempel fundera på att gå vidare till molnbaserade alternativ som AWS CodeCommit, Azure DevOps Server (för Microsoft-miljöer) eller prova andra plattformar som Bitbucket eller GitLab, en stark konkurrent med liknande funktioner.
Men Blit från Legit Security säger att utvecklare och företag kan behöva överväga andra faktorer.
“De flesta av de risker som presenteras i den här undersökningen är faktiskt relevanta för nästan alla CI/CD-tjänster som finns där ute. Att till exempel knyta beroenden till en specifik version (för att förhindra att den ändras utan utvecklarens vetskap) är viktigt, oavsett vilken CI-tjänst du använder. Utvecklare behöver bara tänka på att arbeta enligt bästa praxis och undvika de säkerhetsfallgropar som presenteras i rapporten.”
Malik från Cloudflare berättade för Techopedia att baserat på forskningsresultaten bör utvecklare överväga följande åtgärder:
- Implementera strängare säkerhetsrutiner när du skriver arbetsflöden för GitHub Actions, särskilt när det gäller hantering av hemligheter och förebyggande av kodinjektion.
- Var mer försiktig när du använder Actions från tredje part från marknaden. Prioritera åtgärder från verifierade skapare och de med högre säkerhetspoäng.
- Använd GitHubs inbyggda funktioner för att kontrollera GitHub Actions beteende för att genomdriva bästa praxis.
Medvetenhet om tillståndet för GitHub-resurser och att känna till riskerna med GitHub Actions, samt att integrera ytterligare säkerhetsverktyg, är också en bra idé framöver. Malik talade om dem som letar efter nya plattformar.
“Som alternativ kan utvecklare överväga andra CI/CD-plattformar med potentiellt starkare säkerhetsfunktioner, eller titta på självhanterade runners och anpassade åtgärdsimplementeringar som möjliggör striktare kontroll över exekveringsmiljön. Alla alternativ bör dock utvärderas noggrant med avseende på deras egna potentiella säkerhetskonsekvenser.”
Slutsatsen om säkerhetsriskerna på Github
Rapporten från Legit Security är en väckarklocka för utvecklare och organisationer som förlitar sig på GitHub Actions. Bekvämligheten med dessa automatiserade verktyg kommer med en säkerhetsrisk, särskilt med tanke på förekomsten av ounderhållna åtgärder och osäkra kodningsmetoder.
Det betyder inte att man ska överge GitHub helt och hållet. Det är dock viktigt att prioritera säkerhet när man använder Actions, och rekommendationerna från både Blit och Malik erbjuder en tydlig färdplan: strängare säkerhetsrutiner, ansvarsfullt val av tredjepartsåtgärder och utnyttjande av inbyggda säkerhetsfunktioner.
För dem som vill ha den strängaste kontrollen kan det vara ett alternativ att utforska alternativa CI/CD-plattformar eller självhanterande lösningar. Men kom ihåg att säkerhet är en ständig kamp vart du än går. I slutändan är det en kombination av medvetenhet, bästa praxis och eventuellt ytterligare säkerhetsverktyg som kommer att hålla dina utvecklingspipelines säkra.