DAST 버전 4 브라우저 기반 분석기에서 DAST 버전 5로 마이그레이션
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
DAST 버전 5는 DAST 버전 4를 대체합니다. 다음 조건이 모두 해당되면 이 마이그레이션 가이드를 따르세요: 다음 섹션을 읽고 권장 변경 사항을 적용하여 DAST 버전 5로 마이그레이션하세요. DAST는 4와 5의 두 가지 주요 버전으로 제공됩니다.
히스토리
- DAST 프록시 기반 분석기가 GitLab 16.6에서 사용 중단되었으며 17.0에서 제거되었습니다.
DAST 버전 5는 DAST 버전 4를 대체합니다. 이 문서는 DAST 버전 4 브라우저 기반 분석기에서 DAST 버전 5로 마이그레이션하기 위한 가이드입니다.
다음 조건이 모두 해당되면 이 마이그레이션 가이드를 따르세요:
- GitLab DAST를 사용하여 CI/CD 파이프라인에서 DAST 스캔을 실행합니다.
- DAST CI/CD job이 DAST 템플릿
DAST.gitlab-ci.yml또는DAST.latest.gitlab-ci.yml중 하나를 포함하여 구성됩니다. - CI/CD 변수
DAST_VERSION이 설정되지 않았거나4이하로 설정되어 있습니다. - CI/CD 변수
DAST_BROWSER_SCAN이true로 설정되어 있습니다.
다음 섹션을 읽고 권장 변경 사항을 적용하여 DAST 버전 5로 마이그레이션하세요.
DAST 분석기 버전#
DAST는 4와 5의 두 가지 주요 버전으로 제공됩니다.
GitLab 17.0부터 DAST 템플릿 DAST.gitlab-ci.yml 및 DAST.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를 테스트하려면 CI/CD 변수
DAST_VERSION을 5로 설정합니다. - job 실패를 방지하려면
DAST_WEBSITE를 제거하거나 이름을 바꾸지 마세요. 16.11 이하 버전의DAST.gitlab-ci.yml템플릿은 여전히DAST_WEBSITE변수를 사용합니다.
GitLab 17.0 이상에서 적용할 변경 사항:
- GitLab 17.0으로 업그레이드한 후
DAST_WEBSITE를DAST_TARGET_URL로 이름을 바꿉니다. DAST_VERSION을 5로 설정하는 새 템플릿을 사용하기 시작하면 CI/CD 변수DAST_VERSION이 설정되지 않았는지 확인합니다.
버전 4 계속 사용#
GitLab 18.0까지 DAST 버전 4 프록시 기반 분석기를 사용할 수 있습니다. 이 레거시 분석기의 버그 및 취약점은 수정되지 않습니다.
적용할 변경 사항:
- DAST 버전 4를 계속 사용하려면 CI/CD 변수
DAST_VERSION을 4로 설정합니다.
아티팩트#
GitLab 17.0은 DAST 버전 5에서 생성된 아티팩트를 DAST CI job에 자동으로 게시합니다.
적용할 변경 사항:
- 파일 로그, 크롤 그래프 또는 인증 보고서를 노출하도록 재정의한 경우 CI job 정의에서
artifacts를 제거합니다. - CI/CD 변수
DAST_BROWSER_FILE_LOG_PATH및DAST_FILE_LOG_PATH는 더 이상 필요하지 않습니다.
취약점 검사 커버리지#
브라우저 기반 DAST 버전 4는 브라우저 기반 분석기에 포함되지 않은 능동 검사를 위해 프록시 기반 분석기 검사를 사용합니다. 브라우저 기반 DAST 버전 5에는 프록시 기반 분석기가 포함되어 있지 않으므로 버전 5로 마이그레이션할 때 검사 커버리지 격차가 있습니다.
브라우저 기반 분석기가 커버하지 않는 프록시 기반 능동 검사가 하나 있습니다. 나머지 능동 검사의 마이그레이션은 에픽 13411에서 제안되었습니다. 마지막 검사가 마이그레이션될 때까지 DAST 버전 4를 유지하려면 버전 4 계속 사용을 참조하세요.
남은 검사:
- CWE-79: 크로스 사이트 스크립팅(XSS)
에픽 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으로GitLab Self-Managed: DAST_WEBSITE를 제거하기 전에 인스턴스를 버전 17.0 이상으로 업그레이드하세요. 이 변수는 17.0 이전 버전의 GitLab과 함께 제공되는 DAST.gitlab-ci.yml 파일을 사용하는 경우 필요합니다. |
