FixVibe
Covered by FixVibehigh

API Fuga de claus: riscos i correcció a les aplicacions web modernes

Els secrets codificats en el codi d'interfície o l'historial del repositori permeten als atacants suplantar la identitat dels serveis, accedir a dades privades i incórrer en costos. Aquest article cobreix els riscos de fuites secretes i els passos necessaris per a la neteja i la prevenció.

CWE-798

Impacte

La filtració de secrets, com ara les claus, els testimonis o les credencials API, pot provocar un accés no autoritzat a dades sensibles, la suplantació de la identitat del servei i una pèrdua financera important a causa de l'ús abusiu dels recursos [S1]. Una vegada que un secret s'ha enviat a un repositori públic o s'ha inclòs en una aplicació frontal, s'ha de considerar compromès [S1].

Causa arrel

La causa principal és la inclusió de credencials sensibles directament al codi font o als fitxers de configuració que posteriorment es comprometen al control de versions o es distribueixen al client [S1]. Els desenvolupadors solen codificar les claus per comoditat durant el desenvolupament o inclouen accidentalment fitxers .env a les seves commits [S1].

Correccions concretes

  • Alterar els secrets compromesos: si es filtra un secret, s'ha de revocar i substituir immediatament. Simplement eliminar el secret de la versió actual del codi és insuficient perquè roman a l'historial de control de versions [S1][S2].
  • Utilitzeu variables d'entorn: Emmagatzemeu els secrets en variables d'entorn en lloc de codificar-los. Assegureu-vos que els fitxers .env s'afegeixin a .gitignore per evitar les confirmacions accidentals [S1].
  • Implementar la gestió de secrets: Utilitzeu eines de gestió de secrets o serveis de volta per injectar credencials a l'entorn de l'aplicació en temps d'execució [S1].
  • Burgeu l'historial del dipòsit: si s'ha compromès un secret a Git, utilitzeu eines com git-filter-repo o el BFG Repo-Cleaner per eliminar permanentment les dades sensibles de totes les branques i etiquetes de l'historial del dipòsit [S2].

Com ho prova FixVibe

FixVibe ara inclou això a les exploracions en directe. El secrets.js-bundle-sweep passiu baixa paquets de JavaScript del mateix origen i coincideix amb els patrons de clau, testimoni i credencials coneguts de API amb portes d'entropia i marcadors de posició. Les comprovacions en directe relacionades inspeccionen l'emmagatzematge del navegador, els mapes d'origen, els paquets de client d'autenticació i BaaS i els patrons d'origen de repo GitHub. La reescriptura de l'historial de Git continua sent un pas de reparació; La cobertura en directe de FixVibe se centra en els secrets presents als actius enviats, l'emmagatzematge del navegador i els continguts actuals del repositori.