Secret Gate
Brána vydania, ktorá pozná vaše skutočné tajné kľúče: nič sa nevydá, kým nič nenájde.
- Linux or macOS
- Python 3.9+
- Git hooks
- CI

Čo to robí
Secret Gate odpovedá na jednu otázku skôr, než čokoľvek opustí vaše ruky, či už ide o release zip, kópiu pre zákazníka, push do open source alebo ďalší commit: obsahuje to moje tajomstvo? Vie, aké sú vaše tajomstvá, pretože číta súbory, v ktorých sa nachádzajú, a nikdy ich nezobrazí: nález uvádza súbor, riadok a zdroj hodnoty.
- Vaše presné hodnoty. Každá hodnota vo vašich súboroch env, konfiguráciách JSON a YAML, súboroch
.netrca kľúčoch, hľadaná tak, ako je zapísaná, v base64 kódovaní a URL kódovaní. Heslo, ktoré vyzerá ako bežné slovo, alebo interný token bez známej predpony, je zachytený ako každé iné. - Tajomstvá z strojov, na ktorých nebeží. Vytvorte odtlačky na vašom laptopu; build server nájde tieto hodnoty, bez toho aby ich kedykoľvek držal.
- Iné stroje kontrolujú podľa svojich vlastných tajomstiev. Súbory putujú na každý stroj cez SSH, sú tam naskenované a zmazané. Tajomstvá sa nikdy neprenášajú a stroj, ktorý nedokáže odpovedať, zablokuje release.
- Tvar, názvy a šum tiež. 25 formátov tokenov, vaše mená, hostitelia, domény a ID účtov, súkromné IP adresy, osobné e-mailové adresy, telefónne čísla, IBAN, cesty k domovskému priečinku a náhodné reťazce vedľa názvov pripomínajúcich tajomstvá.
- Vždy sa preukáže. Každé skenovanie začína vysadením canaries všetkých druhov; ak ktorákoľvek kontrola nájde svoju canary, skenovanie sa nespustí.
- Kde už pracujete. Priečinky, archívy zip a tar, git hook pre pre-commit alebo pre-push, exit kódy pre CI, report JSON.
Testované na tom, čo dodávame
- Každý balík, ktorý predávame: 8 vydaných archívov naskenovaných proti 133 tajným hodnotám na našom build stroji a 16 259 odtlačkom z nášho laptopu. Všetky prešli, spolu za 5,4 sekundy.
- Skutočné tajomstvo vysadené v kópii release bolo zachytené v čistej podobe aj v base64 kódovaní, vždy pomenované súborom, z ktorého pochádzalo. Hodnota sa nikde neobjavila vo výstupe ani v reporte.
- Vzdialené skenovanie cez SSH skontrolovalo release proti 499 tajným hodnotám na druhom stroji za 1,4 sekundy a zachytilo token vysadený v kópii, ktorá existovala len na tomto stroji.
Čo je vnútri
Brána
Štyri kontroly, sebatest, skenovanie archívov a git staged súborov, čitateľný report a report JSON.
Odtlačky
Odtlačky tajomstiev jedného stroja pre skenovanie na inom stroji, bez hodnôt.
Vzdialené skeny
Rovnaké súbory skontrolované na každom počítači, ktorý obsahuje tajné údaje, spolu s pravidlami vášho projektu.
Nastavenie a CI
Nástroj na vyhľadávanie súborov s tajnými údajmi, git hooks a workflow pre GitHub Actions na archivy vydaní.
Požiadavky
- Linux alebo macOS s Pythonom 3.9 alebo novším; nič na inštaláciu z pip.
- Git pre hooks, SSH pre vzdialené skeny.
Dobré vedieť
- Číta súbory v ich aktuálnom stave. Tajný údaj už prítomný vo vašej histórii gitu tam zostáva: rotujte ho.
- Archívy vo vnútri skenovanej zložky sa neotvárajú; skenujte každý archív.
- Držte súbory s odtlačkami prstov rovnako súkromné ako tajné údaje: obsahujú prvé 4 znaky každej hodnoty s dĺžkou 16 znakov alebo viac.
From our field notes
Chyba v našom tajnom skeneri, ktorú canaries nenašli
Naša brána pred vydaním nasadí canaries pred každým skenom a tie vždy prešli. Chyba bola o krok skôr: tajný kľúč v úvodzovkách nasledovaný komentárom sa načítal aj s úvodzovkami. Ako sme ju našli, prečo canaries takýto typ chyby prehliadnu a aké testy teraz používame.
Kód na odoslanie z funkčnej flotily bez odosielania jej tajných kľúčov
Každý balík, ktorý predávame, prejde skenovaním tajných kľúčov na troch strojoch pred zbalením. Čo hľadajú a falošné poplachy, ktoré nás najviac naučili.
Otázky
Čím sa to líši od gitleaks alebo TruffleHog?
Tie hľadajú to, ako tajné údaje zvyčajne vyzerajú, a v tom sú dobré. Secret Gate tiež vie, aké vaše tajné údaje skutočne sú: číta vaše vlastné súbory s tajnými údajmi a hľadá tieto presné hodnoty, takže sa zachytí aj heslo do databázy alebo interný token bez rozpoznateľného tvaru. Je postavený pre jeden moment, pred odoslaním niečoho, a zlyháva bezpečne (fail closed).
Posiela moje tajné údaje niekam?
Nie. Hodnoty sa načítajú z vašich súborov do pamäte pre sken a nikdy sa netlačia, neukladajú ani neposielajú; súbor s odtlačkami prstov, ak si ho vytvoríte, obsahuje hash a prvé 4 znaky každej hodnoty. Vzdialené skeny odosielajú súbory, ktoré chystáte odoslať, na váš vlastný počítač; tajné údaje tohto počítača zostávajú na ňom.
Čo s falošnými poplachmi?
Nález znamená „pozrite sa na toto“. Ak je v poriadku, pridajte úzko špecifikované pravidlo allow pre daný typ nálezu v konfigurácii projektu, napríklad pre vašu vlastnú adresu podpory. Neexistuje prepínač, ktorý by vypol kontrolu.
Dá sa skenovať moja história gitu?
Nie. Kontroluje to, čo chystáte odoslať: zložku, archív alebo ďalší commit. Pre tajný údaj, ktorý je už v histórii, rotujte tajný údaj.
Aktualizované: