Secret Gate
En utgivelsessikring som kjenner de faktiske hemmelighetene dine: ingenting publiseres før den ikke finner noe.
- Linux or macOS
- Python 3.9+
- Git hooks
- CI

Hva den gjør
Secret Gate svarer på ett spørsmål før noe forlater hendene dine, enten det er en release-zip, en kundekopi, en åpen kildekode-push eller neste commit: inneholder dette en av mine hemmeligheter? Den vet hva hemmelighetene dine er, fordi den leser filene der de bor, og den viser aldri én: et funn navngir filen, linjen og hvor verdien kom fra.
- Nøyaktig dine verdier. Hver verdi i dine env-filer, JSON- og YAML-konfigurasjoner,
.netrcog nøkkelfiler, søkt etter som skrevet, base64-kodet og URL-kodet. Et passord som ser ut som et vanlig ord, eller et internt token uten kjent prefiks, fanges opp som alle andre. - Hemmeligheter fra maskiner den ikke kjører på. Lag fingeravtrykk på laptoppen din; byggeserveren finner disse verdiene uten å noen gang holde dem.
- Andre maskiner sjekker mot sine egne hemmeligheter. Filene sendes til hver maskin over SSH, skannes der og slettes. Hemmelighetene flytter aldri på seg, og en maskin som ikke kan svare, blokkerer utgivelsen.
- Former, navn og støy også. 25 token-formater, dine navn, verter, domener og kontoid-er, private IP-adresser, personlige e-postadresser, telefonnumre, IBAN-er, baner i hjemmemappen og tilfeldige strenger ved siden av hemmelighetsaktige navn.
- Den beviser seg selv hver gang. Hver skanning starter med å plante kanarier av alle slag; hvis noen sjekk bommer på sin kanari, kjører ikke skanningen.
- Der du allerede jobber. Mapper, zip- og tar-arkiver, en git pre-commit- eller pre-push-hook, sluttkoder for CI, en JSON-rapport.
Testet på det vi sender ut
- Hvert kit vi selger: de 8 utgitte arkivene skannet mot de 133 hemmelige verdiene på byggeserveren vår og 16 259 fingeravtrykk fra laptoppen vår. Alle bestod, på 5,4 sekunder til sammen.
- En ekte hemmelighet plantet i en releasekopi ble fanget opp både som ren tekst og base64-kodet, og ble hver gang navngitt av filen den kom fra. Verdien dukket ikke opp noe sted i utdataene eller rapporten.
- En ekstern skanning over SSH sjekket en release mot en annen maskins 499 hemmelige verdier på 1,4 sekunder, og fanget opp et token plantet i en kopi som bare fantes på den maskinen.
Hva som er inkludert
Porten
De fire sjekkene, selvtesten, skanning av arkiver og git-stagede filer, en lesbar rapport og en JSON-rapport.
Fingeravtrykk
Fingeravtrykk av én maskins hemmeligheter, for en skanning på en annen, uten verdiene.
Fjernskanninger
De samme filene sjekkes på alle maskiner som inneholder hemmeligheter, med prosjektets regler sendt med.
Oppsett og CI
En søker for hemmelighetsfilene dine, git-hooks og en GitHub Actions-arbeidsflyt for utgivelsesarkiver.
Krav
- Linux eller macOS med Python 3.9 eller nyere; ingenting å installere fra pip.
- Git for hooks, SSH for fjernskanninger.
Bra å vite
- Den leser filene slik de er nå. En hemmelighet som allerede finnes i git-historikken, blir der: roter den.
- Arkiver i en skannet mappe åpnes ikke; skann hvert arkiv.
- Behold fingeravtrykksfiler like private som hemmelighetene: de inneholder de første 4 tegnene i hver verdi på 16 tegn eller mer.
Spørsmål
Hva er forskjellen på denne og gitleaks eller TruffleHog?
De ser etter hvordan hemmeligheter vanligvis ser ut, og de er gode til det. Secret Gate vet også hva hemmelighetene dine faktisk er: den leser dine egne hemmelighetsfiler og ser etter disse nøyaktige verdiene, så en databasepassord eller et internt token uten gjenkjennelig form fanges også opp. Den er bygget for ett øyeblikk, før noe publiseres, og feiler lukket.
Sender den hemmelighetene mine noe sted?
Nei. Verdier leses fra filene dine inn i minnet for skanningen og skrives aldri ut, lagres eller sendes; en fingeravtrykksfil, hvis du lager en, inneholder en hash og de første 4 tegnene i hver. Fjernskanninger sender filene du er i ferd med å publisere til din egen maskin; hemmelighetene på den maskinen blir der.
Hva med falske alarmer?
Et funn betyr «se på dette». Hvis det er greit, legg til en smal tillatelsesregel for den typen funn i prosjektets konfigurasjon, for eksempel din egen supportadresse. Det finnes ingen bryter som slår av en sjekk.
Kan den skanne git-historikken min?
Nei. Den sjekker det du er i ferd med å publisere: en mappe, et arkiv eller neste commit. For en hemmelighet som allerede finnes i historikken, roter hemmeligheten.
Oppdatert: