Secret Gate
Brána vydání, která zná vaše skutečná tajemství: nic se nevydá, dokud nenajde nic.
- Linux or macOS
- Python 3.9+
- Git hooks
- CI

Co to dělá
Secret Gate odpovídá na jednu otázku, než cokoli opustí vaše ruce, ať už je to release zip, kopie pro zákazníka, push do open source nebo další commit: obsahuje to nějaké mé tajemství? Ví, co jsou vaše tajemství, protože čte soubory, kde se nacházejí, a nikdy žádné nezobrazí: nález uvádí soubor, řádek a odkud hodnota pochází.
- Vaše přesné hodnoty. Každá hodnota ve vašich env souborech, JSON a YAML konfiguracích,
.netrca souborech s klíči, hledaná tak, jak je zapsaná, v base64 kódování a URL kódování. Heslo, které vypadá jako běžné slovo, nebo interní token bez známé předpony, je zachyceno stejně jako ostatní. - Tajemství z strojů, na kterých neběží. Vytvořte otisky na svém laptopu; build server najde tyto hodnoty, aniž by je kdy držel.
- Ostatní stroje kontrolují svá vlastní tajemství. Soubory putují na každý stroj přes SSH, jsou tam skenovány a smazány. Tajemství se nikdy nepřesunou a stroj, který nedokáže odpovědět, zablokuje release.
- Tvary, názvy a šum také. 25 formátů tokenů, vaše názvy, hostitelé, domény a ID účtů, privátní IP adresy, osobní e-mailové adresy, telefonní čísla, IBAN, cesty k domovským složkám a náhodné řetězce vedle názvů připomínajících tajemství.
- Pokaždé se prokáže. Každé skenování začíná vysazením kanárků všech druhů; pokud jakákoli kontrola mine svůj kanárek, skenování se nespustí.
- Kde už pracujete. Složky, zip a tar archivy, git pre-commit nebo pre-push hook, návratové kódy pro CI, JSON report.
Otestováno na tom, co dodáváme
- Každý balíček, který prodáváme: 8 vydaných archivů skenováno proti 133 hodnotám tajemství na našem build stroji a 16 259 otiskům z našeho laptopu. Vše prošlo, celkem za 5,4 sekundy.
- Skutečné tajemství vysazené v kopii release bylo zachyceno v čisté podobě i v base64 kódování, pokaždé pojmenováno podle souboru, ze kterého pocházelo. Hodnota se nikde neobjevila ve výstupu ani v reportu.
- Vzdálené skenování přes SSH zkontrolovalo release proti 499 hodnotám tajemství na druhém stroji za 1,4 sekundy a zachytilo token vysazený v kopii, která existovala pouze na tomto stroji.
Co je uvnitř
Brána
Čtyři kontroly, self-test, skenování archivů a git staged souborů, čitelný report a JSON report.
Otisky
Otisky tajemství jednoho stroje pro skenování na jiném, bez hodnot.
Vzdálené skeny
Stejné soubory zkontrolované na každém počítači, který obsahuje tajné údaje, spolu s pravidly vašeho projektu.
Nastavení a CI
Nástroj pro vyhledávání souborů s tajnými údaji, git hooks a workflow pro GitHub Actions pro archivy vydání.
Požadavky
- Linux nebo macOS s Pythonem 3.9 nebo novějším; nic není třeba instalovat z pip.
- Git pro hooks, SSH pro vzdálené skeny.
Dobré vědět
- Čte soubory v jejich aktuálním stavu. Tajný údaj, který je již ve vaší historii gitu, tam zůstává: proveďte jeho rotaci.
- Archivy uvnitř skenované složky se neotevírají; skenujte každý archiv zvlášť.
- Uchovávejte soubory s otisky tak soukromé jako tajné údaje: obsahují první 4 znaky každé hodnoty o délce 16 znaků a více.
Otázky
Čím se to liší od gitleaks nebo TruffleHog?
Ty vyhledávají to, jak tajné údaje obvykle vypadají, a dělají to dobře. Secret Gate také ví, jaké vaše tajné údaje skutečně jsou: čte vaše vlastní soubory s tajnými údaji a hledá přesně tyto hodnoty, takže zachytí i heslo do databáze nebo interní token bez rozpoznatelného tvaru. Je postaven pro jeden okamžik, před tím, než něco odešlete, a selhává zavřeně.
Odesílá mé tajné údaje někam?
Ne. Hodnoty se načtou z vašich souborů do paměti pro sken a nikdy se nevypisují, neukládají ani neodesílají; soubor s otisky, pokud si ho vytvoříte, obsahuje hash a první 4 znaky každé hodnoty. Vzdálené skeny odesílají soubory, které chystáte k odeslání, na váš vlastní počítač; tajné údaje tohoto počítače zůstávají na něm.
Co s falešnými poplachy?
Nález znamená „podívejte se na to“. Pokud je v pořádku, přidejte úzké pravidlo pro povolení tohoto typu nálezu v konfiguraci projektu, například vaši vlastní adresu podpory. Neexistuje přepínač, který by kontrolu vypnul.
Může skenovat mou historii gitu?
Ne. Kontroluje to, co chystáte k odeslání: složku, archiv nebo další commit. Pro tajný údaj, který je již v historii, proveďte jeho rotaci.
Aktualizováno: