L'azienda Truffle Security ha pubblicato i risultati di un'analisi delle fughe di dati nei repository ospitati su GitHub. A seguito della scansione di 224 milioni di repository, contenenti 58 miliardi di file, sono state identificate 543.000 credenziali uniche (token, chiavi e password) ancora attive. Le credenziali attive erano presenti nei repository da almeno un anno, poiché nello studio è stato utilizzato un campione dello stato di GitHub del 7 agosto dello scorso anno, e la verifica dell'attualità delle credenziali, realizzata tramite tentativi di accesso all'API, ai servizi di rete e agli host, è stata effettuata alla fine di luglio di quest'anno.
Il tempo mediano di permanenza delle credenziali in accesso pubblico è stimato in 784 giorni, con le chiavi di accesso più vecchie ancora attive risalenti al 2009. Circa 200.000 delle credenziali attive trovate sono state posizionate nei repository dopo che è stato attivato di default su GitHub il meccanismo per bloccare le fughe di dati riservati e i token di accesso, che esegue controlli durante la fase di invio delle richieste push. Le fughe non sono state riconosciute a causa del posizionamento in formati non supportati dalla protezione implementata, nonostante l'attivazione dei filtri abbia ridotto di circa la metà le fughe di credenziali riconosciute.
È emerso che GitHub rileva con successo le fughe di token verso servizi comuni, come GitHub, AWS, Slack, SendGrid, Stripe e GCP, ma ignora i parametri di connessione al database lasciati nel codice, le chiavi di accesso all'API di Google e le chiavi private. I parametri di connessione al database e le chiavi private non vengono bloccati di default per evitare falsi positivi. Le chiavi di accesso all'API di Google non sono bloccate poiché hanno il prefisso AIzaSy, come le chiavi pubbliche di Google Maps destinate all'integrazione nelle pagine web.
Per quanto riguarda le credenziali trovate che si sono rivelate non funzionanti, la maggior parte di esse riguarda i token di accesso e le chiavi collegate a servizi che offrono meccanismi di revoca. Ad esempio, su 101886 token NPM, solo uno si è rivelato valido (0,001%), su 73048 token GitHub — 260 (0,35%), e su 30437 token di Hugging Face — 15 (0,05%). Per le chiavi Stripe, il tasso di sopravvivenza è stato del 4%, AWS — dell'8%, GCP — dell'8%, Slack — del 2%, GitLab — dello 0,64%. A titolo di confronto, su 12985 parametri di connessione a database PostgreSQL, sono rimasti attivi 11465 (88%), su 2421 parametri di connessione a MySQL — 1806 (74%), su 126963 account di servizio Google Cloud — 69041 (54%), su 3790 token di Docker Hub — 1244 (33%), e su 22800 chiavi di SendGrid — 9189 (40%).
In precedenza, i ricercatori hanno esaminato circa 7,5 PB di dati per addestrare modelli AI, distribuiti tramite Hugging Face, e hanno identificato 221mila credenziali valide in essi.
Fonte: opennet.ru
