0

Проверка на разликите в ENV

Сравнете два .env файла (поетапен спрямо производствен, преди или след внедряване) и вижте точно кои ключове са добавени, премахнати или променени, като тайно изглеждащите стойности са маскирани автоматично.

Buy Me a Coffee at ko-fi.com
Обработка... 0%
Разбор на двата файла
Изчислителни разл
Маскиране на тайни
Готово

Резултат

Сравняването на етапен .env файл с производствения или днешната конфигурация за разгръщане с тази от миналата седмица, на око е начина, по който започват истинските прекъсвания: липсващ DATABASE_URL, PORT, който тихо се е променил, API ключ, който е бил ротиран в едната среда, но не и в другата. Поставянето на двата файла в обща текстова разлика също не помага много — показва ви кои редове се различават, а не кои променливи на средата всъщност са се променили, и с радост отпечатва всяка тайна стойност на видно място в момента, в който споделите изхода със съотборник.

Този инструмент анализира и двата файла по начина, по който dotenv действително ги чете — една двойка KEY=стойност на ред, # коментара и празни редове игнорирани, стойности в единични или двойни кавички без кавички (с \n неекранирани само в двойни кавички, точно както посочва конвенцията dotenv) и незадължителен префикс за експортиране KEY=стойност, толериран от начина, по който го използват env файловете с източник на shell. Всеки файл се превръща в чиста карта на ключ към стойност и двете карти след това се различават по ключ: присъства само във файл A се „премахва“, присъства само във файл B се „добавя“, присъства и в двата с различна стойност е „променен“, а идентичните стойности са „непроменени“ и скрити по подразбиране, така че таблицата остава фокусирана върху това, което всъщност се различава.

Функцията, която прави това безопасно за действително използване с истински тайни, е автоматично маскиране. Всяка стойност, показана в таблицата на разликите, се проверява спрямо два независими сигнала: дали нейното име на ключ изглежда като тайна (нечувствително съвпадение с KEY, SECRET, TOKEN, PASSWORD, PRIVATE или CREDENTIAL), или самата стойност има ли висока ентропия на Шанън — същата информационно-теоретична мярка (-Σ p(c)·log2(p(c)) над символите на стойността), която маркира API ключовете, токени и произволни пароли като статистически различни от обикновените думи, дори когато името на ключа не дава намек. Всеки сигнал е достатъчен, за да маскира стойност до нейните първи и последни два знака, изчислени независимо за старата и новата страна на всеки променен ред.

Всичко – анализиране, разлики, оценка на ентропията и маскиране – работи изцяло във вашия браузър; нито файлът, нито която и да е стойност, извлечена от тях, никога не се изпращат никъде. Това е правилната гаранция за инструмент, чиято цялостна работа е да разглежда два файла, които е вероятно да съдържат истински идентификационни данни за база данни, API ключове и пароли един до друг.