0

ENV skirtumų tikrintuvas

Palyginkite du .env failus (sustabdymo ir gamybos, prieš ir po įdiegimo) ir tiksliai sužinokite, kurie raktai buvo pridėti, pašalinti arba pakeisti, o slaptai atrodančios reikšmės užmaskuotos automatiškai.

Buy Me a Coffee at ko-fi.com
Apdorojama... 0%
Analizuojami abu failai
Skaičiavimo skirtumas
Maskavimo paslaptys
Atlikta

Rezultatas

Palyginus sustojimo .env failą su gamybine arba šiandienos diegimo konfigūracija su praėjusios savaitės konfigūracija, prasideda tikri gedimai: trūksta DATABASE_URL, tyliai pasikeitė PORT, API raktas, kuris buvo pasuktas vienoje aplinkoje, bet ne kitoje. Abiejų failų įklijavimas į bendrą teksto skirtumą taip pat nepadeda – jis parodo, kurios eilutės skiriasi, o ne iš tikrųjų pasikeitė aplinkos kintamieji, ir su džiaugsmu išspausdina kiekvieną slaptą reikšmę, kai tik bendrinate išvestį su komandos draugu.

Šis įrankis analizuoja abu failus taip, kaip dotenv juos iš tikrųjų skaito – viena KEY=reikšmių pora eilutėje, # komentarų ir tuščių eilučių nepaisoma, viengubos arba dvigubos kabučių reikšmės be kabučių (su \n nepakeičiamos tik dvigubose kabutėse, tiksliai taip, kaip nurodyta dotenv sutartyje), ir pasirenkamas eksportavimo KEY=vertės priešdėlis, kurį ji naudojo taip, kaip ji toleravo. Kiekvienas failas tampa švariu rakto ir vertės žemėlapiu, o du žemėlapiai skiriasi raktu: esantis tik faile A yra „pašalinamas“, tik faile B yra „pridėtas“, abiejuose esantis su skirtinga reikšme yra „pakeistas“, o identiškos reikšmės yra „nepakeistos“ ir paslėptos pagal numatytuosius nustatymus, todėl lentelė lieka sutelkta į tai, kas iš tikrųjų skiriasi.

Funkcija, dėl kurios saugu naudoti su tikromis paslaptimis, yra automatinis maskavimas. Kiekviena skirtumų lentelėje rodoma reikšmė yra tikrinama pagal du nepriklausomus signalus: ar jo rakto pavadinimas atrodo kaip slaptas (didžiosios ir mažosios raidės nejautrus atitikimas KEY, SECRET, TOKEN, PASSWORD, PRIVATE arba CREDENTIAL), ar pati reikšmė turi didelę Šenono entropiją – tą patį informacijos teorinį API matą (-Σ p(c)··log)2sp, viršijančio rakto reikšmę. žetonai ir atsitiktiniai slaptažodžiai statistiškai skiriasi nuo įprastų žodžių, net jei rakto pavadinimas nepateikia jokios užuominos. Bet kurio signalo pakanka, kad užmaskuotų reikšmę iki pirmųjų ir dviejų paskutinių simbolių, atskirai apskaičiuojamų kiekvienos pakeistos eilutės senajai ir naujajai pusei.

Viskas – analizavimas, diferencijavimas, entropijos įvertinimas ir maskavimas – veikia tik jūsų naršyklėje; nei failas, nei jokia iš jų ištraukta vertė niekada niekur nesiunčiama. Tai tinkama garantija įrankiui, kurio visas darbas yra peržiūrėti du failus, kuriuose gali būti tikri duomenų bazės kredencialai, API raktai ir slaptažodžiai.