Impact
Scurgerile de secrete, cum ar fi cheile API, jetoanele sau acreditările pot duce la acces neautorizat la date sensibile, uzurparea identității serviciului și pierderi financiare semnificative din cauza abuzului de resurse [S1]. Odată ce un secret este trimis într-un depozit public sau inclus într-o aplicație frontend, ar trebui să fie considerat compromis [S1].
Cauza fundamentală
Cauza principală este includerea acreditărilor sensibile direct în codul sursă sau fișierele de configurare care sunt ulterior angajate pentru controlul versiunilor sau sunt transmise clientului [S1]. Dezvoltatorii codifică adesea cheile pentru comoditate în timpul dezvoltării sau includ accidental fișiere .env în comit-urile lor [S1].
Remedieri concrete
- Rotire secrete compromise: Dacă un secret este scurs, acesta trebuie revocat și înlocuit imediat. Pur și simplu eliminarea secretului din versiunea curentă a codului este insuficientă deoarece acesta rămâne în istoricul de control al versiunilor [S1][S2].
- Utilizați variabilele de mediu: stocați secretele în variabilele de mediu în loc să le codificați. Asigurați-vă că fișierele
.envsunt adăugate la.gitignorepentru a preveni comiterile accidentale [S1]. - Implementați gestionarea secretelor: utilizați instrumente dedicate de gestionare a secretelor sau servicii de seif pentru a injecta acreditări în mediul aplicației în timpul execuției [S1].
- Ștergeți istoricul depozitului: dacă un secret a fost trimis în Git, utilizați instrumente precum
git-filter-reposau BFG Repo-Cleaner pentru a elimina definitiv datele sensibile din toate ramurile și etichetele din istoricul depozitului [S2].
Cum testează FixVibe pentru aceasta
FixVibe include acum acest lucru în scanările live. secrets.js-bundle-sweep pasiv descarcă pachete JavaScript de aceeași origine și se potrivește cu cheile, simbolurile și modelele de acreditări cunoscute API cu porți de entropie și substituenți. Verificările în direct asociate inspectează stocarea browserului, hărțile sursă, pachetele de autentificare și client BaaS și modelele de sursă repo GitHub. Rescrierea istoricului Git rămâne un pas de remediere; Acoperirea live a FixVibe se concentrează pe secretele prezente în activele livrate, stocarea în browser și conținutul actual al depozitului.
