FixVibe
Covered by FixVibehigh

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

Tvrdo kodirane tajne u kodu sučelja ili povijesti repozitorija omogućuju napadačima lažno predstavljanje usluga, pristup privatnim podacima i stvaranje troškova. Ovaj članak pokriva rizike od curenja tajne i potrebne korake za čišćenje i prevenciju.

CWE-798

Utjecaj

Curenje tajni kao što su API ključevi, tokeni ili vjerodajnice mogu dovesti do neovlaštenog pristupa osjetljivim podacima, lažnog predstavljanja usluge i značajnog financijskog gubitka zbog zlouporabe resursa [S1]. Nakon što je tajna predana javnom repozitoriju ili spojena u sučelnu aplikaciju, treba je smatrati ugroženom [S1].

Glavni uzrok

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

Konkretni popravci

  • Rotirajte ugrožene tajne: Ako tajna procuri, mora se odmah opozvati i zamijeniti. Jednostavno uklanjanje tajne iz trenutne verzije koda nije dovoljno jer ona ostaje u povijesti kontrole verzije [S1][S2].
  • Koristite varijable okruženja: Pohranite tajne u varijable okruženja umjesto da ih tvrdo kodirate. Osigurajte da su .env datoteke dodane u .gitignore kako biste spriječili slučajna predaja [S1].
  • Implementirajte tajno upravljanje: Koristite namjenske alate za tajno upravljanje ili usluge trezora za ubacivanje vjerodajnica u okruženje aplikacije tijekom izvođenja [S1].
  • Očisti povijest repozitorija: Ako je tajna predana Gitu, upotrijebite alate kao što je git-filter-repo ili BFG Repo-Cleaner za trajno uklanjanje osjetljivih podataka iz svih grana i oznaka u povijesti repozitorija [S2].

Kako FixVibe to testira

FixVibe sada uključuje ovo u skeniranje uživo. Pasivni secrets.js-bundle-sweep preuzima JavaScript pakete istog porijekla i podudara poznati API ključ, token i uzorke vjerodajnica s vratima entropije i rezerviranog mjesta. Povezane provjere uživo provjeravaju pohranu preglednika, izvorne mape, auth i BaaS klijentske pakete i GitHub repo izvorne obrasce. Ponovno pisanje Git povijesti ostaje korak popravka; FixVibe prijenos uživo usredotočen je na tajne prisutne u isporučenoj imovini, pohrani preglednika i trenutnom repo sadržaju.