InfoGrab Docs

취약점 관리 정책 스키마

요약

취약점 관리 정책이 있는 YAML 파일은 vulnerability_management_policy 키 아래에 중첩된 취약점 관리 정책 스키마와 일치하는 객체 배열로 구성됩니다. 취약점 관리 정책을 저장할 때 해당 내용은 취약점 관리 정책 스키마에 대해 검증됩니다.

취약점 관리 정책이 있는 YAML 파일은 vulnerability_management_policy 키 아래에 중첩된 취약점 관리 정책 스키마와 일치하는 객체 배열로 구성됩니다.

취약점 관리 정책을 저장할 때 해당 내용은 취약점 관리 정책 스키마에 대해 검증됩니다. JSON 스키마를 읽는 방법에 익숙하지 않은 경우 다음 섹션과 표가 대안을 제공합니다.

필드 유형 필수 설명
vulnerability_management_policy 취약점 관리 정책의 array true 취약점 관리 정책 목록 (최대 5개)

취약점 관리 정책#

필드 유형 필수 설명
name string true 정책 이름. 최대 255자.
description string false 정책 설명.
enabled boolean true 정책을 활성화(true) 또는 비활성화(false)하는 플래그.
rules 규칙의 array true 정책의 기준을 정의하는 규칙 목록 (최대 5개).
policy_scope policy_scopeobject false 지정한 프로젝트, 그룹 또는 컴플라이언스 프레임워크 레이블을 기반으로 하는 정책 범위.
actions 작업의 array true 정책과 일치하는 취약점에 대해 취할 조치.

no_longer_detected 규칙#

이 규칙은 자동 해결 정책의 기준을 정의합니다.

필드 유형 필수 가능한 값 설명
type string true no_longer_detected 규칙 유형.
scanners array true sast, secret_detection, dependency_scanning, container_scanning, dast, coverage_fuzzing, api_fuzzing 이 정책이 적용되는 스캐너를 지정합니다.
severity_levels array true critical, high, medium, low, info, unknown 이 정책이 적용되는 심각도 수준을 지정합니다.

detected 규칙#

이 규칙은 auto_dismiss 또는 severity_override 작업이 있는 정책의 기준을 정의합니다.

필드 유형 필수 가능한 값 설명
type string true detected 규칙 유형.
criteria 기준 객체의 array true 기준 목록. 규칙이 적용되려면 취약점이 모든 기준과 일치해야 합니다. 최대 3개의 기준.

기준 객체#

각 기준 객체에는 type 필드와 value 필드(단일 값) 또는 values 필드(복수 값) 중 하나가 포함되어야 합니다.

필드 유형 필수 가능한 값 설명
type string true file_path, directory, identifier 취약점이 일치해야 하는 기준 유형.
value string 조건부 일치시킬 단일 값. values가 지정되지 않은 경우 필수.
values 문자열의 array 조건부 일치시킬 복수 값(OR 논리). value가 지정되지 않은 경우 필수. 최대 1000개의 값.
identifier_type string false cve, cwe, owasp identifier 유형에만 해당. 식별자의 외부 유형과 ID를 기준으로 일치.

기준 유형:

  • file_path: 취약점이 발견된 파일 경로와 일치합니다. test/**/*와 같은 glob 패턴을 지원합니다.
  • directory: 취약 파일이 포함된 디렉토리와 일치합니다. vendor/*와 같은 glob 패턴을 지원합니다.
  • identifier: 취약점 식별자와 일치합니다. CVE-2023-*와 같은 와일드카드 패턴을 지원합니다.

identifier_type이 지정된 경우 기준은 식별자의 외부 유형과 외부 ID를 기준으로 일치합니다. 식별자 유형별 예시 값:

식별자 유형 예시 값
cve CVE-2021-44228, CVE-2023-*
cwe CWE-79, CWE-89, CWE-*
owasp A1, A03:2021, A*

auto_resolve 작업#

이 작업은 정책의 규칙과 범위에 일치하는 취약점을 해결합니다.

필드 유형 필수 가능한 값 설명
type string true auto_resolve 작업 유형.

auto_dismiss 작업#

히스토리
  • GitLab 18.8에서 auto_dismiss_vulnerability_policies라는 플래그와 함께 그룹 수준에 대한 자동 무시 정책 지원이 도입됨. 기본적으로 활성화됨.
  • GitLab 18.10에서 일반 공개됨. 기능 플래그 auto_dismiss_vulnerability_policies 제거됨.

이 작업은 정책의 규칙과 범위에 일치하는 취약점을 무시합니다.

필드 유형 필수 가능한 값 설명
type string true auto_dismiss 작업 유형.
dismissal_reason string true acceptable_risk, false_positive, mitigating_control, used_in_tests, not_applicable 취약점을 무시하는 이유.

무시 이유:

  • acceptable_risk: 취약점이 알려져 있으며 비즈니스 위험으로 수용됩니다.
  • false_positive: 취약점이 잘못 보고되었습니다.
  • mitigating_control: 다른 컨트롤에 의해 동등한 보호가 제공됩니다.
  • used_in_tests: 취약점은 테스트 코드 또는 테스트 데이터의 일부입니다.
  • not_applicable: 취약점은 더 이상 업데이트되지 않는 코드에 있습니다.

severity_override 작업#

히스토리
  • GitLab 18.10에서 security_policies_severity_customize라는 기능 플래그도입됨. 기본적으로 활성화됨.
  • GitLab 19.0에서 일반 공개됨. 기능 플래그 security_policies_severity_customize 제거됨.

이 작업은 정책의 규칙과 범위에 일치하는 취약점의 심각도를 재정의(또는 변경)합니다.

필드 유형 필수 가능한 값 설명
type string true severity_override 작업 유형.
severity_override_operation string true set, increase, decrease 심각도에 대해 수행할 작업.
severity_override_value string 조건부 info, low, medium, high, critical 대상 심각도. severity_override_operationset인 경우 필수.

작업:

  • set: 취약점 심각도를 지정된 severity_override_value로 설정합니다.
  • increase: 취약점 심각도를 한 수준 높입니다(예: lowmedium이 됨).
  • decrease: 취약점 심각도를 한 수준 낮춥니다(예: highmedium이 됨).

취약점 관리 정책 예시#

vulnerability_management_policy:
- name: "Auto-dismiss test vulnerabilities"
  description: "Automatically dismiss vulnerabilities found in test files"
  enabled: true
  rules:
  - type: detected
    criteria:
    - type: file_path
      value: "test/**/*"
    - type: identifier
      value: "CVE-2023-*"
  actions:
  - type: auto_dismiss
    dismissal_reason: used_in_tests
- name: "Auto-resolve no longer detected SAST vulnerabilities"
  description: "Automatically resolve SAST vulnerabilities that are no longer detected"
  enabled: true
  rules:
  - type: no_longer_detected
    scanners:
    - sast
    severity_levels:
    - high
    - critical
  actions:
  - type: auto_resolve
- name: "Increase severity for critical CVEs in production code"
  description: "Increase severity of specific CVEs found outside test directories"
  enabled: true
  rules:
  - type: detected
    criteria:
    - type: identifier
      identifier_type: cve
      values:
      - "CVE-2021-44228"
      - "CVE-2023-*"
    - type: directory
      value: "src/**/*"
  actions:
  - type: severity_override
    severity_override_operation: set
    severity_override_value: critical

취약점 관리 정책 스키마

원문 보기
요약

취약점 관리 정책이 있는 YAML 파일은 vulnerability_management_policy 키 아래에 중첩된 취약점 관리 정책 스키마와 일치하는 객체 배열로 구성됩니다. 취약점 관리 정책을 저장할 때 해당 내용은 취약점 관리 정책 스키마에 대해 검증됩니다.

취약점 관리 정책이 있는 YAML 파일은 vulnerability_management_policy 키 아래에 중첩된 취약점 관리 정책 스키마와 일치하는 객체 배열로 구성됩니다.

취약점 관리 정책을 저장할 때 해당 내용은 취약점 관리 정책 스키마에 대해 검증됩니다. JSON 스키마를 읽는 방법에 익숙하지 않은 경우 다음 섹션과 표가 대안을 제공합니다.

필드 유형 필수 설명
vulnerability_management_policy 취약점 관리 정책의 array true 취약점 관리 정책 목록 (최대 5개)

취약점 관리 정책#

필드 유형 필수 설명
name string true 정책 이름. 최대 255자.
description string false 정책 설명.
enabled boolean true 정책을 활성화(true) 또는 비활성화(false)하는 플래그.
rules 규칙의 array true 정책의 기준을 정의하는 규칙 목록 (최대 5개).
policy_scope policy_scopeobject false 지정한 프로젝트, 그룹 또는 컴플라이언스 프레임워크 레이블을 기반으로 하는 정책 범위.
actions 작업의 array true 정책과 일치하는 취약점에 대해 취할 조치.

no_longer_detected 규칙#

이 규칙은 자동 해결 정책의 기준을 정의합니다.

필드 유형 필수 가능한 값 설명
type string true no_longer_detected 규칙 유형.
scanners array true sast, secret_detection, dependency_scanning, container_scanning, dast, coverage_fuzzing, api_fuzzing 이 정책이 적용되는 스캐너를 지정합니다.
severity_levels array true critical, high, medium, low, info, unknown 이 정책이 적용되는 심각도 수준을 지정합니다.

detected 규칙#

이 규칙은 auto_dismiss 또는 severity_override 작업이 있는 정책의 기준을 정의합니다.

필드 유형 필수 가능한 값 설명
type string true detected 규칙 유형.
criteria 기준 객체의 array true 기준 목록. 규칙이 적용되려면 취약점이 모든 기준과 일치해야 합니다. 최대 3개의 기준.

기준 객체#

각 기준 객체에는 type 필드와 value 필드(단일 값) 또는 values 필드(복수 값) 중 하나가 포함되어야 합니다.

필드 유형 필수 가능한 값 설명
type string true file_path, directory, identifier 취약점이 일치해야 하는 기준 유형.
value string 조건부 일치시킬 단일 값. values가 지정되지 않은 경우 필수.
values 문자열의 array 조건부 일치시킬 복수 값(OR 논리). value가 지정되지 않은 경우 필수. 최대 1000개의 값.
identifier_type string false cve, cwe, owasp identifier 유형에만 해당. 식별자의 외부 유형과 ID를 기준으로 일치.

기준 유형:

  • file_path: 취약점이 발견된 파일 경로와 일치합니다. test/**/*와 같은 glob 패턴을 지원합니다.
  • directory: 취약 파일이 포함된 디렉토리와 일치합니다. vendor/*와 같은 glob 패턴을 지원합니다.
  • identifier: 취약점 식별자와 일치합니다. CVE-2023-*와 같은 와일드카드 패턴을 지원합니다.

identifier_type이 지정된 경우 기준은 식별자의 외부 유형과 외부 ID를 기준으로 일치합니다. 식별자 유형별 예시 값:

식별자 유형 예시 값
cve CVE-2021-44228, CVE-2023-*
cwe CWE-79, CWE-89, CWE-*
owasp A1, A03:2021, A*

auto_resolve 작업#

이 작업은 정책의 규칙과 범위에 일치하는 취약점을 해결합니다.

필드 유형 필수 가능한 값 설명
type string true auto_resolve 작업 유형.

auto_dismiss 작업#

히스토리
  • GitLab 18.8에서 auto_dismiss_vulnerability_policies라는 플래그와 함께 그룹 수준에 대한 자동 무시 정책 지원이 도입됨. 기본적으로 활성화됨.
  • GitLab 18.10에서 일반 공개됨. 기능 플래그 auto_dismiss_vulnerability_policies 제거됨.

이 작업은 정책의 규칙과 범위에 일치하는 취약점을 무시합니다.

필드 유형 필수 가능한 값 설명
type string true auto_dismiss 작업 유형.
dismissal_reason string true acceptable_risk, false_positive, mitigating_control, used_in_tests, not_applicable 취약점을 무시하는 이유.

무시 이유:

  • acceptable_risk: 취약점이 알려져 있으며 비즈니스 위험으로 수용됩니다.
  • false_positive: 취약점이 잘못 보고되었습니다.
  • mitigating_control: 다른 컨트롤에 의해 동등한 보호가 제공됩니다.
  • used_in_tests: 취약점은 테스트 코드 또는 테스트 데이터의 일부입니다.
  • not_applicable: 취약점은 더 이상 업데이트되지 않는 코드에 있습니다.

severity_override 작업#

히스토리
  • GitLab 18.10에서 security_policies_severity_customize라는 기능 플래그도입됨. 기본적으로 활성화됨.
  • GitLab 19.0에서 일반 공개됨. 기능 플래그 security_policies_severity_customize 제거됨.

이 작업은 정책의 규칙과 범위에 일치하는 취약점의 심각도를 재정의(또는 변경)합니다.

필드 유형 필수 가능한 값 설명
type string true severity_override 작업 유형.
severity_override_operation string true set, increase, decrease 심각도에 대해 수행할 작업.
severity_override_value string 조건부 info, low, medium, high, critical 대상 심각도. severity_override_operationset인 경우 필수.

작업:

  • set: 취약점 심각도를 지정된 severity_override_value로 설정합니다.
  • increase: 취약점 심각도를 한 수준 높입니다(예: lowmedium이 됨).
  • decrease: 취약점 심각도를 한 수준 낮춥니다(예: highmedium이 됨).

취약점 관리 정책 예시#

vulnerability_management_policy:
- name: "Auto-dismiss test vulnerabilities"
  description: "Automatically dismiss vulnerabilities found in test files"
  enabled: true
  rules:
  - type: detected
    criteria:
    - type: file_path
      value: "test/**/*"
    - type: identifier
      value: "CVE-2023-*"
  actions:
  - type: auto_dismiss
    dismissal_reason: used_in_tests
- name: "Auto-resolve no longer detected SAST vulnerabilities"
  description: "Automatically resolve SAST vulnerabilities that are no longer detected"
  enabled: true
  rules:
  - type: no_longer_detected
    scanners:
    - sast
    severity_levels:
    - high
    - critical
  actions:
  - type: auto_resolve
- name: "Increase severity for critical CVEs in production code"
  description: "Increase severity of specific CVEs found outside test directories"
  enabled: true
  rules:
  - type: detected
    criteria:
    - type: identifier
      identifier_type: cve
      values:
      - "CVE-2021-44228"
      - "CVE-2023-*"
    - type: directory
      value: "src/**/*"
  actions:
  - type: severity_override
    severity_override_operation: set
    severity_override_value: critical