Forskarar frÄ JFrog har oppdaga eit token i Docker-bilete «cabotage-app», som gir administrativ tilgang til Python-, PyPI- og Python Software Foundation-repositoriar pÄ GitHub. Tokenet vart funne i den binÊre fila «__pycache__/build.cpython-311.pyc» med forhÄndsbufra kompilert bytekode.

IfÞlgje representantar frÄ PyPI-repositoriet vart tokenet oppretta i 2023 for utviklaren ewdurbin (Ee Durbin), som held stillinga som infrastruktur-sjef i Python Software Foundation. Tokenet gav administrativ tilgang til alle repositorium og organisasjonar i prosjektet, inkludert alle repositorium til organisasjonane pypi, python, psf og pypa. Det problematiske Docker-biletet med tokenet vart publisert i Docker Hub-katalogen den 3. mars 2023, og fjerna den 11. juni 2024, det vil seie at det var tilgjengeleg i 16 mÄnader. PÄ den 28. juni vart tokenet tilbakekalla.
Det er bemerkelsesverdig at det ikkje er noko omtale av tokenet i dei tilgjengelege kjeldekodane som filen med bytekode vart generert frĂ„. Kodeforfattaren forklarte at han, i lĂžpet av utviklinga av verktĂžyet cabotage-app5, stĂžtt pĂ„ begrensingar i tilgangen til GitHub API pĂ„ sitt lokale system nĂ„r han utfĂžrte den automatiserte opplastinga av filer frĂ„ GitHub, og for Ă„ omgĂ„ limitane for anonyme fĂžrespurnader til GitHub, midlertidig la til sitt arbeids-token i koden. FĂžr publisering av koden vart tokenet fjerna, men utviklaren tok ikkje hĂžgd for at omtalen av tokenet var bufra i den forhĂ„nds-kompilerte fila med bytekode, som deretter kom inn i Docker-biletet. 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», ):
En granskning av aktiviteten i GitHub-repositoriar av utviklarane i Python avdekte inga tredjeparts forsÞk pÄ tilgang ved hjelp av det avdekka tokenet. Gitt at GitHub har vore den primÊre plattforma for utvikling av CPython sidan 2017, kunne det Ä fÄ tokenet i hendene til ondsinna aktÞrar fÞrt til fullstendig kompromittering av infrastrukturen brukt til utvikling av Python og repositoriet PyPI, samt moglegheita for Ä forsÞka Ä integrere bakdÞrer i CPython og pakkehÄndteraren PyPI.
Hendelsen viser viktigheten av Ä analysere lekkasjer ikke bare i kildekode, konfigurasjonsfiler og miljÞvariabler, men ogsÄ i binÊrfiler. I konteksten av Python anbefales det ogsÄ at brukere er oppmerksomme pÄ tilstedevÊrelsen av pyc-filer med kompilert bytekode i de lastede prosjektene, da disse filene kan inneholde skjulte modifikasjoner som mangler i kildekoden.
Kilde: opennet.ru
