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
.envdatoteke dodane u.gitignorekako 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-repoili 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.
