Wpływ
Wyciek sekretów, takich jak klucze, tokeny lub poświadczenia API, może prowadzić do nieautoryzowanego dostępu do wrażliwych danych, podszywania się pod usługi i znacznych strat finansowych w wyniku nadużycia zasobów [S1]. Gdy sekret zostanie przekazany do publicznego repozytorium lub dołączony do aplikacji frontendowej, należy go uznać za przejęty [S1].
Główna przyczyna
Główną przyczyną jest włączenie poufnych danych uwierzytelniających bezpośrednio do kodu źródłowego lub plików konfiguracyjnych, które są następnie przekazywane do kontroli wersji lub udostępniane klientowi [S1]. Programiści często kodują klucze na stałe dla wygody podczas programowania lub przypadkowo dołączają pliki .env do swoich zatwierdzeń [S1].
Poprawki betonu
- Zmieniaj naruszone tajemnice: Jeśli tajemnica wycieknie, należy ją natychmiast unieważnić i zastąpić nową. Samo usunięcie sekretu z bieżącej wersji kodu jest niewystarczające, ponieważ pozostaje on w historii kontroli wersji [S1][S2].
- Używaj zmiennych środowiskowych: Przechowuj sekrety w zmiennych środowiskowych, zamiast je kodować na stałe. Upewnij się, że pliki
.envzostały dodane do.gitignore, aby zapobiec przypadkowym zatwierdzeniom [S1]. - Wdrożenie zarządzania sekretami: Użyj dedykowanych narzędzi do zarządzania sekretami lub usług skarbca, aby wprowadzić poświadczenia do środowiska aplikacji w czasie wykonywania [S1].
- Wyczyść historię repozytorium: Jeśli w Git został przekazany sekret, użyj narzędzi takich jak
git-filter-repolub BFG Repo-Cleaner, aby trwale usunąć wrażliwe dane ze wszystkich gałęzi i znaczników w historii repozytorium [S2].
Jak FixVibe to testuje
FixVibe uwzględnia to teraz w skanach na żywo. Pasywny secrets.js-bundle-sweep pobiera pakiety JavaScript tego samego pochodzenia i dopasowuje znane klucze, tokeny i wzorce poświadczeń API z bramkami entropii i symbolami zastępczymi. Powiązane kontrole na żywo sprawdzają pamięć przeglądarki, mapy źródłowe, pakiety klientów uwierzytelniania i BaaS oraz wzorce źródeł repo GitHub. Przepisanie historii Gita pozostaje krokiem naprawczym; Transmisja na żywo FixVibe koncentruje się na tajemnicach obecnych w wysyłanych zasobach, pamięci przeglądarki i bieżącej zawartości repozytorium.
