Token di accesso completo ai repository GitHub del progetto Python

I ricercatori dell'azienda JFrog hanno scoperto all'interno dell'immagine Docker "cabotage-app" un token che fornisce accesso con diritti di amministratore ai repository di Python, PyPI e Python Software Foundation su GitHub. Il token è stato trovato in un file binario "__pycache__/build.cpython-311.pyc" con codice byte precompilato in cache.

Token di accesso completo ai repository GitHub del progetto Python

Secondo quanto comunicato dai rappresentanti del repository PyPI, il token è stato creato nel 2023 per lo sviluppatore ewdurbin (Ee Durbin), che ricopre nella Python Software Foundation il ruolo di direttore dell'infrastruttura. Il token forniva accesso con diritti di amministratore a tutti i repository e alle organizzazioni del progetto, compresi tutti i repository delle organizzazioni pypi, python, psf e pypa. L'immagine Docker problematica con il token è stata pubblicata nel catalogo Docker Hub il 3 marzo 2023 ed è stata rimossa l'11 giugno 2024, rimanendo quindi accessibile per 16 mesi. Il 28 giugno, il token è stato revocato.

È notevole che nei testi originali disponibili, sui quali è stato generato il file problematico con bytecode, non sia presente alcun riferimento al token. L'autore del codice ha spiegato che, durante lo sviluppo dello strumento cabotage-app5 nel suo sistema locale, ha incontrato delle limitazioni nell'intensità di accesso all'API di GitHub mentre eseguiva la funzione di caricamento automatico di file da GitHub. Per aggirare i limiti imposti per le richieste anonime a GitHub, ha temporaneamente aggiunto il proprio token di lavoro nel codice. Prima della pubblicazione del codice scritto, il token è stato rimosso, ma il sviluppatore non ha considerato che il riferimento al token era stato memorizzato nella cache nel file precompilato con bytecode, che è poi finito nell'immagine docker. 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», ):

L'audit delle attività nei repository GitHub condotto dagli sviluppatori Python non ha rivelato tentativi esterni di accesso utilizzando un token esposto. Considerando che dal 2017 GitHub è la piattaforma principale per lo sviluppo di CPython, l'accesso al token da parte di un malintenzionato avrebbe potuto portare a una completa compromissione dell'infrastruttura utilizzata per lo sviluppo di Python e del repository PyPI, con la possibilità di tentativi di integrazione di backdoor in CPython e nel gestore pacchetti PyPI.

L'incidente evidenzia l'importanza di analizzare le perdite non solo nel codice sorgente, nei file di configurazione e nelle variabili d'ambiente, ma anche nei file binari. Nel contesto di Python, si raccomanda agli utenti di prestare attenzione alla presenza di file pyc con bytecode compilato nei progetti scaricati, poiché tali file possono contenere modifiche nascoste, assenti nel codice sorgente.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster