Curenje tokena za pun pristup GitHub repozitorijima projekta Python.

Raziskovalci podjetja JFrog so v Docker sliki 'cabotage-app' odkrili žeton, ki omogoča dostop z administrativnimi pravicami do repozitorijev Python, PyPI in Python Software Foundation na GitHubu. Žeton je bil najden v binarni datoteki '__pycache__/build.cpython-311.pyc' s predpomnjenim skompiliranim bajtkodom.

Curenje tokena za pun pristup GitHub repozitorijima projekta Python.

Po navedbah predstavnikov repozitorija PyPI je bil žeton ustvarjen leta 2023 za razvijalca ewdurbin (Ee Durbin), ki zaseda mesto direktorja za infrastrukturo v organizaciji Python Software Foundation. Žeton je omogočal dostop z administrativnimi pravicami do vseh repozitorijev in organizacij projekta, vključno z vsemi repozitoriji organizacij pypi, python, psf in pypa. Sporná Docker slika z žetonom je bila objavljena v katalogu Docker Hub 3. marca 2023 in odstranjena 11. junija 2024, torej je bila 16 mesecev javno dostopna. Žeton je bil umaknjen 28. junija.

Zanimivo je, da v razpoložljivih izvornih besedilih, na osnovi katerih je bila ustvarjena sporna datoteka z bajtkodom, ni omembe žetona. Avtor kode je pojasnil, da se je med razvojem orodja cabotage-app5 na svojem lokalnem sistemu srečal z omejitvami intenzivnosti dostopa do API-ja GitHub pri izvajanju funkcije avtomatiziranega nalaganja datotek iz GitHuba, in da bi obšel omejitve, ki so bile postavljene za anonimne poizvedbe na GitHubu, je začasno dodal svoj delovni žeton v kodo. Pred objavo napisane kode je bil žeton odstranjen, a razvijalec ni upošteval, da je omemba žetona ostala v predkompiliirani datoteki z bajtkodom, ki je nato prišla v docker sliko. 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', ):

Izvedeni auditi razvijalcev Python glede aktivnosti v repozitorijih na GitHubu niso razkrili morebitnih zunanjih poskusov dostopa z uporabo odkritega žetona. Glede na to, da je GitHub od leta 2017 primarna platforma za razvoj CPython, bi dostop do žetona z roke zlonamerne osebe lahko povzročil popolno kompromitacijo infrastrukture, ki se uporablja za razvoj Python in repozitorija PyPI, ter možnosti poskusa integracije backdoor-ov v CPython in upravitelja paketov PyPI.

Incident pokazuje važnost analize curenja ne samo u izvor kodu, datotekama konfiguracije i varijablama okruženja, već i u binarnim datotekama. U kontekstu Pythona, korisnicima se također preporučuje da obrate pažnju na prisutnost pyc datoteka sa kompajliranom bajtkodom u preuzetim projektima, jer ove datoteke mogu sadržavati skrivene modifikacije koje nedostaju u izvor kodu.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster