0

ENV-Diff-Checker

Vergleichen Sie zwei .env-Dateien (Staging vs. Produktion, vor vs. nach einem Deployment) und sehen Sie genau, welche Schlüssel hinzugefügt, entfernt oder geändert wurden – mit automatischer Maskierung geheimnisverdächtiger Werte.

🔒 Wird vollständig in Ihrem Browser verarbeitet – nichts, was Sie hier eingeben, wird jemals hochgeladen.

Verarbeitung... 0%
Beide Dateien werden geparst
Diff wird berechnet
Secrets werden maskiert
Fertig

Ergebnis

Eine Staging-.env-Datei mit der Produktion oder das heutige Deployment-Config mit dem der letzten Woche von Auge zu vergleichen, ist der Ausgangspunkt für echte Ausfälle: eine fehlende DATABASE_URL, ein Port, der sich stillschweigend geändert hat, ein API-Key, der in einer Umgebung rotiert wurde, in der anderen aber nicht. Beide Dateien in einen generischen Text-Diff einzufügen hilft auch nicht viel – es zeigt, welche Zeilen sich unterscheiden, nicht welche Umgebungsvariablen sich tatsächlich geändert haben, und druckt jedes Secret-Value im Klartext aus, sobald man die Ausgabe mit einem Kollegen teilt.

Dieses Tool parst beide Dateien so, wie dotenv sie tatsächlich liest – ein KEY=value-Paar pro Zeile, #-Kommentare und Leerzeilen ignoriert, Quoted Values in einfachen oder doppelten Anführungszeichen ent-quotet (mit -Entescaping nur innerhalb doppelter Anführungszeichen, genau wie es die dotenv-Konvention vorsieht) und ein optionaler export KEY=value-Präfix wird toleriert, wie er in shell-sourced env-Dateien verwendet wird. Jede Datei wird zu einer sauberen Schlüssel-Wert-Zuordnung, und die beiden Mappings werden dann schlüsselweise verglichen: Nur in Datei A vorhanden ist „entfernt“, nur in Datei B vorhanden ist „hinzugefügt“, in beiden vorhanden mit unterschiedlichem Wert ist „geändert“, und identische Werte sind „unverändert“ und standardmäßig ausgeblendet, damit die Tabelle auf das fokussiert bleibt, was sich tatsächlich unterscheidet.

Was das Tool wirklich sicher für den Umgang mit echten Secrets macht, ist die automatische Maskierung. Jeder in der Diff-Tabelle angezeigte Wert wird anhand zweier unabhängiger Signale geprüft: Sieht sein Schlüsselname nach einem Secret aus (ein Case-insensitive Match gegen KEY, SECRET, TOKEN, PASSWORD, PRIVATE oder CREDENTIAL), oder hat der Wert selbst eine hohe Shannon-Entropie – dasselbe informationstheoretische Maß (-Σ p(c)·log2(p(c)) über die Zeichen des Werts), das API-Keys, Tokens und Zufallspasswörter als statistisch verschieden von gewöhnlichen Wörtern kennzeichnet, selbst wenn der Schlüsselname keinerlei Hinweis gibt. Jedes der beiden Signale genügt, um einen Wert auf seine ersten und letzten zwei Zeichen zu reduzieren, berechnet unabhängig für die alte und neue Seite jeder geänderten Zeile.

Alles – Parsen, Vergleichen, Entropie-Scoring und Maskieren – läuft vollständig in Ihrem Browser; weder die Dateien noch irgendein daraus extrahierter Wert werden jemals irgendwohin gesendet. Das ist die richtige Garantie für ein Werkzeug, dessen ganze Aufgabe darin besteht, zwei Dateien nebeneinander zu betrachten, die wahrscheinlich echte Datenbankzugangsdaten, API-Keys und Passwörter enthalten.