취약점 관리 정책 스키마
취약점 관리 정책이 있는 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_scope의 object |
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 작업#
히스토리
이 작업은 정책의 규칙과 범위에 일치하는 취약점을 무시합니다.
| 필드 | 유형 | 필수 | 가능한 값 | 설명 |
|---|---|---|---|---|
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 작업#
히스토리
이 작업은 정책의 규칙과 범위에 일치하는 취약점의 심각도를 재정의(또는 변경)합니다.
| 필드 | 유형 | 필수 | 가능한 값 | 설명 |
|---|---|---|---|---|
type |
string |
true | severity_override |
작업 유형. |
severity_override_operation |
string |
true | set, increase, decrease |
심각도에 대해 수행할 작업. |
severity_override_value |
string |
조건부 | info, low, medium, high, critical |
대상 심각도. severity_override_operation이 set인 경우 필수. |
작업:
set: 취약점 심각도를 지정된severity_override_value로 설정합니다.increase: 취약점 심각도를 한 수준 높입니다(예:low가medium이 됨).decrease: 취약점 심각도를 한 수준 낮춥니다(예:high가medium이 됨).
취약점 관리 정책 예시#
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
