正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

HARファイルを作成

  • プラン: Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

HTTPアーカイブ(HAR)形式ファイルは、HTTPリクエストとHTTPレスポンスに関する情報を交換するための業界標準です。HARファイルの内容はJSON形式で、Webサイトとのブラウザのインタラクションが含まれています。ファイル拡張子.harが一般的に使用されます。

HARファイルは、CI/CDパイプラインでWeb APIファジングを実行するために使用できます。

HARファイルには、WebクライアントとWebサーバー間で交換される情報が保存されます。認証トークン、APIキー、セッションクッキーなどの機密情報も保存される可能性があります。HARファイルの内容をリポジトリに追加する前に、レビューすることを推奨します。

HARファイルの作成

HARファイルは、手動で作成するか、Webセッションを記録するための専用ツールを使用して作成できます。専用ツールを使用することをお勧めします。ただし、これらのツールで作成されたファイルが機密情報を公開せず、安全に使用できることを確認することが重要です。

次のツールは、ネットワークアクティビティーに基づいてHARファイルを生成するために使用できます。ネットワークアクティビティーを自動的に記録し、HARファイルを生成します:

  • GitLab HAR recorder
  • Insomnia API client
  • Fiddlerデバッグproxy
  • Safari web browser
  • Chrome web browser
  • Firefox web browser

HARファイルには、認証トークン、APIキー、セッションクッキーなどの機密情報が含まれている場合があります。HARファイルの内容をリポジトリに追加する前に、レビューする必要があります。

GitLab HAR recorder

GitLab HAR Recorderは、HTTPメッセージを記録し、HARファイルに保存するためのコマンドラインツールです。

Install GitLab HAR recorder

前提要件:

  • Python 3.6以上をインストールします。
  • Microsoft Windowsの場合は、Microsoft Visual C++ 14.0もインストールする必要があります。Visual Studio Downloads pageのVisual Studio用ビルドツールに含まれています。
  • HAR Recorderをインストールします。

+GitLab HAR recorderをインストールする:

pip install gitlab-har-recorder --extra-index-url https://gitlab.com/api/v4/projects/22441624/packages/pypi/simple

Create a HAR file with GitLab HAR recorder

  1. プロキシポートとHARファイル名でレコーダーを起動します。
  2. プロキシを使用して、ブラウザのアクションを完了します。
    1. プロキシが使用されていることを確認してください!
  3. レコーダーを停止します。

Insomnia API client

Insomnia API clientは、多くの用途の中でも、APIの設計、記述、テストに役立つAPI設計ツールです。Web APIファジングで使用できるHARファイルを生成するためにも使用できます。

Create a HAR file with the Insomnia API client

  1. APIを定義またはインポートします。
    • Postman v2.
    • cURL.
    • OpenAPI v2, v3.
  2. 各APIコールが機能することを確認します。
    • OpenAPI仕様をインポートした場合は、作業データを追加します。
  3. API > Import/Export(インポート/エクスポート)を選択します。
  4. Export Data(データのエクスポート) > Current Workspace(現在のワークスペース)を選択します。
  5. HARファイルに含めるリクエストを選択します。
  6. エクスポートを選択します。
  7. Select Export Type(エクスポートタイプの選択)ドロップダウンリストで、HAR – HTTP Archive Formatを選択します。
  8. 完了を選択します。
  9. HARファイルの場所とファイル名を入力します。

Fiddlerデバッグproxy

Fiddlerは、Webデバッガツールです。HTTPおよびHTTP(S)のネットワークトラフィックをキャプチャし、各リクエストを調べることができます。また、HAR形式でリクエストとレスポンスをエクスポートできます。

Create a HAR file with Fiddler

  1. Fiddler home pageにアクセスしてサインインします。アカウントをまだお持ちでない場合は、アカウントを作成してください。
  2. APIを呼び出すページを参照します。Fiddlerはリクエストを自動的にキャプチャします。
  3. 1つまたは複数のリクエストを選択し、コンテキストメニューからエクスポート > Selected Sessions(選択されたセッション)を選択します。
  4. Choose Format(形式を選択)ドロップダウンリストで、HTTPArchive v1.2を選択します。
  5. ファイル名を入力して、保存を選択します。

Fiddlerに、エクスポートが成功したことを確認するポップアップメッセージが表示されます。

Safari web browser

Safariは、Appleが管理するWebブラウザです。Web開発の進化に伴い、ブラウザは新しい機能をサポートするようになります。Safariを使用すると、ネットワークトラフィックを調査し、HARファイルとしてエクスポートできます。

Create a HAR file with Safari

前提要件:

  • Developメニュー項目を有効にします。
    1. Safariの設定を開きます。Command+,を押すか、メニューからSafari > 設定を選択します。
    2. 高度な設定タブを選択し、Show Develop menu item in menu barを選択します。
    3. 設定ウィンドウを閉じます。
  1. Web Inspectorを開きます。Option+Command+iを押すか、メニューからDevelop > Show Web Inspector(Web Inspectorを表示)を選択します。
  2. ネットワークタブを選択し、Preserve Log(ログを保持)を選択します。
  3. APIを呼び出すページを参照します。
  4. Web Inspectorを開き、ネットワークタブを選択します
  5. エクスポートするリクエストを右クリックし、Export HAR(HARをエクスポート)を選択します。
  6. ファイル名を入力して、保存を選択します。

Chrome web browser

Chromeは、Googleが管理するWebブラウザです。Web開発の進化に伴い、ブラウザは新しい機能をサポートするようになります。Chromeを使用すると、ネットワークトラフィックを調査し、HARファイルとしてエクスポートできます。

Create a HAR file with Chrome

  1. Chromeのコンテキストメニューから、Inspectを選択します。
  2. ネットワークタブを選択します。
  3. Preserve log(ログを保持)を選択します。
  4. APIを呼び出すページを参照します。
  5. 1つまたは複数のリクエストを選択します。
  6. 右クリックしてSave all as HAR with content(コンテンツ付きでHARとしてすべて保存)を選択します。
  7. ファイル名を入力して、保存を選択します。
  8. 追加のリクエストを追加するには、それらを選択して同じファイルに保存します。

Firefox web browser

Firefoxは、Mozillaが管理するWebブラウザです。Web開発の進化に伴い、ブラウザは新しい機能をサポートするようになります。Firefoxを使用すると、ネットワークトラフィックを調査し、HARファイルとしてエクスポートできます。

Create a HAR file with Firefox

  1. Firefoxのコンテキストメニューから、Inspectを選択します。
  2. ネットワークタブを選択します。
  3. APIを呼び出すページを参照します。
  4. ネットワークタブを確認し、リクエストが記録されていることを確認します。メッセージPerform a request or Reload the page to see detailed information about network activityがある場合は、再読み込みを選択してリクエストの記録を開始します。
  5. 1つまたは複数のリクエストを選択します。
  6. 右クリックしてSave All As HAR(HARとしてすべて保存)を選択します。
  7. ファイル名を入力して、保存を選択します。
  8. 追加のリクエストを追加するには、それらを選択して同じファイルに保存します。

HAR verification

HARファイルを使用する前に、機密情報が公開されていないことを確認することが重要です。

HARファイルごとに、次のことを行う必要があります:

  • HARファイルの内容を表示する
  • 機密情報についてHARファイルをレビューする
  • 機密情報を編集または削除する

View HAR file contents

構造化された方法でコンテンツを表示できるツールで、HARファイルの内容を表示することをお勧めします。いくつかのHARファイルビューアがオンラインで利用できます。HARファイルをアップロードしたくない場合は、コンピューターにインストールされているツールを使用できます。HARファイルはJSON形式を使用しているため、テキストエディタで表示することもできます。

HARファイルの表示に推奨されるツールは次のとおりです:

Review HAR file content

HARファイルで次のいずれかを確認します:

  • アプリケーションへのアクセスを許可するのに役立つ可能性のある情報: 認証トークン、認証トークン、クッキー、APIキー。
  • 個人識別情報(PII)

機密情報を編集または削除することを強くお勧めします。

開始するためのチェックリストとして、以下を使用してください。これは網羅的なリストではありません。

  • シークレットを探します。例: アプリケーションで認証が必要な場合は、一般的な場所または認証情報を確認してください:
    • 認証関連ヘッダー。例: Cookie、認可。これらのヘッダーには有効な情報が含まれている可能性があります。
    • 認証に関連するリクエスト。これらのリクエストの本文には、ユーザー認証情報やトークンなどの情報が含まれている場合があります。
    • セッションクッキー。セッションクッキーは、アプリケーションへのアクセスを許可する可能性があります。これらのトークンの場所は異なる場合があります。ヘッダー、クエリパラメータ、または本文に存在する可能性があります。
  • 個人識別情報を探す
    • 例: アプリケーションがユーザーのリストとそれらの個人データ(電話、名前、メール)取得する場合。
    • 認証情報にも個人データが含まれている可能性があります。

Edit or remove sensitive information

HARファイルコンテンツのレビュー中に見つかった機密情報を編集または削除します。HARファイルはJSONファイルであり、任意のテキストエディタで編集できます。

HARファイルを編集した後、HARファイルビューアで開いて、形式と構造がそのまま残っていることを確認します。