コンテンツへスキップ

HAR ファイルの機密データを秘匿化

HAR キャプチャを読み込み、フィールド名に基づくルールを実行してから出力を確認します。ヘッダー、Cookie、クエリ文字列、フォーム項目、JSON 本文が対象で、レスポンス本文はチェック時に処理します。名前を認識できない値はキャプチャのまま残ります。

ブラウザ内でローカルに実行
ローカル処理 ·
HAR ファイルまたは JSON
*.har · *.json

HAR ファイルの Authorization ヘッダー、Cookie、トークン、API キーを秘匿化する方法

HAR キャプチャを貼り付けるか .har ファイルをドロップすると、ページは log.entries を読み、ルールに一致した値を [REDACTED] に置き換え、同じタブ内でインデント付き JSON として書き戻します。3 エントリのテストキャプチャでは、レスポンス本文を対象外にすると 22 件、含めると 24 件の置き換えを報告しました。3.9 KB の圧縮キャプチャは出力が整形されるため 6.4 KB で戻ります。

ルールはフィールド名で判定します — Authorization、X-Api-Key、Cookie、Set-Cookie、api_key、access_token、refresh_token、id_token、token、password、secret、session、jwt、csrf、signature とその変種 — 対象はリクエストヘッダー、Cookie、クエリ文字列、URL パラメーター、フォーム項目、JSON 本文、レスポンスヘッダーと Cookie、リダイレクト URL、HAR 固有フィールドです。値の形でも判定し、Bearer と Basic の資格情報、eyJ で始まる JWT は出現位置を問わず置き換えます。

  1. 左のパネルにキャプチャを貼り付けるか、入力領域に .har ファイルをドロップします。ファイルはテキストとして読み込まれ、そのまま入力になります。
  2. レスポンス本文をそのまま残す場合は「レスポンス本文も秘匿化」を外したままにし、本文にトークンが含まれる可能性がある場合はオンにします。
  3. 「HAR をサニタイズ」を押します。4 つの指標にエントリ数、秘匿化件数、入力サイズ、出力サイズが出ます。
  4. 検出結果の行を読みます。数値があれば値が置き換えられ、0 ならルールに一致しなかっただけで、キャプチャが安全だという証明ではありません。
  5. 結果をコピーするかダウンロードを押します。ファイル名は <キャプチャ名>-sanitized.har です。クリアはパネル・指標・ファイル選択を空にするので、同じキャプチャをもう一度ドロップできます。

ルールが扱うフィールド、コピーが保持するもの、ルールが及ばない範囲

各ルールが書き換えるもの

ヘッダー、Cookie、フォーム項目は、値の見た目にかかわらず名前がリストに一致すれば書き換えます。クエリパラメーターも名前が一致すれば対象で、単独の token= やリダイレクトの OAuth code= も含みます。URL の残りは順序・他のパラメーター・#fragment を保ち、置換後の値はパーセントエンコードせず [REDACTED] とそのまま書きます。URL を持つ Location ヘッダーも同じクエリ規則に従います。

JSON 本文はキー単位で走査するため、入れ子のオブジェクトや配列も対象です。テストキャプチャでは password、入れ子の api_key、単独の token、配列内の secret が [REDACTED] になり、無関係なメールアドレスやメモは読めるままでした。アンダースコアで始まる HAR 固有フィールドも同じ名前規則で走査するため、キャプチャの隣に置かれたトークンも秘匿化されます。

レスポンス本文と base64

レスポンス本文はチェックボックスがオンのときだけ処理します。オンの場合、base64 本文はまずデコードし、秘匿化してから encoding フィールドを保ったまま base64 に戻します。base64 の JSON 内にあった access_token は [REDACTED] になり、本文は有効な JSON としてデコードできました。一致のない本文は元の base64 改行も含め、キャプチャしたバイトのまま返します。

それ以外は変更しません。エントリ数、ページタイトルとタイミング、HTTP ステータス、ヘッダーと本文のサイズ、サーバー IP、開始時刻はそのままです。出力をもう一度ツールに通すと秘匿化 0 件と表示されるため、処理済みキャプチャを追加変更なしで再確認できます。

ルールが及ばない範囲と拒否する入力

ルールはフィールド名と資格情報の形に一致するもので、怪しく見える値を推測するものではありません。URL のパス、HAR のコメント欄、note のような普通のフィールドの値など、名前のない秘密はそのまま残り、チェックが外れた状態のレスポンス本文も同様です。検出結果は置き換えた件数だけを伝え、ファイルが匿名化されたとは主張しません。チケットに添付する前に出力を確認してください。

空の入力、壊れた JSON、log.entries 配列のない JSON は、それぞれ固有のメッセージで終わり、ダウンロードもありません。途中で切れた文書は解析が止まった行と列を添えて報告し、HAR キャプチャでない JSON は空のファイルを作らずその旨を伝えます。処理はすべてブラウザー内で完結し、キャプチャを含むリクエストは送信されません。

最近使ったツール: