Ontwikkelaars lekken duizenden gevoelige API-sleutels via GitHub

Meer dan honderdduizend GitHub-repositories bevatten code waarin gevoelige API-sleutels zichtbaar zijn. Een nieuwe scanmethode van de universiteit van Californië brengt het probleem aan het licht.

Heel veel ontwikkelaars stoppen sleutels voor API-toegang of cryptografische versleuteling in code die beschikbaar is via GitHub-repositories. Dat komt er in de praktijk op neer dat die gevoelige gegevens gelekt worden naar het grote publiek. De omvang van het probleem werd duidelijk na een onderzoek van de de universiteit van Californië in de VS. Researchers gebruikten daar twee scanmethodes om ongeveer vier miljoen repositories te scannen over een periode van zes maanden. Het onderzoek is beschikbaar in PDF-vorm.

Met hun scan zochten onderzoekers naar strings van tekst in het formaat van gekende sleutels voor API’s, en cryptografische sleutels. Ze keken naar de aanwezigheid van 15 verschillende types API-sleutel (gekoppeld aan 11 grote bedrijven), en vier verschillende cryptografische sleutels. Het onderzoek spitste zich dus niet toe op alle mogelijke lekken, waardoor de bevindingen naar alle waarschijnlijkheid nog rooskleuriger zijn dan de realiteit.

Van geen kwaad bewust

Toch kwam uit het onderzoek aan het licht dat er duizenden API- en cryptografische sleutels zomaar in de code staan. Omdat het onderzoek over een periode van een half jaar liep, was het mogelijk om te kijken of en wanneer de verantwoordelijken hun fout inzagen. In 81 procent van de gevallen gebeurde dat niet.

De gevonden sleutels gaven toegang tot bijvoorbeeld het AWS-account van een grote website in de VS, en dat van een belangrijke overheidsinstelling van een Europese lidstaat. De researchers koppelden hun bevindingen terug naar GitHub, dat op de hoogte is van het probleem. De dienst werkt momenteel aan een eigen scansysteem waarbij overtreders automatisch gewaarschuwd worden voor de vergissing die ze maken. In het kader van het onderzoek was het geen optie om terug te koppelen naar de gebruikers, aangezien de onderzoekers geen contactinformatie hebben en het volume aan fouten te hoog is om manueel te werk te gaan.

In de toekomst moeten dergelijke problemen normaal gezien automatisch wordne aangekaart bij GitHub zelf. De resultaten dienen tegelijkertijd als een waarschuwing aan ontwikkelaars om op te passen met gevoelige sleutels.

Gerelateerd: Gratis GitHub-gebruikers krijgen ongelimiteerde private repositories