DAST 버전 4 브라우저 기반 분석기에서 DAST 버전 5로 마이그레이션

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

다음 모든 조건이 적용되는 경우 이 마이그레이션 가이드를 따르세요:

  1. CI/CD 파이프라인에서 DAST 스캔을 실행하기 위해 GitLab 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로 제공됩니다. GitLab 17.0의 세 번째 Breaking Change Window인 2024-05-06 09:00 UTC에서 2024-05-08 22:00 UTC부터 DAST 템플릿 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 버전 4에 남아 있을 수 있습니다. 버전 4 계속 사용하기를 참조하세요.

남은 검사:

  • CWE-79: 크로스 사이트 스크립팅(XSS)

  • CWE-384: 세션 고정

  • CWE-16: TRACE HTTP

남은 검사의 진행 상황은 남은 활성 검사 for 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
DAST_BROWSER_DEVTOOLS_LOG 이름 변경 DAST_LOG_DEVTOOLS_CONFIG
DAST_BROWSER_DOM_READY_AFTER_TIMEOUT 이름 변경 DAST_PAGE_DOM_STABLE_WAIT
DAST_BROWSER_ELEMENT_TIMEOUT 이름 변경 DAST_PAGE_ELEMENT_READY_TIMEOUT
DAST_BROWSER_EXCLUDED_ELEMENTS 이름 변경 DAST_SCOPE_EXCLUDE_ELEMENTS
DAST_BROWSER_EXCLUDED_HOSTS 이름 변경 DAST_SCOPE_EXCLUDE_HOSTS
DAST_BROWSER_EXTRACT_ELEMENT_TIMEOUT 이름 변경 DAST_CRAWL_EXTRACT_ELEMENT_TIMEOUT
DAST_BROWSER_FILE_LOG 이름 변경 DAST_LOG_FILE_CONFIG
DAST_BROWSER_FILE_LOG_PATH 제거 더 이상 필요 없음
DAST_BROWSER_IGNORED_HOSTS 이름 변경 DAST_SCOPE_IGNORE_HOSTS
DAST_BROWSER_INCLUDE_ONLY_RULES 이름 변경 DAST_CHECKS_TO_RUN
DAST_BROWSER_LOG 이름 변경 DAST_LOG_CONFIG
DAST_BROWSER_LOG_CHROMIUM_OUTPUT 이름 변경 DAST_LOG_BROWSER_OUTPUT
DAST_BROWSER_MAX_ACTIONS 이름 변경 DAST_CRAWL_MAX_ACTIONS
DAST_BROWSER_MAX_DEPTH 이름 변경 DAST_CRAWL_MAX_DEPTH
DAST_BROWSER_MAX_RESPONSE_SIZE_MB 이름 변경 DAST_PAGE_MAX_RESPONSE_SIZE_MB
DAST_BROWSER_NAVIGATION_STABILITY_TIMEOUT 이름 변경 DAST_PAGE_DOM_READY_TIMEOUT
DAST_BROWSER_NAVIGATION_TIMEOUT 이름 변경 DAST_PAGE_READY_AFTER_NAVIGATION_TIMEOUT
DAST_BROWSER_NUMBER_OF_BROWSERS 이름 변경 DAST_CRAWL_WORKER_COUNT
DAST_BROWSER_PAGE_LOADING_SELECTOR 이름 변경 DAST_PAGE_IS_LOADING_ELEMENT
DAST_BROWSER_PAGE_READY_SELECTOR 이름 변경 DAST_PAGE_IS_READY_ELEMENT
DAST_BROWSER_PASSIVE_CHECK_WORKERS 이름 변경 DAST_PASSIVE_SCAN_WORKER_COUNT
DAST_BROWSER_SCAN 제거 더 이상 필요 없음
DAST_BROWSER_SEARCH_ELEMENT_TIMEOUT 이름 변경 DAST_CRAWL_SEARCH_ELEMENT_TIMEOUT
DAST_BROWSER_STABILITY_TIMEOUT 이름 변경 DAST_PAGE_READY_AFTER_ACTION_TIMEOUT
DAST_EXCLUDE_RULES 이름 변경 DAST_CHECKS_TO_EXCLUDE
DAST_EXCLUDE_URLS 이름 변경 DAST_SCOPE_EXCLUDE_URLS
DAST_FF_ENABLE_BAS 제거 지원되지 않음
DAST_FILE_LOG_PATH 제거 더 이상 필요 없음
DAST_FIRST_SUBMIT_FIELD 이름 변경 DAST_AUTH_FIRST_SUBMIT_FIELD
DAST_FULL_SCAN_ENABLED 이름 변경 DAST_FULL_SCAN
DAST_PASSWORD 이름 변경 DAST_AUTH_PASSWORD
DAST_PASSWORD_FIELD 이름 변경 DAST_AUTH_PASSWORD_FIELD
DAST_PATHS 이름 변경 DAST_TARGET_PATHS
DAST_PATHS_FILE 이름 변경 DAST_TARGET_PATHS_FROM_FILE
DAST_PKCS12_CERTIFICATE_BASE64 작업 필요 없음  
DAST_PKCS12_PASSWORD 작업 필요 없음  
DAST_REQUEST_HEADERS 작업 필요 없음  
DAST_SKIP_TARGET_CHECK 이름 변경 DAST_TARGET_CHECK_SKIP
DAST_SUBMIT_FIELD 이름 변경 DAST_AUTH_SUBMIT_FIELD
DAST_TARGET_AVAILABILITY_TIMEOUT 이름 변경 DAST_TARGET_CHECK_TIMEOUT
DAST_USERNAME 이름 변경 DAST_AUTH_USERNAME
DAST_USERNAME_FIELD 이름 변경 DAST_AUTH_USERNAME_FIELD
DAST_WEBSITE 이름 변경 DAST_TARGET_URL