Esploristoj de JFrog malkovris ĵetonon inkluzivitan en la bildo de Docker "cabotage-app", kiu provizas administran aliron al la deponejoj de Python, PyPI kaj Python Software Foundation sur GitHub. La ĵetono estis trovita en la binara dosiero "__pycache__/build.cpython-311.pyc" kun la kompilita bajtkodo konservita en kaŝmemoro.

Laŭ reprezentantoj de la deponejo PyPI, la ĵetono estis kreita en 2023 por la programisto ewdurbin (Ee Durbin), kiu okupas la postenon de infrastrukturdirektoro ĉe la Python Software Foundation. La ĵetono disponigis administran aliron al ĉiuj deponejoj kaj organizoj de la projekto, inkluzive de ĉiuj deponejoj de la pypi, python, psf kaj pypa organizoj. La problema Docker-bildo kun la ĵetono estis publikigita en la dosierujo Docker Hub la 2023-an de marto 11, kaj forigita la 2024-an de junio 16, t.e. 28 monatoj en la publika domeno. La XNUMX-an de junio, la ĵetono estis revokita.
Estas rimarkinde, ke en la disponeblaj fonttekstoj, surbaze de kiuj la problema bajtkoda dosiero estis generita, ne estas mencio pri la ĵetono. La aŭtoro de la kodo klarigis, ke dum la disvolvado de la ilaro cabotage-app5 en sia loka sistemo, li renkontis limigojn pri la intenseco de aliro al la GitHub API kiam li plenumis la funkcion de aŭtomata elŝutado de dosieroj de GitHub, kaj por preteriri. la limoj fiksitaj por anonimaj vokoj al GitHub, li provizore aldonis sian laboran ĵetonon en kodon. Antaŭ publikigado de la skribita kodo, la ĵetono estis forigita, sed la programisto ne konsideris, ke la mencio de la ĵetono estis kaŝita en antaŭkompilita dosiero kun bajtokodo, kiu tiam finiĝis en la docker-bildo. def _fetch_github_file( — github_repository=”posedanto/repo”, ref=”ĉefa”, access_token=Neniu, dosiernomo=”Dockerfile” + github_repository=”posedanto/deponejo”, + ref=”ĉefa”, + access_token=”0d6a9bb5af126f73350a”, + dosiernomo="Dockerfile", ):
Revizio de agado en deponejoj sur GitHub farita de Python-programistoj ne malkaŝis triajn alirprovojn uzante la malkaŝitan ĵetonon. Konsiderante, ke GitHub estas la ĉefa platformo por CPython-disvolviĝo ekde 2017, se la ĵetono falus en la manojn de atakanto, ĝi povus konduki al kompleta kompromiso de la infrastrukturo uzata por la disvolviĝo de Python kaj la deponejo de PyPI, kaj la ebleco provi integri malantaŭajn pordojn en CPython kaj la pakaĵmanaĝeron PyPI.
La okazaĵo montras la gravecon de analizo de likoj ne nur en fontkodo, agordaj dosieroj kaj medio-variabloj, sed ankaŭ en binaraj dosieroj. En la kunteksto de Python, uzantoj ankaŭ konsilas atenti la ĉeeston de pyc-dosieroj kun kompilita bajtkodo en la elŝutitaj projektoj, ĉar ĉi tiuj dosieroj povas enhavi kaŝitajn modifojn, kiuj ne ĉeestas en la fontkodo.
fonto: opennet.ru
