HAR 파일 만들기
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
HTTP archive(HAR) 형식 파일은 HTTP 요청과 HTTP 응답에 대한 정보를 교환하기 위한 업계 표준입니다. HAR 파일은 CI/CD 파이프라인에서 웹 API 퍼즈 테스트를 수행하는 데 사용할 수 있습니다.
HTTP archive(HAR) 형식 파일은 HTTP 요청과 HTTP 응답에 대한 정보를 교환하기 위한 업계 표준입니다.
HAR 파일의 내용은 JSON 형식이며, 웹 사이트와의 브라우저 상호작용을 담고 있습니다.
파일 확장자로는 .har를 주로 사용합니다.
HAR 파일은 CI/CD 파이프라인에서 웹 API 퍼즈 테스트를 수행하는 데 사용할 수 있습니다.
HAR 파일은 웹 클라이언트와 웹 서버 사이에 교환된 정보를 저장합니다. 인증 토큰, API 키, 세션 쿠키 같은 민감한 정보도 저장될 수 있습니다. HAR 파일을 리포지터리에 추가하기 전에 파일 내용을 검토하기를 권장합니다.
HAR 파일 생성#
HAR 파일은 직접 만들거나 웹 세션 기록용 전용 도구를 사용해 만들 수 있습니다. 전용 도구를 사용하기를 권장합니다. 다만 이러한 도구로 만든 파일이 민감한 정보를 노출하지 않으며 안전하게 사용할 수 있는지 반드시 확인해야 합니다.
다음 도구를 사용하면 네트워크 활동을 기반으로 HAR 파일을 생성할 수 있습니다. 이 도구들은 네트워크 활동을 자동으로 기록하고 HAR 파일을 생성합니다.
- GitLab HAR recorder
- Insomnia API client
- Fiddler debugging proxy
- Safari 웹 브라우저
- Chrome 웹 브라우저
- Firefox 웹 브라우저
HAR 파일에는 인증 토큰, API 키, 세션 쿠키 같은 민감한 정보가 포함될 수 있습니다. HAR 파일을 리포지터리에 추가하기 전에 파일 내용을 검토해야 합니다.
GitLab HAR recorder#
GitLab HAR Recorder는 HTTP 메시지를 기록해 HAR 파일로 저장하는 명령줄 도구입니다.
GitLab HAR recorder 설치#
사전 요구 사항:
- Python 3.6 이상을 설치합니다.
- Microsoft Windows에서는
Microsoft Visual C++ 14.0도 설치해야 합니다. 이 구성 요소는 Visual Studio 다운로드 페이지에서 제공하는 Build Tools for 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
GitLab HAR recorder로 HAR 파일 만들기#
- 프록시 포트와 HAR 파일 이름을 지정해 레코더를 시작합니다.
- 프록시를 사용해 브라우저 작업을 수행합니다.
- 프록시가 사용되고 있는지 반드시 확인합니다.
- 레코더를 중지합니다.
Insomnia API client#
Insomnia API client는 API 설계 도구로, 여러 용도 중에서도 API를 설계하고 기술하고 테스트하는 데 도움이 됩니다. 웹 API 퍼즈 테스트에 사용할 HAR 파일을 생성하는 데에도 활용할 수 있습니다.
Insomnia API client로 HAR 파일 만들기#
- API를 정의하거나 가져옵니다.
- Postman v2.
- Curl.
- OpenAPI v2, v3.
- 각 API 호출이 동작하는지 확인합니다.
- OpenAPI 명세를 가져왔다면 전체를 확인하면서 동작하는 데이터를 추가합니다.
- API > Import/Export를 선택합니다.
- Export Data > Current Workspace를 선택합니다.
- HAR 파일에 포함할 요청을 선택합니다.
- Export를 선택합니다.
- Select Export Type 드롭다운 목록에서 HAR -- HTTP Archive Format을 선택합니다.
- Done을 선택합니다.
- HAR 파일의 위치와 파일 이름을 입력합니다.
Fiddler debugging proxy#
Fiddler는 웹 디버거 도구입니다. HTTP 및 HTTP(S) 네트워크 트래픽을 캡처하고 각 요청을 살펴볼 수 있게 해 줍니다. 또한 요청과 응답을 HAR 형식으로 내보낼 수 있습니다.
Fiddler로 HAR 파일 만들기#
- Fiddler 홈페이지로 이동해 로그인합니다. 계정이 없다면 계정을 만듭니다.
- API를 호출하는 페이지를 탐색합니다. Fiddler가 요청을 자동으로 캡처합니다.
- 요청을 하나 이상 선택한 다음 컨텍스트 메뉴에서 Export > Selected Sessions를 선택합니다.
- Choose Format 드롭다운 목록에서 HTTPArchive v1.2를 선택합니다.
- 파일 이름을 입력하고 Save를 선택합니다.
Fiddler는 내보내기가 성공했음을 알리는 팝업 메시지를 표시합니다.
Safari 웹 브라우저#
Safari는 Apple 이 관리하는 웹 브라우저입니다. 웹 개발이 발전하면서 브라우저도 새로운 기능을 지원합니다. Safari에서는 네트워크 트래픽을 살펴보고 HAR 파일로 내보낼 수 있습니다.
Safari로 HAR 파일 만들기#
사전 요구 사항:
Develop메뉴 항목을 활성화합니다.- Safari의 환경 설정을 엽니다. Command+,를 누르거나 메뉴에서 Safari > Preferences를 선택합니다.
- Advanced 탭을 선택한 다음
Show Develop menu item in menu bar를 선택합니다. - Preferences 창을 닫습니다.
- Web Inspector를 엽니다. Option+Command+i를 누르거나 메뉴에서 Develop > Show Web Inspector를 선택합니다.
- Network 탭을 선택하고 Preserve Log를 선택합니다.
- API를 호출하는 페이지를 탐색합니다.
- Web Inspector를 열고 Network 탭을 선택합니다
- 내보낼 요청을 오른쪽 클릭하고 Export HAR를 선택합니다.
- 파일 이름을 입력하고 Save를 선택합니다.
Chrome 웹 브라우저#
Chrome은 Google 이 관리하는 웹 브라우저입니다. 웹 개발이 발전하면서 브라우저도 새로운 기능을 지원합니다. Chrome에서는 네트워크 트래픽을 살펴보고 HAR 파일로 내보낼 수 있습니다.
Chrome으로 HAR 파일 만들기#
- Chrome 컨텍스트 메뉴에서 Inspect를 선택합니다.
- Network 탭을 선택합니다.
- Preserve log를 선택합니다.
- API를 호출하는 페이지를 탐색합니다.
- 요청을 하나 이상 선택합니다.
- 오른쪽 클릭하고 Save all as HAR with content를 선택합니다.
- 파일 이름을 입력하고 Save를 선택합니다.
- 요청을 추가로 덧붙이려면 해당 요청을 선택해 같은 파일에 저장합니다.
Firefox 웹 브라우저#
Firefox는 Mozilla가 관리하는 웹 브라우저입니다. 웹 개발이 발전하면서 브라우저도 새로운 기능을 지원합니다. Firefox에서는 네트워크 트래픽을 살펴보고 HAR 파일로 내보낼 수 있습니다.
Firefox로 HAR 파일 만들기#
- Firefox 컨텍스트 메뉴에서 Inspect를 선택합니다.
- Network 탭을 선택합니다.
- API를 호출하는 페이지를 탐색합니다.
- Network 탭을 확인해 요청이 기록되고 있는지 점검합니다.
Perform a request or Reload the page to see detailed information about network activity메시지가 표시되면 Reload를 선택해 요청 기록을 시작합니다. - 요청을 하나 이상 선택합니다.
- 오른쪽 클릭하고 Save All As HAR를 선택합니다.
- 파일 이름을 입력하고 Save를 선택합니다.
- 요청을 추가로 덧붙이려면 해당 요청을 선택해 같은 파일에 저장합니다.
HAR 검증#
HAR 파일을 사용하기 전에 민감한 정보가 노출되지 않는지 확인하는 것이 중요합니다.
각 HAR 파일에 대해 다음을 수행합니다.
- HAR 파일의 내용을 확인합니다
- HAR 파일에 민감한 정보가 있는지 검토합니다
- 민감한 정보를 편집하거나 제거합니다
HAR 파일 내용 보기#
HAR 파일의 내용은 구조화된 형태로 보여 주는 도구에서 확인하기를 권장합니다. 여러 HAR 파일 뷰어를 온라인에서 사용할 수 있습니다. HAR 파일을 업로드하고 싶지 않다면 컴퓨터에 설치된 도구를 사용할 수 있습니다. HAR 파일은 JSON 형식이므로 텍스트 편집기에서도 볼 수 있습니다.
HAR 파일을 보는 데 권장되는 도구는 다음과 같습니다.
- HAR Viewer - (온라인)
- Google Admin Toolbox HAR Analyzer - (온라인)
- Fiddler - 로컬
- Insomnia API Client - 로컬
HAR 파일 내용 검토#
HAR 파일에서 다음 항목을 검토합니다.
- 애플리케이션 접근 권한을 넘겨줄 수 있는 정보. 예를 들어 인증 토큰, 쿠키, API 키가 있습니다.
- 개인 식별 정보(PII).
민감한 정보는 반드시 편집하거나 제거하기를 권장합니다.
다음 항목을 시작 체크리스트로 활용합니다. 전체 목록은 아닙니다.
- 시크릿을 찾습니다. 예를 들어 애플리케이션에 인증이 필요하다면 인증 정보가 있을 만한
일반적인 위치를 확인합니다.
- 인증 관련 헤더. 예를 들어 쿠키, authorization 헤더가 있습니다. 이러한 헤더에는 유효한 정보가 들어 있을 수 있습니다.
- 인증과 관련된 요청. 이러한 요청의 본문에는 사용자 자격 증명이나 토큰 같은 정보가 들어 있을 수 있습니다.
- 세션 토큰. 세션 토큰은 애플리케이션 접근 권한을 넘겨줄 수 있습니다. 이러한 토큰의 위치는 다양합니다. 헤더, 쿼리 파라미터, 본문에 있을 수 있습니다.
- 개인 식별 정보를 찾습니다
- 예를 들어 애플리케이션이 사용자 목록과 전화번호, 이름, 이메일 같은 개인 데이터를 조회하는 경우입니다.
- 인증 정보에도 개인 정보가 포함될 수 있습니다.
민감한 정보 편집 또는 제거#
HAR 파일 내용 검토에서 발견한 민감한 정보를 편집하거나 제거합니다. HAR 파일은 JSON 파일이므로 어떤 텍스트 편집기에서도 편집할 수 있습니다.
HAR 파일을 편집한 뒤에는 HAR 파일 뷰어에서 열어 형식과 구조가 손상되지 않았는지 확인합니다.