Pemeriksa Perbezaan ENV
Bandingkan dua fail .env (pementasan vs. pengeluaran, sebelum lwn. selepas penggunaan) dan lihat dengan tepat kekunci yang telah ditambahkan, dialih keluar atau ditukar, dengan nilai yang kelihatan rahsia ditutup secara automatik.
Hasilnya
Membandingkan fail .env pementasan dengan pengeluaran, atau konfigurasi penggunaan hari ini terhadap minggu lepas, secara mata ialah cara gangguan sebenar bermula: DATABASE_URL yang hilang, PORT yang berubah secara senyap-senyap, kunci API yang diputar dalam satu persekitaran tetapi bukan yang lain. Menampal kedua-dua fail ke dalam perbezaan teks generik juga tidak banyak membantu — ia menunjukkan kepada anda baris mana yang berbeza, bukan pembolehubah persekitaran mana yang sebenarnya berubah, dan ia dengan senang hati mencetak setiap nilai rahsia secara jelas apabila anda berkongsi output dengan rakan sepasukan.
Alat ini menghuraikan kedua-dua fail dengan cara dotenv sebenarnya membacanya — satu KEY=pasangan nilai setiap baris, # komen dan baris kosong diabaikan, nilai petikan tunggal atau dua kali tidak disebut (dengan \n tidak dilepaskan hanya di dalam petikan berganda, betul-betul seperti yang ditentukan oleh konvensyen dotenv), dan pilihan eksport KEY=nilai awalan bertolak ansur dengan cara fail menggunakan sumber shell. Setiap fail menjadi peta kunci-ke-nilai yang bersih, dan kedua-dua peta itu kemudiannya dibezakan mengikut kekunci: hadir hanya dalam Fail A 'dialih keluar', hadir hanya dalam Fail B 'ditambah', hadir dalam kedua-duanya dengan nilai berbeza adalah 'berubah' dan nilai yang sama adalah 'tidak berubah' dan tersembunyi secara lalai supaya jadual kekal fokus pada perkara yang sebenarnya berbeza.
Ciri yang menjadikan ini selamat untuk digunakan dengan rahsia sebenar ialah penyamaran automatik. Setiap nilai yang ditunjukkan dalam jadual perbezaan disemak terhadap dua isyarat bebas: adakah nama kuncinya kelihatan seperti rahsia (padanan tidak sensitif huruf besar terhadap KUNCI, RAHSIA, TOKEN, KATA LALUAN, SWASTA atau KREDENTIAL), atau adakah nilai itu sendiri mempunyai entropi Shannon yang tinggi — ukuran teori maklumat yang sama (-Σ p(c)·log2(p'sken) dan aksara rawak yang membenderakan kekunci API, p'c) kata laluan berbeza secara statistik daripada perkataan biasa walaupun nama kunci tidak memberikan petunjuk. Mana-mana isyarat sudah cukup untuk menutup nilai sehingga dua aksara pertama dan terakhirnya, dikira secara bebas untuk sisi lama dan baharu setiap baris yang diubah.
Segala-galanya — penghuraian, pembezaan, pemarkahan entropi dan penyamaran — berjalan sepenuhnya dalam penyemak imbas anda; fail, mahupun sebarang nilai yang diekstrak daripadanya, tidak pernah dihantar ke mana-mana. Itulah jaminan yang tepat untuk alat yang seluruh tugasnya adalah untuk melihat dua fail yang mungkin mengandungi bukti kelayakan pangkalan data sebenar, kunci API dan kata laluan bersebelahan.