사용 가능한 CI/CD 변수 및 구성 파일

사용 가능한 CI/CD 변수

CI/CD 변수 설명
SECURE_ANALYZERS_PREFIX 분석기를 다운로드할 도커 레지스트리 기본 주소를 지정합니다.
DAST_API_DISABLED API 보안 테스트 스캔을 비활성화하려면 ‘true’ 또는 ‘1’로 설정합니다.
DAST_API_DISABLED_FOR_DEFAULT_BRANCH 기본 (프로덕션) 브랜치에서만 API 보안 테스트 스캔을 비활성화하려면 ‘true’ 또는 ‘1’로 설정합니다.
DAST_API_VERSION API 보안 테스트 컨테이너 버전을 지정합니다. 기본값은 3입니다.
DAST_API_IMAGE_SUFFIX 컨테이너 이미지 접미사를 지정합니다. 기본값은 없음입니다.
DAST_API_API_PORT API 보안 테스트 엔진에서 사용하는 통신 포트 번호를 지정합니다. 기본값은 5500입니다. GitLab 15.5에서 도입됨.
DAST_API_TARGET_URL API 테스트 대상의 기본 URL입니다.
DAST_API_CONFIG API 보안 테스트 구성 파일. 기본값은 .gitlab-dast-api.yml입니다.
DAST_API_PROFILE 테스트 중에 사용할 구성 프로필. 기본값은 Quick입니다.
DAST_API_EXCLUDE_PATHS 테스트에서 제외할 API URL 경로입니다.
DAST_API_EXCLUDE_URLS 테스트에서 제외할 API URL입니다.
DAST_API_EXCLUDE_PARAMETER_ENV 제외할 매개변수를 포함하는 JSON 문자열입니다.
DAST_API_EXCLUDE_PARAMETER_FILE 제외할 매개변수가 포함된 JSON 파일의 경로입니다.
DAST_API_REQUEST_HEADERS 각 스캔 요청에 포함할 헤더의 쉼표로 구분된 디렉터리입니다. 마스크된 변수에 비밀 헤더 값을 저장할 때 DAST_API_REQUEST_HEADERS_BASE64를 사용하는 것을 고려하십시오. 문자 집합 제한이 있는 경우 DAST_API_REQUEST_HEADERS_BASE64를 고려하십시오.
DAST_API_REQUEST_HEADERS_BASE64 각 스캔 요청에 포함할 헤더의 쉼표로 구분된 디렉터리입니다. Base64로 인코딩됩니다. GitLab 15.6에서 도입됨.
DAST_API_OPENAPI OpenAPI 사양 파일 또는 URL입니다.
DAST_API_OPENAPI_RELAXED_VALIDATION 문서 유효성 검사를 완화합니다. 기본값은 비활성화됩니다.
DAST_API_OPENAPI_ALL_MEDIA_TYPES 요청을 생성할 때 모든 지원되는 미디어 유형을 사용합니다. 테스트 시간이 길어집니다. 기본값은 비활성화됩니다.
DAST_API_OPENAPI_MEDIA_TYPES 테스트에 허용된 콜론(:)으로 구분된 미디어 유형입니다. 기본값은 비활성화됩니다.
DAST_API_HAR HTTP 아카이브(HAR) 파일입니다.
DAST_API_GRAPHQL GraphQL 엔드포인트의 경로입니다. 예: /api/graphql. GitLab 15.4에서 도입됨.
DAST_API_GRAPHQL_SCHEMA JSON 형식의 GraphQL 스키마의 URL 또는 파일 이름입니다. GitLab 15.4에서 도입됨.
DAST_API_POSTMAN_COLLECTION Postman Collection 파일입니다.
DAST_API_POSTMAN_COLLECTION_VARIABLES Postman 변수 값 추출을 위한 JSON 파일의 경로입니다. 쉼표로 구분된 파일 지원은 GitLab 15.1에서 도입됨.
DAST_API_OVERRIDES_FILE 재정의를 포함하는 JSON 파일의 경로입니다.
DAST_API_OVERRIDES_ENV 재정의할 헤더를 포함하는 JSON 문자열입니다.
DAST_API_OVERRIDES_CMD 재정의 명령입니다.
DAST_API_OVERRIDES_CMD_VERBOSE 임의의 값으로 설정될 때 재정의 명령 출력을 작업 출력의 일부로 표시합니다.
DAST_API_PRE_SCRIPT 스캔 세션 시작 전에 사용자 명령 또는 스크립트를 실행합니다.
DAST_API_POST_SCRIPT 스캔 세션이 완료된 후에 사용자 명령 또는 스크립트를 실행합니다.
DAST_API_OVERRIDES_INTERVAL 몇 초마다 재정의 명령을 실행할지를 지정합니다. 기본값은 0입니다. (한 번).
DAST_API_HTTP_USERNAME HTTP 인증을 위한 사용자 이름입니다.
DAST_API_HTTP_PASSWORD HTTP 인증을 위한 비밀번호입니다. 대신 DAST_API_HTTP_PASSWORD_BASE64를 사용하는 것을 고려하십시오.
DAST_API_HTTP_PASSWORD_BASE64 HTTP 인증을 위한 비밀번호를 Base64로 인코딩합니다. GitLab 15.4에서 도입됨.
DAST_API_SERVICE_START_TIMEOUT 대상 API가 사용 가능해질 때까지 대기하는 시간(초). 기본값은 300초입니다.
DAST_API_TIMEOUT API 응답을 기다리는 시간(초). 기본값은 30초입니다.

구성 파일

빠르게 시작하기 위해 GitLab은 구성 파일을 제공합니다. gitlab-dast-api-config.yml를 참조하십시오. 이 파일에는 여러 개의 테스트 프로필이 포함되어 있으며 각 프로필의 실행 시간은 테스트 수가 증가함에 따라 늘어납니다. 구성 파일을 사용하려면 리포지터리 루트에 .gitlab/gitlab-dast-api-config.yml을 추가하십시오.

프로필

기본 구성 파일에는 다음과 같은 프로필이 미리 정의되어 있습니다. 프로필은 사용자 정의 구성을 만들고, 추가 및 제거할 수 있습니다.

패시브

  • 애플리케이션 정보 확인
  • 평문 인증 확인
  • JSON 해킹 확인
  • 민감한 정보 확인
  • 세션 쿠키 확인

빠른

  • 애플리케이션 정보 확인
  • 평문 인증 확인
  • FrameworkDebugModeCheck
  • HTML 삽입 확인
  • 보안되지 않은 HTTP 메서드 확인
  • JSON 해킹 확인
  • JSON 삽입 확인
  • 민감한 정보 확인
  • 세션 쿠키 확인
  • SQL 삽입 확인
  • 토큰 확인
  • XML 삽입 확인

전체

  • 애플리케이션 정보 확인
  • 평문 인증 확인
  • CORS 확인
  • DNS Rebinding 확인
  • 프레임워크 디버그 모드 확인
  • HTML 삽입 확인
  • 보안되지 않은 HTTP 메서드 확인
  • JSON 해킹 확인
  • JSON 삽입 확인
  • 열린 리디렉션 확인
  • 민감한 파일 확인
  • 민감한 정보 확인
  • 세션 쿠키 확인
  • SQL 삽입 확인
  • TLS 구성 확인
  • 토큰 확인
  • XML 삽입 확인