Secret Gate
Olyan kiadási kapu, amely ismeri a valódi titkaidat: semmi nem kerül ki, amíg semmit nem talál.
- Linux or macOS
- Python 3.9+
- Git hooks
- CI

Mit csinál
A Secret Gate egyetlen kérdésre válaszol, mielőtt bármi kikerülne a kezed közül – legyen szó kiadási zip-ről, ügyfél másolatáról, nyílt forráskódú pushról vagy a következő commitról: van-e benne az én titkom? Tudja, mik a titkaid, mert beolvassa azokat a fájlokat, ahol laknak, és soha nem mutatja meg őket: egy találat megnevezi a fájlt, a sort és az érték forrását.
- Pontos értékeid. Minden érték a env fájljaidban, JSON és YAML konfigurációkban,
.netrcés kulcsfájlokban, úgy keresve, ahogy leírták, base64-kódolva és URL-kódolva. Egy jelszó, amely közönséges szónak tűnik, vagy egy belső token ismert előtag nélkül, ugyanúgy elkapja, mint a többit. - Titkok olyan gépekről, amelyeken nem fut. Készíts ujjlenyomatokat a laptopodon; a build szerver megtalálja ezeket az értékeket anélkül, hogy birtokolná őket.
- Más gépek a saját titkaik ellenőrzik. A fájlok SSH-n mennek át minden gépre, ott szkennelik őket, majd törlik. A titkok soha nem mozognak, és egy gép, amely nem tud válaszolni, blokkolja a kiadást.
- Alakzatok, nevek és zaj is. 25 tokenformátum, a neveid, hosztok, domainek és fiók azonosítók, privát IP-címek, személyes e-mail címek, telefonszámok, IBAN-ek, mappahelyek és véletlenszerű karakterláncok titokszerű nevek mellett.
- Minden alkalommal bizonyít. Minden szkennelés minden fajtájú csalogány elültetésével indul; ha bármelyik ellenőrzés lemarad a csalogányáról, a szkennelés nem fut le.
- Ahol már dolgozol. Mappák, zip és tar archívumok, git pre-commit vagy pre-push hook, kilépési kódok CI-hez, JSON jelentés.
Tesztelve azon, amit szállítunk
- Minden eladott csomagunk: a 8 kiadott archívum szkennelve a build gépünkön lévő 133 titkos érték és a laptopunkról származó 16 259 ujjlenyomat ellen. Mind átment, összesen 5,4 másodperc alatt.
- Egy valódi titok, amelyet egy kiadási másolatba ültettünk, simán és base64-kódolva is elkapta, minden alkalommal megnevezve a forrásfájlt. Az érték sehol nem jelent meg a kimenetben vagy a jelentésben.
- Egy távoli szkennelés SSH-n egy kiadást ellenőrzött egy második gép 499 titkos értéke ellen 1,4 másodperc alatt, és elkapott egy tokent, amelyet egy csak azon a gépen létező másolatba ültettek.
Mi van benne
A kapu
A négy ellenőrzés, az önellenőrzés, archívum és git-staged szkennelés, egy olvasható jelentés és egy JSON.
Ujjlenyomatok
Egy gép titkainak ujjlenyomatai, egy másik gépen végzett szkenneléshez, az értékek nélkül.
Távoli vizsgálatok
Ugyanazok a fájlok ellenőrizve minden olyan gépen, amely titkokat tárol, a projekted szabályaival együtt.
Beállítás és CI
Kereső a titkos fájljaidhoz, git hookok és GitHub Actions workflow a kiadási archívumokhoz.
Követelmények
- Linux vagy macOS Python 3.9 vagy újabb verzióval; pipről nem kell semmit telepíteni.
- Git a hookokhoz, SSH a távoli vizsgálatokhoz.
Érdemes tudni
- A fájlokat a pillanatnyi állapotukban olvassa. A git előzményekben már szereplő titok ott marad: cseréld le.
- A vizsgált mappán belüli archívumok nem kerülnek kibontásra; az archívumokat külön kell vizsgálni.
- Az ujjlenyomat-fájlokat ugyanolyan titokban kell tartani, mint a titkokat: ezek tartalmazzák minden, 16 vagy több karakter hosszú érték első 4 karakterét.
Kérdések
Miben különbözik ez a gitleaks-től vagy a TruffleHog-tól?
Ezek azt keresik, hogyan néznek ki általában a titkok, és ebben jók is. A Secret Gate azt is tudja, mik valójában a titkaid: beolvassa a saját titkos fájljaidat, és ezeket a pontos értékeket keresi, így egy felismerhető mintázat nélküli adatbázis-jelszó vagy belső token is kiszűri. Egy pillanatra épült, még a kiadás előtt, és zárt hibakezeléssel működik.
Küldi valahová a titkaimat?
Nem. Az értékeket a fájlokból memóriába olvassa a vizsgálathoz, és soha nem nyomtatja ki, nem írja le és nem küldi el; egy ujjlenyomat-fájl, ha készítesz egyet, egy hash-t és minden érték első 4 karakterét tartalmazza. A távoli vizsgálatok a kiadásra szánt fájlokat küldik a saját gépedre; az a gép titkai a gépen maradnak.
Mi van a téves riasztásokkal?
Egy találat azt jelenti: „nézd meg ezt”. Ha rendben van, adj hozzá egy szűk engedélyezési szabályt az adott típusú találatra a projekt konfigurációjában, például a saját ügyfélszolgálati címedre. Nincs olyan kapcsoló, amely kikapcsol egy ellenőrzést.
Vizsgálhatja a git előzményeimet?
Nem. Azt ellenőrzi, amit ki fogsz adni: egy mappát, egy archívumot vagy a következő commitot. Ha egy titok már szerepel az előzményekben, cseréld le a titkot.
Frissítve: