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

Forscher von JFrog haben in einem Docker-Image namens „cabotage-app“ ein Token gefunden, das Administratorrechte für die 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 dem zwischengespeicherten, vorkompilierten Bytecode gefunden.

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

Laut Angaben von Vertretern des PyPI-Repositorys wurde das Token 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, d.h. es war 16 Monate lang öffentlich zugänglich. Am 28. Juni wurde das Token zurückgezogen.

Bemerkenswert ist, dass in den zugänglichen Quelltexten, auf deren Basis die problematische Datei mit Bytecode generiert wurde, keine Erwähnung des Tokens vorkommt. Der Autor des Codes erklärte, dass er während der Entwicklung des Tools cabotage-app5 in seinem lokalen System auf Beschränkungen der Zugriffshäufigkeit auf die GitHub-API gestoßen sei. Um die für anonyme Anfragen an GitHub vorgesehenen Limits zu umgehen, habe er vorübergehend sein Arbeits-Token in den Code integriert. Vor der Veröffentlichung des Codes wurde das Token entfernt, jedoch berücksichtigte der Entwickler nicht, dass die Erwähnung des Tokens im vorkompilierten Bytecode-File zwischengespeichert wurde, das dann in das Docker-Image gelangte. 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“, ):

Eine von den Entwicklern von Python durchgeführte Prüfung der Aktivitäten in den GitHub-Repositories ergab keine externen Zugriffsversuche mithilfe des offengelegten Tokens. Angesichts der Tatsache, dass GitHub seit 2017 die primäre Plattform für die Entwicklung von CPython ist, hätte das Eindringen des Tokens in die Hände eines Angreifers zu einer vollständigen Kompromittierung der Infrastruktur führen können, die zur Entwicklung von Python und dem PyPI-Repository verwendet wird, sowie zu Versuchen, Backdoors in CPython und den Paketmanager PyPI zu integrieren.

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

Quelle: opennet.ru

Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server 🔥 Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster