
Wprowadzenie do problemu / definicja
Skanowanie sekretów to jeden z kluczowych elementów nowoczesnego bezpieczeństwa aplikacji. Narzędzia tego typu analizują repozytoria kodu, pliki i katalogi w poszukiwaniu wrażliwych danych, takich jak klucze API, tokeny dostępowe, hasła, prywatne klucze kryptograficzne czy poświadczenia do usług chmurowych. Nawet pojedynczy ujawniony sekret może otworzyć drogę do przejęcia kont, eskalacji uprawnień, naruszenia danych lub kompromitacji środowiska produkcyjnego.
Na tym tle pojawia się Betterleaks — nowe narzędzie open source stworzone z myślą o zastąpieniu Gitleaks. Projekt ma poprawić skuteczność wykrywania, ograniczyć liczbę fałszywych alarmów i uprościć wdrożenie w środowiskach DevSecOps.
W skrócie
Betterleaks to otwartoźródłowy skaner sekretów rozwijany jako nowocześniejsza kontynuacja Gitleaks. Za projektem stoi Zach Rice, czyli twórca pierwotnego narzędzia, a nowa inicjatywa ma zaoferować bardziej elastyczną logikę reguł, wyższą wydajność i lepszą detekcję trudniejszych przypadków wycieku poświadczeń.
- wykorzystuje walidację reguł opartą na CEL,
- stosuje tokenizację BPE zamiast klasycznej analizy entropii,
- jest napisany natywnie w Go bez zależności od CGO i Hyperscan,
- obsługuje wielokrotnie kodowane sekrety,
- ma działać szybciej i dokładniej w dużych repozytoriach.
Kontekst / historia
Problem wycieku sekretów z kodu źródłowego od lat pozostaje jednym z najczęstszych błędów popełnianych w procesie tworzenia i utrzymania aplikacji. Wrażliwe dane trafiają do repozytoriów przez pomyłkę, pośpiech, niewłaściwe praktyki w CI/CD albo używanie plików konfiguracyjnych i środowiskowych jako tymczasowego magazynu poświadczeń. Atakujący od dawna automatyzują wyszukiwanie takich danych w publicznych i źle zabezpieczonych zasobach.
Przez długi czas Gitleaks należało do najpopularniejszych narzędzi wykorzystywanych do wykrywania tego typu problemów. Betterleaks powstał jako niezależny projekt rozwijany na licencji MIT, z ambicją przejęcia tej roli i rozwinięcia koncepcji secret scanningu w kierunku większej precyzji oraz nowocześniejszej architektury.
Analiza techniczna
Najważniejszą zmianą w Betterleaks jest podejście do reguł wykrywania. Zamiast opierać się wyłącznie na tradycyjnych metodach dopasowań i heurystykach, narzędzie wykorzystuje CEL, czyli Common Expression Language. Dzięki temu możliwe jest bardziej precyzyjne definiowanie logiki walidacji i skuteczniejsze odróżnianie realnych sekretów od ciągów znaków, które jedynie je przypominają.
Drugą istotną innowacją jest zastosowanie Token Efficiency Scanning bazującego na tokenizacji BPE. To odejście od klasycznego modelu opartego na entropii, który przez lata był standardem w wielu skanerach. Analiza entropii dobrze wykrywa losowe ciągi znaków, ale często generuje zarówno false positive, jak i false negative. Tokenizacja ma poprawiać wykrywalność niestandardowych tokenów i lepiej radzić sobie z nowoczesnymi formatami sekretów.
Ważnym atutem operacyjnym jest również implementacja w czystym Go. Brak zależności od CGO i Hyperscan upraszcza budowanie binariów, dystrybucję i uruchamianie narzędzia w różnych środowiskach, w tym w kontenerach, pipeline’ach CI/CD i systemach wieloplatformowych. Dla zespołów platformowych oznacza to mniejszą złożoność utrzymania.
Betterleaks ma także automatycznie wykrywać sekrety zakodowane wielokrotnie, na przykład po podwójnym lub potrójnym kodowaniu. To szczególnie ważne w sytuacjach, gdy poświadczenia są ukryte w zserializowanych strukturach, osadzone w danych konfiguracyjnych albo przekształcone do postaci trudniejszej do wykrycia przez prostsze mechanizmy. Rozszerzony zestaw reguł dla wielu dostawców usług i równoległa analiza repozytoriów Git mają dodatkowo poprawić szybkość skanowania większych baz kodu.
Istotne są również zapowiedzi dalszego rozwoju projektu. W planach znajdują się kolejne źródła danych poza repozytoriami Git i plikami, analiza wspomagana przez modele językowe, dodatkowe filtry detekcji, automatyczne unieważnianie sekretów przez API dostawców oraz mapowanie uprawnień. Jeśli te funkcje zostaną wdrożone w dojrzałej formie, Betterleaks może stać się nie tylko skanerem, ale elementem szerszej automatyzacji reakcji na incydenty związane z wyciekiem poświadczeń.
Konsekwencje / ryzyko
Pojawienie się Betterleaks nie oznacza incydentu, ale odpowiada na bardzo realny problem bezpieczeństwa. Wycieki sekretów należą do najbardziej kosztownych i najczęściej ignorowanych zagrożeń w cyklu życia oprogramowania. Dotyczą zarówno repozytoriów publicznych, jak i prywatnych, gdzie poświadczenia mogą pozostawać niewykryte przez długi czas.
Skutki ujawnienia sekretów są poważne. Mogą obejmować przejęcie zasobów chmurowych, nieautoryzowany dostęp do systemów produkcyjnych, kradzież danych, wykorzystanie infrastruktury do dalszych ataków, a także problemy zgodności regulacyjnej. Dodatkowym wyzwaniem jest jakość detekcji. Jeśli skaner generuje zbyt wiele błędnych alarmów, zespoły zaczynają ignorować wyniki. Jeśli z kolei wykrywalność jest zbyt niska, rośnie ryzyko przeoczenia rzeczywistego zagrożenia.
W tym kontekście Betterleaks może zainteresować organizacje, które utrzymują rozbudowane środowiska developerskie, liczne repozytoria, monorepo i intensywne pipeline’y CI/CD. Ma to szczególne znaczenie tam, gdzie kod powstaje szybko, także z udziałem narzędzi AI, a czas od napisania do wdrożenia jest bardzo krótki.
Rekomendacje
Organizacje powinny traktować skanowanie sekretów jako obowiązkową kontrolę bezpieczeństwa realizowaną na wielu etapach jednocześnie. Samo jednorazowe przeskanowanie repozytorium nie wystarcza, ponieważ nowe sekrety mogą pojawiać się wraz z kolejnymi commitami, zmianami konfiguracji i automatyzacją procesów dostarczania oprogramowania.
- uruchamiać skanowanie przed każdym commitem oraz przy każdym merge request lub pull request,
- analizować nie tylko aktualny stan repozytorium, ale także pełną historię Git,
- regularnie rotować klucze, tokeny i poświadczenia, nawet po niewielkich incydentach,
- utrzymywać centralny proces unieważniania i odtwarzania sekretów,
- ograniczać uprawnienia zgodnie z zasadą najmniejszych uprawnień,
- zastępować stałe sekrety krótkotrwałymi tokenami i federacją tożsamości tam, gdzie to możliwe,
- szkolić zespoły developerskie z bezpiecznego zarządzania poświadczeniami,
- korzystać z menedżerów sekretów zamiast przechowywania danych w kodzie, plikach środowiskowych i skryptach wdrożeniowych.
Warto też regularnie przeglądać reguły detekcji pod kątem używanych dostawców chmurowych, narzędzi CI/CD, platform SaaS oraz wewnętrznych systemów. Nawet najlepszy silnik nie zapewni skuteczności, jeśli zestaw reguł nie nadąża za zmianami w środowisku.
Podsumowanie
Betterleaks to nowy projekt open source, który ma ambicję stać się następcą Gitleaks i jednocześnie podnieść standard wykrywania sekretów w zespołach DevSecOps. Kluczowe elementy wyróżniające narzędzie to walidacja reguł oparta na CEL, skanowanie z użyciem tokenizacji BPE, uproszczona implementacja w Go oraz lepsza obsługa złożonych przypadków ukrywania poświadczeń.
Dla zespołów bezpieczeństwa i inżynierów platformowych to wyraźny sygnał, że obszar secret scanningu nadal szybko się rozwija. Niezależnie od wyboru konkretnego narzędzia najważniejsze pozostaje jednak podejście procesowe: ciągłe wykrywanie, szybka rotacja poświadczeń, minimalizacja uprawnień i automatyzacja reakcji. To właśnie sekrety wciąż należą do najłatwiejszych do przeoczenia, a zarazem najgroźniejszych wektorów kompromitacji.