3min Security

Grootschalige GitLab-scan onthult meer dan 17.000 gelekte secrets

Grootschalige GitLab-scan onthult meer dan 17.000 gelekte secrets

Security engineer Luke Marshall heeft in een grootschalig onderzoek ruim 5,6 miljoen publieke GitLab Cloud repositories geanalyseerd op blootgestelde geheimen.

 Met behulp van TruffleHog identificeerde hij 17.430 nog geldige credentials, verspreid over meer dan 2.800 organisaties. Het onderzoek bouwde voort op een eerdere scan van Bitbucket, waar aanzienlijk minder geheimen werden gevonden ondanks het lagere aantal repositories. Daarmee laat Marshall zien dat GitLab een hogere concentratie aan gelekte gegevens bevat en dat dit probleem structureel aanwezig is binnen ontwikkelplatformen.

5,6 miljoen unieke repositories

Om de volledige GitLab-omgeving systematisch te doorzoeken, gebruikte Marshall de publieke GitLab-API en een Python-script dat alle projecten ophaalde via paginatie. De lijst van 5,6 miljoen unieke repositories werd vervolgens via AWS Simple Queue Service verwerkt. Een AWS Lambda-functie pakte elke repository uit de queue, voerde een TruffleHog-scan uit en registreerde de resultaten.

Hij beschrijft dat iedere Lambda-aanroep een eenvoudige scan uitvoerde met een ingestelde gelijktijdigheid van duizend processen. Hierdoor kon de gehele operatie binnen iets meer dan 24 uur worden afgerond. De totale kosten voor het onderzoek bedroegen ongeveer 770 dollar.

De resultaten laten een duidelijk patroon zien. GitLab bevat bijna drie keer zoveel werkende geheimen als Bitbucket en daarnaast een 35 procent hogere dichtheid aan gelekte gegevens per repository. De meeste blootgestelde credentials zijn afkomstig uit de periode na 2018, maar Marshall ontdekte ook sleutels uit 2009 die nog steeds bruikbaar waren. Dat wijst op langdurig rondzwervende credentials die ooit in eerdere versiebeheersystemen stonden en met migraties zijn meeverhuisd.

Een groot deel van de gevonden geheimen betrof cloud- en dienstspecifieke toegangssleutels. Meer dan vijfduizend daarvan waren Google Cloud Platform-sleutels. Daarna volgden onder meer MongoDB-sleutels, Telegram-tokens en OpenAI-sleutels. Ook trof Marshall ruim vierhonderd GitLab-tokens aan in publieke GitLab-repositories. Dit is een voorbeeld van wat hij platform-localiteit noemt. Dit is de neiging van ontwikkelaars om juist de sleutels van het platform waarop zij werken op datzelfde platform te lekken.

Negenduizend dollar aan bug-bounties

Het informeren van de getroffen organisaties vormde een omvangrijke fase van het onderzoek. Omdat de zichtbare geheimen gekoppeld waren aan duizenden domeinen gebruikte Marshall een combinatie van automatisering, Claude Sonnet 3.7 en een Python-script om meldprocedures en contactgegevens te achterhalen. En om passende meldingen te genereren. Veel organisaties trokken hun sleutels naar aanleiding van deze notificaties in, en het onderzoek leverde Marshall ongeveer negenduizend dollar aan bug-bounties op.

Volgens Marshall onderstrepen de bevindingen dat periodieke, grootschalige scans noodzakelijk zijn voor organisaties die afhankelijk zijn van open source en cloudomgevingen. Secrets verdwijnen niet vanzelf uit de geschiedenis van repositories. Ze veroorzaken jarenlang risico’s wanneer men ze niet actief opschoont of vervangt.