Inverkan
Läckande hemligheter som API-nycklar, tokens eller autentiseringsuppgifter kan leda till obehörig åtkomst till känsliga data, tjänsteidentitet och betydande ekonomisk förlust på grund av resursmissbruk [S1]. När en hemlighet väl har begåtts till ett offentligt arkiv eller paketerats i en frontend-applikation, bör den anses vara komprometterad [S1].
Rotorsak
Grundorsaken är inkluderingen av känsliga referenser direkt i källkoden eller konfigurationsfilerna som sedan har överlåtits till versionskontroll eller serveras till klienten [S1]. Utvecklare hårdkodar ofta nycklar för att underlätta utvecklingen eller inkluderar av misstag .env-filer i sina commits [S1].
Betongfixar
- Rotera komprometterade hemligheter: Om en hemlighet läcker måste den återkallas och ersättas omedelbart. Att helt enkelt ta bort hemligheten från den aktuella versionen av koden är otillräckligt eftersom den finns kvar i versionskontrollhistoriken [S1][S2].
- Använd miljövariabler: Lagra hemligheter i miljövariabler istället för att hårdkoda dem. Se till att
.env-filer läggs till.gitignoreför att förhindra oavsiktliga commits [S1]. - Implementera hemlig hantering: Använd dedikerade hemliga hanteringsverktyg eller valvtjänster för att injicera referenser i applikationsmiljön vid körning [S1].
- Purge Repository History: Om en hemlighet har begåtts till Git, använd verktyg som
git-filter-repoeller BFG Repo-Cleaner för att permanent ta bort känslig data från alla grenar och taggar i arkivhistoriken [S2].
Hur FixVibe testar det
FixVibe inkluderar nu detta i live-skanningar. Passiv secrets.js-bundle-sweep laddar ner JavaScript-paket med samma ursprung och matchar kända API-nyckel-, token- och autentiseringsmönster med entropi- och platshållargrindar. Relaterade livekontroller inspekterar webbläsarlagring, källkartor, auth- och BaaS-klientpaket och GitHub-reposkällmönster. Omskrivning av Git-historik förblir ett åtgärdssteg; FixVibes livebevakning fokuserar på hemligheter som finns i levererade tillgångar, webbläsarlagring och aktuellt repoinnehåll.
