0

ENV Diff Checker

Primerjajte dve datoteki .env (staging proti produkciji, pred uvedbo in po njej) in natančno vidite, kateri ključi so bili dodani, odstranjeni ali spremenjeni, pri čemer so vrednosti, ki spominjajo na skrivnosti, samodejno maskirane.

🔒 V celoti obdelano v vašem brskalniku – nič, kar tukaj vnesete, ni nikoli naloženo.

Obdelava ... 0%
Razčlenjevanje obeh datotek
Računanje razlik
Maskiranje skrivnosti
Končano

Rezultat

Primerjava datoteke staging .env s produkcijsko ali današnje konfiguracije za uvedbo s prejšnjim tednom na oko je začetek pravih izpadov: manjkajoči DATABASE_URL, PORT, ki se je tiho spremenil, API-ključ, ki se je zavrtel v enem okolju, v drugem pa ne. Prilepljanje obeh datotek v generično besedilno primerjavo tudi ne pomaga bistveno – pokaže vam, katere vrstice se razlikujejo, ne pa, katere spremenljivke okolja so se dejansko spremenile, in veselo izpiše vsako vrednost skrivnosti na očeh v trenutku, ko izpis delite s sodelavcem.

To orodje razčleni obe datoteki tako, kot ju dejansko bere dotenv – en par KEY=value na vrstico, # komentarji in prazne vrstice so prezrti, vrednosti v enojnih ali dvojnih narekovajih so odpravljene narekovajev (z odznačevanjem le znotraj dvojnih narekovajev, natanko tako, kot določa dotenv konvencija), neobvezna predpona export KEY=value pa je tolerirana, kot jo uporabljajo shell okoljske datoteke. Vsaka datoteka postane čist preslikovalnik ključ-vrednost, oba preslikovalnika pa se nato primerjata po ključih: prisoten le v Datoteki A je 'odstranjen', prisoten le v Datoteki B je 'dodan', prisoten v obeh z različno vrednostjo je 'spremenjen', enake vrednosti pa so 'nespremenjene' in privzeto skrite, tako da tabela ostane osredotočena na tisto, kar se dejansko razlikuje.

Zmožnost, zaradi katere je to varno dejansko uporabljati s pravimi skrivnostmi, je samodejno maskiranje. Vsaka vrednost, prikazana v tabeli razlik, je preverjena glede na dva neodvisna signala: ali ime njenega ključa spominja na skrivnost (ujemanje brez razlikovanja velikih in malih črk z KEY, SECRET, TOKEN, PASSWORD, PRIVATE ali CREDENTIAL) ali pa ima vrednost sama visoko Shannonovo entropijo – isto mero informacijske teorije (-Σ p(c)·log2(p(c)) čez znake vrednosti), ki API-ključe, žetone in naključna gesla označi kot statistično drugačne od običajnih besed, tudi kadar ime ključa ne daje namiga. Vsak signal je dovolj, da se vrednost maskira na prva in zadnja dva znaka, izračunana neodvisno za staro in novo stran vsake spremenjene vrstice.

Vse – razčlenjevanje, primerjanje, točkovanje entropije in maskiranje – teče povsem v vašem brskalniku; nobena datoteka, niti katera koli iz nje izvlečena vrednost, ni nikoli nikamor poslana. To je pravo zagotovilo za orodje, katerega celoten namen je, si vzporedno ogledati dve datoteki, ki verjetno vsebujeta prave podatkovne baze, API-ključe in gesla.