Zum Inhalt springen

Sensible Felder in HAR-Dateien bereinigen

HAR-Aufzeichnung laden, die Regeln nach Feldnamen laufen lassen und die Ausgabe vor dem Teilen prüfen: Header, Cookies, Query-Strings, Formularfelder und JSON-Inhalte sind abgedeckt, Antwortinhalte nur mit gesetztem Kästchen, und was keinen erkennbaren Feldnamen hat, bleibt wie aufgezeichnet.

Läuft lokal in deinem Browser
Lokale Verarbeitung ·
HAR-Datei oder JSON
*.har · *.json

Autorisierungs-Header, Cookies, Token und API-Schlüssel in einer HAR-Datei schwärzen

HAR-Aufzeichnung einfügen oder die .har-Datei ablegen: Die Seite liest log.entries, ersetzt passende Werte durch [REDACTED] und schreibt die Aufzeichnung als eingerücktes JSON im selben Tab zurück. Eine Testaufzeichnung mit drei Einträgen meldete 22 ersetzte Werte ohne Antwortinhalte und 24 mit ihnen; eine kompakte Aufzeichnung von 3.9 KB kam als 6.4 KB zurück, weil die Ausgabe formatiert wird.

Die Regeln arbeiten mit Feldnamen - Authorization, X-Api-Key, Cookie, Set-Cookie, api_key, access_token, refresh_token, id_token, token, password, secret, session, jwt, csrf, signature und Varianten - in Anfrage-Headern, Cookies, Query-Strings, URL-Parametern, Formularfeldern, JSON-Inhalten, Antwort-Headern und -Cookies, Weiterleitungs-URLs und HAR-eigenen Feldern. Werte werden zusätzlich an der Form erkannt: Bearer- und Basic-Zugangsdaten und ein JWT, das mit eyJ beginnt, werden überall ersetzt.

  1. Die Aufzeichnung links einfügen oder eine .har-Datei auf die Eingabefläche ziehen; die Fläche liest die Datei als Text, das Feld wird zur Eingabe.
  2. „Auch Antwortinhalte schwärzen" bleibt aus, solange Antwortinhalte unverändert bleiben sollen; einschalten, wenn ein Antwortinhalt ein Token enthalten kann.
  3. Auf HAR bereinigen drücken. Die vier Kennzahlen zeigen Einträge, Ersetzungen sowie Eingabe- und Ausgabegröße.
  4. Die Befundzeile lesen: eine Zahl bedeutet ersetzte Werte; null bedeutet, dass keine Regel gegriffen hat - kein Beweis, dass die Aufzeichnung sauber ist.
  5. Ergebnis kopieren oder Herunterladen drücken: Die Datei heißt <aufzeichnung>-sanitized.har. Leeren räumt Feld, Kennzahlen und Dateiauswahl, sodass dieselbe Aufzeichnung erneut abgelegt werden kann.

Welche Felder die Regeln abdecken, was die Kopie behält und wo die Regeln enden

Was die einzelnen Regeln umschreiben

Ein Header, Cookie oder Formularfeld wird umgeschrieben, wenn sein Name zur Liste passt - unabhängig vom Wert. Ein Query-Parameter wird ersetzt, wenn sein Name passt, einschließlich eines einzelnen token= und des OAuth-code= einer Weiterleitung; der Rest der URL behält Reihenfolge, weitere Parameter und #fragment, und die Ersetzung steht wörtlich als [REDACTED], nicht prozentkodiert. Ein Location-Header mit einer URL folgt denselben Query-Regeln.

JSON-Inhalte werden Schlüssel für Schlüssel durchlaufen, also auch verschachtelte Objekte und Arrays: In der Testaufzeichnung wurden password, ein verschachtelter api_key, ein einzelnes token und ein secret in einem Array zu [REDACTED], während unbeteiligte Werte wie eine E-Mail-Adresse und eine Notiz lesbar blieben. HAR-eigene Felder mit Unterstrich durchlaufen dieselben Namensregeln, sodass auch ein daneben abgelegtes Token geschwärzt wird.

Antwortinhalte, auch base64

Antwortinhalte werden nur angefasst, wenn das Kästchen gesetzt ist. Dann wird ein base64-Inhalt zuerst dekodiert, geschwärzt und mit unverändertem encoding-Feld wieder als base64 kodiert: Ein access_token in einem base64-JSON wurde zu [REDACTED], und der Inhalt ließ sich weiterhin als gültiges JSON dekodieren. Ein Inhalt ohne Treffer kommt byteweise wie aufgezeichnet zurück, samt ursprünglicher base64-Zeilenumbrüche.

Alles andere bleibt unverändert: Eintragszahl, Seitentitel und Zeiten, HTTP-Status, Header- und Inhaltsgrößen, Server-IP-Adressen und Startzeiten. Lässt man die Ausgabe erneut durch das Werkzeug laufen, meldet es 0 Ersetzungen - eine bereits bereinigte Aufzeichnung lässt sich also ohne weitere Änderungen prüfen.

Wo die Regeln enden und was die Seite ablehnt

Die Regeln treffen Feldnamen und Zugangsdaten-Formen, keine verdächtig aussehenden Werte. Ein Geheimnis ohne Namen - im Pfad einer URL, in einem HAR-Kommentarfeld oder als Wert eines gewöhnlichen Feldes wie note - bleibt wie aufgezeichnet, ebenso ein Antwortinhalt bei leerem Kästchen. Die Befundzeile nennt die Zahl der Ersetzungen; sie behauptet nie, die Datei sei anonym, weshalb sich ein Blick auf die Ausgabe vor dem Anhängen lohnt.

Leere Eingabe, fehlerhaftes JSON und JSON ohne log.entries-Array enden jeweils mit eigenem Satz und ohne Download: Ein abgeschnittenes Dokument wird mit Zeile und Spalte des Abbruchs gemeldet, und ein JSON, das keine HAR-Aufzeichnung ist, wird als solches benannt statt eine leere Datei zu erzeugen. Der ganze Lauf bleibt im Browser - die Seite sendet die Aufzeichnung in keiner Anfrage.

Zuletzt verwendet: