Token-Leck für vollständigen Zugriff auf die GitHub-Repositories des Python-Projekts

Forscher von JFrog haben im Docker-Image «cabotage-app» ein Token entdeckt, das Administratorzugang zu den Repositories von Python, PyPI und der Python Software Foundation auf GitHub gewährt. Das Token wurde in der Binärdatei «__pycache__/build.cpython-311.pyc» mit kompilierter Bytecode-Caching gefunden.

Token-Leck für vollständigen Zugriff auf die GitHub-Repositories des Python-Projekts

Laut Angaben der Vertreter des PyPI-Repositorys wurde das Token im Jahr 2023 für den Entwickler ewdurbin (Ee Durbin) erstellt, der in der Organisation Python Software Foundation die Position des Direktors für Infrastruktur innehat. Das Token gewährte Administratorzugang zu allen Repositories und Organisationen des Projekts, einschließlich aller Repositories der Organisationen pypi, python, psf und pypa. Das problematische Docker-Image mit dem Token wurde am 3. März 2023 im Docker Hub veröffentlicht und am 11. Juni 2024 entfernt, also 16 Monate lang öffentlich zugänglich. Am 28. Juni wurde das Token zurückgezogen.

Es ist bemerkenswert, dass in den verfügbaren Quelltexten, auf deren Basis die problematische Bytecode-Datei generiert wurde, keine Erwähnung des Tokens zu finden ist. Der Autor des Codes erklärte, dass er während der Entwicklung des Tools cabotage-app5 auf seinem lokalen System auf Beschränkungen der Zugriffsintensität der GitHub-API stieß, als er die Funktion zur automatisierten Dateihochladung von GitHub ausführte. Um die für anonyme Anfragen an GitHub festgelegten Limits zu umgehen, hatte er vorübergehend sein Arbeits-token in den Code eingefügt. Vor der Veröffentlichung des geschriebenen Codes wurde das Token entfernt, jedoch berücksichtigte der Entwickler nicht, dass die Erwähnung des Tokens in der vorcompilierten Bytecode-Datei zwischengespeichert wurde, die anschließend in das Docker-Image geriet. 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", ):

Die von den Python-Entwicklern durchgeführte Überprüfung der Aktivität in Repositories auf GitHub hat keine externen Zugriffsversuche mit dem offengelegten Token festgestellt. Angesichts der Tatsache, dass GitHub seit 2017 die primäre Plattform für die Entwicklung von CPython ist, hätte der Zugang des Tokens durch einen Angreifer zur vollständigen Kompromittierung der Infrastruktur führen können, die für die Entwicklung von Python und dem PyPI-Repository verwendet wird, sowie zu Integrationsversuchen von Backdoors in CPython und den Paketmanager PyPI.

Der Vorfall zeigt die Bedeutung der Analyse von Leaks nicht nur im Quellcode, in Konfigurationsdateien und Umgebungsvariablen, sondern auch in Binärdateien. Im Kontext von Python wird den Nutzern auch geraten, auf das Vorhandensein von pyc-Dateien mit kompiliertem Bytecode in heruntergeladenen Projekten zu achten, da diese Dateien versteckte Modifikationen enthalten können, die im Quellcode fehlen.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster