GitHub-tokenlek stelt Python’s kernrepositories bloot aan mogelijke aanvallen

Cybersecurity-onderzoekers zeggen dat ze een per ongeluk gelekte GitHub-token hebben ontdekt die verhoogde toegang zou kunnen verlenen tot de GitHub-repositories van de Python-taal, Python Package Index (PyPI) en de Python Software Foundation (PSF)-repositories.

JFrog, die de GitHub Personal Access Token vond, zei dat het geheim was gelekt in een openbare Docker-container die werd gehost op Docker Hub.

“Dit geval was uitzonderlijk omdat het moeilijk is om de potentiële gevolgen te overschatten als het in de verkeerde handen zou vallen. Men zou kwaadaardige code in PyPI-pakketten kunnen injecteren (stel je voor dat je alle Python-pakketten vervangt door kwaadaardige pakketten) en zelfs in de Python-taal zelf”, aldus het bedrijf dat zich bezighoudt met de beveiliging van de softwaretoeleveringsketen.

Een aanvaller zou zijn beheerderstoegang als wapen kunnen gebruiken om een ​​grootschalige aanval op de toeleveringsketen uit te voeren door de broncode te vergiftigen die is gekoppeld aan de kern van de programmeertaal Python of de PyPI-pakketbeheerder.

JFrog merkte op dat het authenticatietoken werd gevonden in een Docker-container, in een gecompileerd Python-bestand (“build.cpython-311.pyc”) dat per ongeluk niet was opgeruimd.

Na de responsible disclosure op 28 juni 2024 werd het token – dat was uitgegeven voor het GitHub-account dat was gekoppeld aan PyPI Admin Ee Durbin – onmiddellijk ingetrokken. Er is geen bewijs dat het geheim in het wild is misbruikt.

PyPI gaf aan dat de token ergens vóór 3 maart 2023 is uitgegeven en dat de exacte datum onbekend is omdat beveiligingslogboeken niet langer dan 90 dagen beschikbaar zijn.

“Toen ik cabotage-app5 lokaal ontwikkelde en aan het buildgedeelte van de codebase werkte, liep ik voortdurend tegen de API-limieten van GitHub aan”, legt Durbin uit.

“Deze tarieflimieten gelden voor anonieme toegang. Terwijl het systeem in productie is geconfigureerd als een GitHub-app, heb ik mijn lokale bestanden aangepast om mijn eigen toegangstoken op te nemen in een daad van luiheid, in plaats van een localhost GitHub-app te configureren. Deze wijzigingen waren nooit bedoeld om op afstand te worden gepusht.”

De onthulling volgt nadat Checkmarx een reeks schadelijke pakketten op PyPI ontdekte die zijn ontworpen om gevoelige informatie te exfiltreren naar een Telegram-bot, zonder toestemming of medeweten van de slachtoffers.

De betreffende pakketten – testbrojct2, proxyfullscraper, proxyalhttp en proxyfullscrapers – scannen het gecompromitteerde systeem op bestanden met extensies als .py, .php, .zip, .png, .jpg en .jpeg.

“De Telegram-bot is gekoppeld aan meerdere cybercriminele operaties in Irak”, aldus Checkmarx-onderzoeker Yehuda Gelb. Hij merkte daarbij op dat de berichtengeschiedenis van de bot teruggaat tot 2022.

“De bot functioneert ook als een ondergrondse marktplaats die social media manipulatiediensten aanbiedt. Het is gelinkt aan financiële diefstal en exploiteert slachtoffers door hun data te exfiltreren.”

Thijs Van der Does