0

Kontrola rozdielov ENV

Porovnajte dva súbory .env (predbežné vs. produkčné, pred vs. po nasadení) a presne uvidíte, ktoré kľúče boli pridané, odstránené alebo zmenené, pričom tajne vyzerajúce hodnoty sú automaticky maskované.

Buy Me a Coffee at ko-fi.com
Spracovanie... 0%
Analýza oboch súborov
Výpočtový rozdiel
Maskovanie tajomstiev
Hotovo

Výsledok

Porovnanie prípravného súboru .env s produkčným alebo dnešnou konfiguráciou nasadenia s konfiguráciou z minulého týždňa na prvý pohľad ukazuje, ako začínajú skutočné výpadky: chýbajúca adresa DATABASE_URL, PORT, ktorý sa potichu zmenil, kľúč API, ktorý sa striedal v jednom prostredí, ale nie v druhom. Vloženie oboch súborov do všeobecného textového rozdielu tiež veľmi nepomôže – ukáže vám, ktoré riadky sa líšia, nie ktoré premenné prostredia sa skutočne zmenili, a šťastne vytlačí každú tajnú hodnotu na očiach v momente, keď zdieľate výstup so spoluhráčom.

Tento nástroj analyzuje oba súbory tak, ako ich dotenv skutočne číta – jeden KEY=pár hodnôt na riadok, # komentárov a prázdnych riadkov sa ignoruje, hodnoty v jednoduchých alebo dvojitých úvodzovkách nie sú v úvodzovkách (s \n nezakódované iba v dvojitých úvodzovkách, presne tak, ako to špecifikuje konvencia dotenv), a voliteľný exportný kľúč KEY=prefix hodnoty toleruje spôsob, akým súbory env pochádzajúce zo shellu. Každý súbor sa stane čistou mapou kľúč-hodnota a tieto dve mapy sa potom líšia kľúčom: prítomná iba v súbore A je „odstránená“, prítomná iba v súbore B je „pridaná“, prítomná v oboch s inou hodnotou je „zmenená“ a rovnaké hodnoty sú „nezmenené“ a predvolene skryté, takže tabuľka zostane zameraná na to, čo sa skutočne líši.

Funkcia, vďaka ktorej je bezpečné skutočne používať so skutočnými tajomstvami, je automatické maskovanie. Každá hodnota zobrazená v tabuľke rozdielov sa kontroluje na základe dvoch nezávislých signálov: vyzerá názov jej kľúča ako tajomstvo (rozlišovanie malých a veľkých písmen s kľúčom KEY, SECRET, TOKEN, PASSWORD, PRIVATE alebo CREDENTIAL) alebo má samotná hodnota vysokú Shannonovu entropiu – rovnaké informačno-teoretické meranie (-Σ p(c)·log2(p(c)·log2(p(c)) znaky, ktoré označujú znaky API, náhodné znaky API ako štatisticky odlišné od bežných slov, aj keď názov kľúča nenapovedá. Každý signál stačí na zamaskovanie hodnoty až po jej prvé a posledné dva znaky, vypočítané nezávisle pre starú a novú stranu každého zmeneného riadku.

Všetko – analýza, porovnanie, hodnotenie entropie a maskovanie – prebieha úplne vo vašom prehliadači; ani súbor, ani žiadna hodnota z nich extrahovaná sa nikdy nikam neposiela. To je správna záruka pre nástroj, ktorého úlohou je pozerať sa na dva súbory, ktoré budú pravdepodobne obsahovať skutočné databázové poverenia, kľúče API a heslá vedľa seba.