Secret Gate
Un prag de lansare care îți cunoaște secretele reale: nimic nu este publicat până nu găsește nimic.
- Linux or macOS
- Python 3.9+
- Git hooks
- CI

Ce face
Secret Gate răspunde la o singură întrebare înainte ca orice să părăsească mâinile tale, fie că este vorba de un zip de lansare, de o copie pentru client, de un push open-source sau de următorul commit: conține acest lucru un secret al meu? Știe care sunt secretele tale, pentru că citește fișierele în care se află și nu afișează niciodată vreunul: o constatare indică fișierul, linia și proveniența valorii.
- Valorile tale exacte. Fiecare valoare din fișierele tale env, din configurațiile JSON și YAML, din fișierele
.netrcși din fișierele de chei, căutată așa cum este scrisă, codificată base64 și codificată URL. O parolă care arată ca un cuvânt obișnuit sau un token intern fără prefix cunoscut este detectată la fel ca oricare alta. - Secrete de pe mașini pe care nu rulează. Generează amprente pe laptopul tău; serverul de build găsește acele valori fără să le dețină vreodată.
- Alte mașini verifică față de propriile secrete. Fișierele sunt trimise către fiecare mașină prin SSH, scanate acolo și șterse. Secretele nu se mută niciodată, iar o mașină care nu poate răspunde blochează lansarea.
- Forme, nume și zgomot de fundal, de asemenea. 25 de formate de token, numele, gazdele, domeniile și ID-urile tale de cont, adrese IP private, adrese de e-mail personale, numere de telefon, IBAN-uri, căi din folderul personal și șiruri aleatorii lângă nume cu aspect de secret.
- Se dovedește de fiecare dată. Fiecare scanare începe prin plantarea de canari de toate tipurile; dacă vreo verificare ratează canarul său, scanarea nu rulează.
- Acolo unde lucrezi deja. Foldere, arhive zip și tar, un hook git pre-commit sau pre-push, coduri de ieșire pentru CI, un raport JSON.
Testat pe ceea ce livrăm
- Fiecare kit pe care îl vindem: cele 8 arhive lansate scanate față de cele 133 de valori secrete de pe mașina noastră de build și 16.259 de amprente de pe laptopul nostru. Toate au trecut, în 5,4 secunde împreună.
- Un secret real plantat într-o copie de lansare a fost detectat în clar și codificat base64, fiind numit de fiecare dată fișierul din care provenea. Valoarea nu a apărut nicăieri în ieșire sau în raport.
- O scanare la distanță prin SSH a verificat o lansare față de cele 499 de valori secrete ale unei a doua mașini în 1,4 secunde și a detectat un token plantat într-o copie care exista doar pe acea mașină.
Ce conține
Poarta
Cele patru verificări, auto-testul, scanarea arhivelor și a fișierelor din staging git, un raport lizibil și unul JSON.
Amprente
Amprente ale secretele unei mașini, pentru o scanare pe alta, fără valori.
Scanări de la distanță
Aceleași fișiere verificate pe fiecare mașină care conține secrete, împreună cu regulile proiectului tău.
Configurare și CI
Un detector pentru fișierele tale cu secrete, git hooks și un workflow GitHub Actions pentru arhivele de lansare.
Cerințe
- Linux sau macOS cu Python 3.9 sau o versiune mai nouă; nimic de instalat din pip.
- Git pentru hooks, SSH pentru scanările de la distanță.
Bine de știut
- Citește fișierele așa cum sunt acum. Un secret deja în istoricul git rămâne acolo: rotește-l.
- Arhivele dintr-un folder scanat nu sunt deschise; scanează fiecare arhivă.
- Păstrează fișierele de amprentă la fel de private ca secretele: ele conțin primele 4 caractere din fiecare valoare de 16 caractere sau mai mult.
Întrebări
Ce îl diferențiază de gitleaks sau TruffleHog?
Acelea caută aspectul tipic al secretelor și se descurcă bine. Secret Gate știe și care sunt secretele tale reale: citește fișierele tale cu secrete și caută exact acele valori, astfel încât este prinsă și o parolă de bază de date sau un token intern fără o formă recognoscibilă. Este construit pentru un singur moment, înainte de livrare, și eșuează prudent (fail closed).
Trimite secretele mele undeva?
Nu. Valorile sunt citite din fișierele tale în memorie pentru scanare și nu sunt niciodată afișate, scrise sau trimise; un fișier de amprentă, dacă creezi unul, conține un hash și primele 4 caractere din fiecare. Scanările de la distanță trimit fișierele pe care urmează să le livrezi către propria ta mașină; secretele acelei mașini rămân pe ea.
Dar alarmele false?
O descoperire înseamnă „uită-te la asta”. Dacă totul e în regulă, adaugă o regulă de permisiune îngustă pentru acel tip de descoperire în configurația proiectului, de exemplu propria ta adresă de suport. Nu există un comutator care să dezactiveze o verificare.
Poate scana istoricul meu git?
Nu. Verifică ceea ce urmează să livrezi: un folder, o arhivă sau următorul commit. Pentru un secret deja în istoric, rotește secretul.
Actualizat: