Únik tokenu na plný prístup k GitHub repozitárom projektu Python

Výskumníci z firmy JFrog objavili v obraze Docker „cabotage-app“ token, ktorý poskytuje administrátorské práva k repozitárom Python, PyPI a Python Software Foundation na GitHube. Token bol nájdený v binárnom súbore „__pycache__/build.cpython-311.pyc“ so skompilovaným bajtkódom v cache.

Únik tokenu na plný prístup k GitHub repozitárom projektu Python

Podľa vyjadrení zástupcov repozitára PyPI bol token vytvorený v roku 2023 pre vývojára ewdurbin (Ee Durbin), ktorý v organizácii Python Software Foundation zastáva post riaditeľa infraštruktúry. Token poskytoval administrátorské práva ku všetkým repozitárom a organizáciám projektu, vrátane všetkých repozitárov organizácií pypi, python, psf a pypa. Problemový obraz Docker s tokenom bol zverejnený v adresári Docker Hub 3. marca 2023 a odstránený 11. júna 2024, teda bol 16 mesiacov vo voľnom prístupe. Dňa 28. júna bol token odvolaný.

Zaujímavé je, že v dostupných zdrojových kódoch, na základe ktorých bol vygenerovaný problemový súbor s bajtkódom, sa spomínanie tokenu nenachádza. Autor kódu vysvetlil, že pri vývoji nástroja cabotage-app5 na svojej lokálnej sústave narazil na obmedzenia intenzity prístupu k API GitHub pri vykonávaní funkcie automatizovaného nahrávania súborov z GitHubu, a aby obíde limity stanovené pre anonymné požiadavky na GitHub, dočasne pridal svoj pracovný token do kódu. Pred publikovaním napísaného kódu bol token odstránený, ale vývojár nezohľadnil, že spomínanie tokenu sa vyrovnalo v predkompilovanom súbore s bajtkódom, ktorý sa potom dostal do obrazu docker. def _fetch_github_file( — github_repository=„owner/repo“, ref=„main“, access_token=None, filename=„Dockerfile“ + github_repository=„owner/repo“, + ref=„main“, + access_token=„0d6a9bb5af126f73350a2afc058492765446aaad“, + filename=„Dockerfile“, ):

Audít aktivít vykonaný vývojármi Python v repozitároch na GitHube neodhalil žiadne pokusy o prístup zo strany tretích osôb s použitím zverejneného tokenu. Vzhľadom na to, že od roku 2017 je GitHub primárnou platformou pre vývoj CPython, by sa dostanie tokenu do rúk útočníka mohlo viesť k úplnej kompromitácii infraštruktúry využívanej na vývoj Pythonu a repozitára PyPI, a k možnosti pokusov o integráciu zadných dverí do CPython a balíčkového manažéra PyPI.

Incident ukazuje na dôležitosť analýzy únikov nielen v zdrojovom kóde, konfiguračných súboroch a premenných prostredia, ale aj v binárnych súboroch. V kontexte Pythonu sa používateľom tiež odporúča venovať pozornosť prítomnosti pyc-súborov so skompilovaným bajtkódom v nahrávaných projektoch, pretože tieto súbory môžu obsahovať skryté modifikácie, ktoré chýbajú v zdrojovom kóde.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster