DAST 버전 4 브라우저 기반 분석기에서 DAST 버전 5로 이관

DAST 버전 5는 DAST 버전 4를 대체합니다. 본 문서는 DAST 버전 4 브라우저 기반 분석기에서 DAST 버전 5로 마이그레이션하기 위한 가이드 역할을 합니다.

다음 조건을 모두 충족하는 경우 이 마이그레이션 가이드를 따르세요:

  1. GitLab DAST를 사용하여 CI/CD 파이프라인에서 DAST 스캔을 실행합니다.
  2. DAST CI/CD 작업은 DAST.gitlab-ci.yml 또는 DAST.latest.gitlab-ci.yml 템플릿 중 하나를 포함하여 구성됩니다.
  3. CI/CD 변수 DAST_VERSION이 설정되지 않았거나 4 이하로 설정되어 있습니다.
  4. CI/CD 변수 DAST_BROWSER_SCANtrue로 설정되어 있습니다.

아래 섹션을 읽고 권장 사항을 준수하여 DAST 버전 5로 마이그레이션하세요.

DAST 분석기 버전

DAST는 4와 5 두 가지 주요 버전으로 나뉩니다. 2024-05-06 09:00 UTC부터 2024-05-08 22:00 UTC까지 제3의 GitLab 17.0 파기 변경 창부터 DAST.gitlab-ci.ymlDAST.latest.gitlab-ci.yml 템플릿은 기본적으로 DAST 버전 5를 사용합니다. DAST 버전 4를 계속 사용할 수 있지만, DAST 버전 5로 마이그레이션하는 중요한 조치로만 계속 사용해야 합니다. 자세한 내용은 버전 4 계속 사용하기를 참조하세요.

각 DAST 주요 버전은 다른 분석기를 실행합니다:

  • DAST 버전 4는 프록시 기반 또는 브라우저 기반 분석기 중 하나를 실행하며, 기본적으로 프록시 기반 분석기를 사용합니다.
  • DAST 버전 5는 브라우저 기반 분석기만 실행합니다.

DAST 버전 5는 일련의 새 CI/CD 변수를 사용합니다. DAST 버전 4 변수 이름에 대한 별칭이 만들어졌습니다.

수정해야 할 내용:

  • GitLab 16.11 이전에 DAST 버전 5를 사용하여 DAST 스캔을 테스트하려면 CI/CD 변수 DAST_VERSION을 5로 설정하세요.

버전 4 계속 사용하기

GitLab 18.0까지 DAST 버전 4 브라우저 기반 분석기를 계속 사용할 수 있습니다. 그러나 이 레거시 분석기의 버그와 취약점은 수정되지 않습니다.

수정해야 할 내용:

  • DAST 버전 4를 계속 사용하려면 CI/CD 변수 DAST_VERSION을 4로 설정하세요.

아티팩트

GitLab 17.0은 DAST 버전 5가 생성한 아티팩트를 DAST CI 작업에 자동으로 게시합니다.

수정해야 할 내용:

  • CI 작업 정의에서 artifacts를 제거하세요. 파일 로그, 크롤 그래프 또는 인증 보고서를 노출하기 위해 재정의한 경우 CI/CD 변수 DAST_BROWSER_FILE_LOG_PATHDAST_FILE_LOG_PATH는 더 이상 필요하지 않습니다.

취약점 검사 커버리지

브라우저 기반 DAST 버전 4에서 프록시 기반 분석기를 사용하여 활성 검사를 수행했지만 브라우저 기반 DAST 버전 5에는 프록시 기반 분석기가 없으므로 버전 5로 마이그레이션할 때 검사 커버리지에 차이가 있습니다.

브라우저 기반 DAST 버전 5는 브라우저 기반 분석기가 다루지 않는 3가지 프록시 기반 활성 검사가 있습니다. 완전한 커버리지를 제공하기 위해 추가적인 검사를 추가하는 작업이 진행 중이지만, 이 작업이 완료될 때까지 DAST 버전 4를 계속 사용할 수 있습니다. 자세한 내용은 버전 4 계속 사용하기를 참조하세요.

남아 있는 검사:

  • CWE-79: Cross-site Scripting (XSS)
  • CWE-384: Session Fixation
  • CWE-16: TRACE HTTP

남아 있는 검사의 진행 상황은 epic 남아 있는 BBD의 활성 검사를 참조하세요.

CI/CD 변수 변경 사항

다음 표는 브라우저 기반 분석기 DAST 버전 4 CI/CD 변수마다 필요한 마이그레이션 조치를 개요로 설명합니다. 브라우저 기반 분석기 구성에 대한 자세한 내용은 구성을 참조하세요.

DAST 버전 4 CI/CD 변수 필요한 조치 참고 사항
DAST_ADVERTISE_SCAN 이름 변경 DAST_REQUEST_ADVERTISE_SCAN로 변경
DAST_AFTER_LOGIN_ACTIONS 이름 변경 DAST_AUTH_AFTER_LOGIN_ACTIONS로 변경
DAST_AUTH_COOKIES 이름 변경 DAST_AUTH_COOKIE_NAMES로 변경
DAST_AUTH_DISABLE_CLEAR_FIELDS 이름 변경 DAST_AUTH_CLEAR_INPUT_FIELDS로 변경
DAST_AUTH_REPORT 조치 필요 없음  
DAST_AUTH_TYPE 조치 필요 없음  
DAST_AUTH_URL 조치 필요 없음  
DAST_AUTH_VERIFICATION_LOGIN_FORM 이름 변경 DAST_AUTH_SUCCESS_IF_NO_LOGIN_FORM로 변경
DAST_AUTH_VERIFICATION_SELECTOR 이름 변경 DAST_AUTH_SUCCESS_IF_ELEMENT_FOUND로 변경
DAST_AUTH_VERIFICATION_URL 이름 변경 DAST_AUTH_SUCCESS_IF_AT_URL로 변경
DAST_BROWSER_PATH_TO_LOGIN_FORM 이름 변경 DAST_AUTH_BEFORE_LOGIN_ACTIONS로 변경
DAST_BROWSER_ACTION_STABILITY_TIMEOUT 교체 DAST_PAGE_DOM_READY_TIMEOUT로 교체
DAST_BROWSER_ACTION_TIMEOUT 제거 더 이상 지원되지 않음
DAST_BROWSER_ALLOWED_HOSTS 이름 변경 DAST_SCOPE_ALLOW_HOSTS로 변경
DAST_BROWSER_CACHE 이름 변경 DAST_USE_CACHE로 변경
DAST_BROWSER_COOKIES 이름 변경 DAST_REQUEST_COOKIES로 변경
DAST_BROWSER_CRAWL_GRAPH 이름 변경 DAST_CRAWL_GRAPH로 변경
DAST_BROWSER_CRAWL_TIMEOUT 이름 변경 DAST_CRAWL_TIMEOUT로 변경
… (중략) … … (중략) … … (중략) …