impak
Lekkende geheime soos API-sleutels, tokens of geloofsbriewe kan lei tot ongemagtigde toegang tot sensitiewe data, diensnabootsing en aansienlike finansiële verlies weens hulpbronmisbruik [S1]. Sodra 'n geheim aan 'n publieke bewaarplek verbind is of in 'n frontend-toepassing gebundel is, moet dit as gekompromitteerd beskou word [S1].
Oorsaak
Die hoofoorsaak is die insluiting van sensitiewe geloofsbriewe direk in bronkode of konfigurasielêers wat daarna verbind word tot weergawebeheer of aan die kliënt [S1] bedien word. Ontwikkelaars kodeer dikwels sleutels vir gerief tydens ontwikkeling of sluit per ongeluk .env-lêers in hul commits [S1] in.
Betonoplossings
- Draai gekompromitteerde geheime: Indien 'n geheim uitgelek word, moet dit herroep en onmiddellik vervang word. Die verwydering van die geheim van die huidige weergawe van die kode is onvoldoende omdat dit in die weergawebeheergeskiedenis [S1][S2] bly.
- Gebruik omgewingsveranderlikes: Stoor geheime in omgewingsveranderlikes eerder as om dit hard te kodeer. Maak seker dat
.env-lêers by.gitignoregevoeg word om toevallige commits [S1] te voorkom. - Implementeer geheime bestuur: Gebruik toegewyde geheime bestuursnutsmiddels of kluisdienste om geloofsbriewe in die toepassingsomgewing in te spuit tydens looptyd [S1].
- Purge Repository History: As 'n geheim aan Git toegewy is, gebruik gereedskap soos
git-filter-repoof die BFG Repo-Cleaner om die sensitiewe data permanent van alle takke en etikette in die bewaarplekgeskiedenis [S2] te verwyder.
Hoe FixVibe daarvoor toets
FixVibe sluit dit nou by regstreekse skanderings in. Passiewe secrets.js-bundle-sweep laai JavaScript-bundels van dieselfde oorsprong af en pas by bekende API-sleutel-, teken- en geloofspatrone met entropie- en plekhouerhekke. Verwante regstreekse tjeks inspekteer blaaierberging, bronkaarte, auth- en BaaS-kliëntbundels, en GitHub-repo-bronpatrone. Git geskiedenis herskryf bly 'n remediëring stap; FixVibe se regstreekse dekking fokus op geheime teenwoordig in bates wat gestuur word, blaaierberging en huidige repo-inhoud.
