ENV-erotarkistus
Vertaa kahta .env-tiedostoa (vaiheistus vs. tuotanto, ennen käyttöönottoa ja sen jälkeen) ja katso tarkalleen, mitkä avaimet lisättiin, poistettiin tai muutettiin salaiselta näyttävillä arvoilla automaattisesti.
Tulos
Todelliset katkokset alkavat, kun verrataan vaiheittaista .env-tiedostoa tuotantoon tai tämän päivän käyttöönottokonfiguraatiota viime viikon kokoonpanoon: puuttuva DATABASE_URL, PORT, joka muuttui hiljaa, API-avain, jota kierrettiin yhdessä ympäristössä, mutta ei toisessa. Molempien tiedostojen liittäminen yleiseen tekstidiff-tiedostoon ei myöskään auta paljoa – se näyttää, mitkä rivit eroavat toisistaan, ei sitä, mitkä ympäristömuuttujat todellisuudessa ovat muuttuneet, ja se tulostaa iloisesti jokaisen salaisen arvon näkyvästi heti, kun jaat tulosteen joukkuetoverillesi.
Tämä työkalu jäsentää molemmat tiedostot tavalla, jolla dotenv niitä todella lukee — yksi KEY=arvopari riviä kohden, # kommenttia ja tyhjiä rivejä ohitetaan, kerta- tai kaksoislainausmerkit ovat lainaamattomia (\n ilman vaihtomerkkiä vain lainausmerkeissä, täsmälleen dotenv-käytännön mukaisesti), ja valinnainen vienti KEY=arvo-etuliite, jonka hänvll käytti. Jokaisesta tiedostosta tulee puhdas avain-arvo-kartta, ja sitten nämä kaksi karttaa erotetaan toisistaan avaimella: vain tiedostossa A oleva on "poistettu", vain tiedostossa B oleva "lisätty", molemmissa oleva eri arvo on "muutettu" ja identtiset arvot ovat "muuttumattomina" ja piilotettu oletuksena, joten taulukko keskittyy siihen, mikä todella eroaa.
Ominaisuus, joka tekee tästä turvallisen käyttää todellisten salaisuuksien kanssa, on automaattinen maskaus. Jokainen erotustaulukossa näkyvä arvo tarkistetaan kahta riippumatonta signaalia vastaan: näyttääkö sen avaimen nimi salaiselta (kirjainkoolla erottuva vastaavuus kohtiin KEY, SECRET, TOKEN, PASSWORD, PRIVATE tai CREDENTIAL), vai onko arvolla itsellään korkea Shannon-entropia – sama informaatioteoreettinen mitta (-Σ p(c)·log)2(s) avaimen arvon yli. tokenit ja satunnaiset salasanat eroavat tilastollisesti tavallisista sanoista, vaikka avaimen nimi ei vihjaisikaan. Kumpi tahansa signaali riittää peittämään arvon sen ensimmäiseen ja kahteen viimeiseen merkkiin, joka lasketaan itsenäisesti jokaisen muuttuneen rivin vanhalle ja uudelle puolelle.
Kaikki – jäsentäminen, erotus, entropiapisteytys ja peittäminen – toimii kokonaan selaimessasi; tiedostoa tai niistä poimittua arvoa ei lähetetä koskaan minnekään. Se on oikea takuu työkalulle, jonka koko tehtävänä on tarkastella kahta tiedostoa, jotka todennäköisesti sisältävät todellisia tietokantatunnuksia, API-avaimia ja salasanoja rinnakkain.