GitHub getroffen door inbraak op npm-productie-infrastructuur

Een aanvaller is erin geslaagd om in te breken op de npm-productie-infrastructuur van GitHub, daarnaast zijn van tientallen organisaties private GitHub-repositories gestolen, zo laat het populaire platform voor softwareontwikkelaars weten. De aanval was mogelijk via gestolen OAuth user tokens die van Heroku en Travis-CI waren. Dit zijn third-party OAuth integrators.
Bedrijven integreren de diensten van Heroku en Travis-CI bij het ontwikkelen van software. Zo biedt Heroku een cloudapplicatieplatform met GitHub-integratie, waarbij programmeurs code die op GitHub staat kunnen uitrollen naar apps die op Heroku draaien. Ontwikkelaars gebruiken Heroku daarbij als platform voor het uitrollen, beheren en opschalen van applicaties.
GitHub ontdekte naar eigen zeggen op 12 april dat een aanvaller via een gestolen AWS (Amazon Web Services) API-key toegang tot de npm-productie-infrastructuur van GitHub had gekregen. Npm, dat onderdeel van GitHub is, is de standaard package manager voor de JavaScript-omgeving Node.js en naar eigen zeggen het grootste softwarearchief ter wereld.
GitHub denkt dat de aanvaller de API-key in handen kreeg door het downloaden van een verzameling private npm-repositories. Deze repositories konden via een gestolen OAuth-token worden gedownload. Het token was buitgemaakt bij Heroku of Travis-CI. Salesforce, dat eigenaar van Heroku is, laat weten dat de aanvaller via een gestolen OAuth-token toegang tot Heroku’s GitHub-account kreeg. Hoe dit kon gebeuren wordt niet vermeld.
Heroku host op GitHub een integration dashboard. De aanvaller gebruikte OAuth-tokens van dit dashboard om GitHub-accounts van klanten te achterhalen. Volgens Salesforces kon de aanvaller met de tokens die bij Heroku zijn gestolen toegang tot de GitHub-repositories van klanten krijgen. Vervolgens zou het mogelijk zijn om code in deze repositories te lezen en aan te passen.
Volgens GitHub werden met de gestolen tokens private repositories “in de npm-organisatie op GitHub.com” gedownload en is er mogelijk toegang verkregen tot de npm-packages zoals ze in de AWS S3-storage zijn opgeslagen. GitHub gaat erop dit moment vanuit dat de aanvaller geen packages heeft aangepast of dat er toegang is verkregen tot accountgegevens of inloggegevens.
Naar aanleiding van het incident heeft Salesforce alle OAuth-tokens van de Heroku Dashboard GitHub integration ingetrokken. Daardoor is het niet meer mogelijk om apps vanaf GitHub via het Heroku dashboard of Heroku automation uit te rollen. Alle getroffen klanten zouden inmiddels zijn gewaarschuwd. Het onderzoek loopt nog.

Georgino van Hout is een verslaggever voor InternetBlabla.nl. Hij heeft in het verleden voor verschillende cyber security bedrijven geblogd. Door zijn bijdragen aan InternetBlaBla, kunnen we de belangrijke zaken in cyber security blijven verslaan zodat we actueel blijven op het gebied van cyber veiligheid.