FixVibe
Covered by FixVibehigh

API Curenje ključa: rizici i sanacija u modernim web aplikacijama

Čvrsto kodirane tajne u frontend kodu ili historiji spremišta omogućavaju napadačima da lažno predstavljaju usluge, pristupe privatnim podacima i snose troškove. Ovaj članak pokriva rizike od tajnog curenja i potrebne korake za čišćenje i prevenciju.

CWE-798

Impact

Propuštanje tajni kao što su API ključevi, tokeni ili vjerodajnice može dovesti do neovlaštenog pristupa osjetljivim podacima, lažnog predstavljanja usluge i značajnog finansijskog gubitka zbog zloupotrebe resursa [S1]. Jednom kada se tajna preda javnom spremištu ili ukomponira u prednju aplikaciju, treba je smatrati ugroženom [S1].

Osnovni uzrok

Osnovni uzrok je uključivanje osjetljivih vjerodajnica direktno u izvorni kod ili konfiguracijske datoteke koje se naknadno predaju kontroli verzija ili služe klijentu [S1]. Programeri često tvrdo kodiraju ključeve radi praktičnosti tokom razvoja ili slučajno uključuju .env datoteke u svoje urezivanje [S1].

Betonski popravci

  • Rotirajte ugrožene tajne: Ako je tajna procurila, mora se odmah opozvati i zamijeniti. Jednostavno uklanjanje tajne iz trenutne verzije koda nije dovoljno jer ostaje u istoriji kontrole verzija [S1][S2].
  • Koristite varijable okruženja: Čuvajte tajne u varijablama okruženja umjesto da ih čvrsto kodirate. Osigurajte da su datoteke .env dodane u .gitignore da spriječite slučajna urezivanja [S1].
  • Implementirajte tajno upravljanje: Koristite namjenske alate za upravljanje tajnim podacima ili usluge trezora za ubacivanje vjerodajnica u okruženje aplikacije u vrijeme izvođenja [S1].
  • Očisti historiju spremišta: Ako je tajna predana Gitu, koristite alate poput git-filter-repo ili BFG Repo-Cleaner da trajno uklonite osjetljive podatke iz svih grana i oznaka u historiji spremišta ZXCVFIXVIBETOKEN1ZX.

Kako FixVibe testira za to

FixVibe sada uključuje ovo u skeniranje uživo. Pasivni secrets.js-bundle-sweep preuzima JavaScript pakete istog porijekla i odgovara poznatim API obrascima ključa, tokena i vjerodajnica s entropijom i kapijama za čuvanje mjesta. Povezane provjere uživo provjeravaju pohranu pretraživača, izvorne mape, auth i BaaS klijentske pakete i GitHub izvorne obrasce repo. Ponovno pisanje Git historije ostaje korak sanacije; FixVibe prenosi uživo fokusira se na tajne prisutne u isporučenoj imovini, skladištu pretraživača i trenutnom repo sadržaju.