FixVibe
Covered by FixVibehigh

API Scurgere cheie: riscuri și remediere în aplicațiile web moderne

Secretele codificate în codul frontal sau istoricul depozitului permit atacatorilor să uzurpare identitatea serviciilor, să acceseze date private și să suporte costuri. Acest articol acoperă riscurile de scurgere secretă și pașii necesari pentru curățare și prevenire.

CWE-798

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 .env sunt adăugate la .gitignore pentru 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-repo sau 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.