Secret Gate
Bramka wydania, która zna Twoje rzeczywiste sekrety: nic nie trafi na produkcję, dopóki nie znajdzie niczego.
- Linux or macOS
- Python 3.9+
- Git hooks
- CI

Co robi
Secret Gate odpowiada na jedno pytanie, zanim cokolwiek opuści Twoje ręce — czy to paczka release zip, kopia dla klienta, push do open source czy następny commit: czy zawiera to jakiś mój sekret? Wie, jakie są Twoje sekrety, ponieważ czyta pliki, w których się znajdują, i nigdy ich nie pokazuje: trafienie wskazuje plik, linię i źródło wartości.
- Twoje dokładne wartości. Każda wartość z plików env, konfiguracji JSON i YAML, plików
.netrcoraz plików kluczy, wyszukiwana w postaci zapisanej, zakodowanej w base64 i w URL. Hasło wyglądające jak zwykłe słowo lub wewnętrzny token bez znanego prefiksu jest wykrywane tak samo jak inne. - Sekrety z maszyn, na których nie działa. Utwórz odciski na laptopie; serwer budowania znajdzie te wartości, nigdy ich nie posiadając.
- Inne maszyny sprawdzają względem własnych sekretów. Pliki trafiają na każdą maszynę przez SSH, są tam skanowane i usuwane. Sekrety nigdy nie wędrują, a maszyna, która nie może odpowiedzieć, blokuje wydanie.
- Kształty, nazwy i szum również. 25 formatów tokenów, Twoje nazwy, hosty, domeny i identyfikatory kont, prywatne adresy IP, osobiste adresy e-mail, numery telefonów, IBAN-y, ścieżki do katalogów domowych oraz losowe ciągi znaków obok nazw sugerujących sekrety.
- Za każdym razem udowadnia swoją skuteczność. Każde skanowanie zaczyna się od umieszczenia kanarków każdego rodzaju; jeśli jakiekolwiek sprawdzenie nie wykryje swojego kanarka, skanowanie nie zostaje uruchomione.
- W miejscach, w których już pracujesz. Foldery, archiwa zip i tar, hook pre-commit lub pre-push w git, kody wyjścia dla CI, raport JSON.
Przetestowane na tym, co dostarczamy
- Każdy zestaw, który sprzedajemy: 8 wydanych archiwów przeskanowanych względem 133 wartości sekretów na naszej maszynie budującej i 16 259 odcisków z naszego laptopa. Wszystkie przeszły, łącznie w 5,4 sekundy.
- Prawdziwy sekret umieszczony w kopii wydania został wykryty w postaci jawnej i zakodowanej w base64, za każdym razem wskazany przez plik, z którego pochodził. Wartość nie pojawiła się nigdzie w wyjściu ani w raporcie.
- Zdalne skanowanie przez SSH sprawdziło wydanie względem 499 wartości sekretów na drugiej maszynie w 1,4 sekundy i wykryło token umieszczony w kopii, która istniała tylko na tej maszynie.
Co zawiera zestaw
Bramka
Cztery sprawdzenia, test własny, skanowanie archiwów i zmian w git staged, czytelny raport oraz raport JSON.
Odciski
Odciski sekretów jednej maszyny, do skanowania na innej, bez samych wartości.
Skanowanie zdalne
Te same pliki sprawdzane na każdej maszynie przechowującej sekrety, wraz z regułami Twojego projektu.
Konfiguracja i CI
Narzędzie do wyszukiwania plików z sekretami, hooki Git i workflow GitHub Actions dla archiwów wydaniowych.
Wymagania
- Linux lub macOS z Pythonem 3.9 lub nowszym; nic do instalacji z pip.
- Git dla hooków, SSH dla skanowania zdalnego.
Warto wiedzieć
- Odczytuje pliki w stanie bieżącym. Sekret już obecny w historii git pozostaje tam: wymień go.
- Archiwa wewnątrz skanowanego folderu nie są otwierane; skanuj każde archiwum osobno.
- Pliki odcisków palców trzymaj tak prywatnie jak sekrety: zawierają pierwsze 4 znaki każdej wartości o długości 16 znaków lub więcej.
Pytania
Czym to się różni od gitleaks lub TruffleHog?
Te narzędzia szukają tego, jak sekrety zwykle wyglądają, i robią to dobrze. Secret Gate zna też Twoje rzeczywiste sekrety: odczytuje Twoje własne pliki z sekretami i szuka tych konkretnych wartości, więc hasło do bazy danych lub wewnętrzny token bez rozpoznawalnego kształtu również zostanie wykryty. Jest zbudowany na jeden moment, przed wysłaniem czegoś, i działa w trybie fail-closed.
Czy wysyła moje sekrety gdziekolwiek?
Nie. Wartości są odczytywane z Twoich plików do pamięci na czas skanowania i nigdy nie są drukowane, zapisywane ani wysyłane; plik odcisków palców, jeśli go utworzysz, zawiera hash i pierwsze 4 znaki każdej wartości. Skanowanie zdalne wysyła pliki, które zamierzasz wysłać, na Twoją własną maszynę; sekrety tej maszyny pozostają na niej.
A co z fałszywymi alarmami?
Wykrycie oznacza „spójrz na to”. Jeśli wszystko jest w porządku, dodaj wąską regułę zezwalającą dla tego typu wykrycia w konfiguracji projektu, na przykład dla własnego adresu wsparcia. Nie ma przełącznika, który wyłącza sprawdzenie.
Czy może skanować moją historię git?
Nie. Sprawdza to, co zamierzasz wysłać: folder, archiwum lub następny commit. Dla sekretu już obecnego w historii, wymień ten sekret.
Zaktualizowano: