De ce se scurg secretele · Lecția 1 din 11 · 5 minute
De ce se scurg secretele
Un secret e orice cheie care deschide ceva ce nu vrei să deschidă un străin: cheia de la baza de date, cheia secretă de la Stripe, tokenul de la un serviciu plătit. GitGuardian a găsit 28,65 de milioane de secrete noi pe GitHub public doar în 2025, cel mai mare salt anual de până acum. Lecția asta arată de ce se întâmplă atât de des, mai ales de când codul e scris cu AI.
Ce e, de fapt, un secret
Nu tot ce arată ca o cheie e un secret. Unele identificatoare sunt publice prin proiectare, adică sigure chiar dacă le vede oricine: cheia publică de la Supabase (fosta „anon”), configurarea Firebase din pagină, id-ul aplicației dintr-o adresă. Ele nu deschid nimic singure, atâta timp cât regulile din spate sunt corecte.
Secret adevărat e altceva: cheia care ocolește orice regulă și îți dă acces total. Cheia secretă de la Supabase (fosta „service_role”) trece peste toate politicile de acces. Cheia secretă de la Stripe poate muta bani. Șirul de conexiune la baza de date deschide totul. Un token de infrastructură poate șterge servere. Cursul ăsta e despre a nu lăsa aceste chei să ajungă unde le vede altcineva.
Cât de mare e problema, cu cifre
GitGuardian scanează depozitele publice de pe GitHub și numără secretele expuse. În raportul din 2025 găsise 23,8 de milioane de secrete noi într-un an, cu 4,6% dintre depozitele publice și 35% dintre cele private conținând cel puțin un secret. În raportul din 2026 cifra a urcat la 28,65 de milioane, o creștere de circa 20%, cea mai mare de la an la an.
Detaliul care ne interesează aici: cheile pentru servicii AI au crescut cu 81% într-un singur an, iar commiturile făcute cu ajutorul lui Claude Code scurgeau un secret în 3,2% din cazuri, față de 1,5% media. Un studiu separat pe circa 20.000 de depozite cu GitHub Copilot a găsit 6,4% cu cel puțin un secret scurs, față de 4,6% media, adică 40% mai mult. Codul scris repede, cu AI, scurge mai multe secrete.

De ce tocmai acum
Sunt câteva motive care se adună. Uneltele de vibe coding pun deseori cheia direct în cod ca demonstrația să meargă din prima. Prefixele publice de framework, pe care le vezi în lecția a treia, trimit valoarea în browser fără să te avertizeze zgomotos. Iar mulți lipesc cheile chiar în conversația cu agentul AI, de unde pot ajunge, printr-o greșeală de configurare, la alți oameni. La Lovable, o regresie din 2026 a redeschis, pentru proiectele publice, istoricul de chat în care utilizatorii lipiseră adesea chei și parole.
Cele trei drumuri prin care iese o cheie
În codul trimis la browser
Cheia e pusă cu un prefix public sau scrisă direct în frontend, deci ajunge în fișierele pe care le poate deschide oricine, din browser.
Într-un commit pe GitHub
Un fișier `.env` sau o cheie hardcodată intră în istoricul git. Chiar dacă o ștergi mai târziu, rămâne în istoric.
În chatul cu agentul
Lipești cheia în conversația cu unealta AI ca să o ajuți. De acolo poate ajunge, printr-o greșeală de platformă, la alți oameni.
Un exemplu concret al cât de mult contează timpul: xAI a avut o cheie API privată expusă pe GitHub timp de două luni. Nu a fost o spargere sofisticată, a fost o cheie lăsată la vedere, prea mult timp.
Cheia publică nu e o breșă
De reținut
Un secret e cheia care dă acces real (baza de date, Stripe, service_role), nu identificatorul public (cheia anon, configurarea Firebase).
GitGuardian: 28,65 de milioane de secrete noi pe GitHub public în 2025, plus 81% mai multe chei pentru servicii AI decât în anul anterior.
Codul scris cu AI scurge mai multe secrete: 3,2% din commiturile cu Claude Code și 6,4% din depozitele cu Copilot, față de 1,5-4,6% media.
Cheia iese pe trei drumuri: în browser, într-un commit git sau în chatul cu agentul. Boții o găsesc în secunde.