취약점 위험 평가 데이터
취약점 위험 데이터를 사용하여 환경에 대한 잠재적 영향을 평가할 수 있습니다. 이 데이터를 사용하여 수정 및 완화 조치의 우선순위를 결정하는 데 도움을 받으세요. EPSS 점수는 CVE 카탈로그의 취약점이 다음 30일 이내에 악용될 가능성을 추정합니다.
취약점 위험 데이터를 사용하여 환경에 대한 잠재적 영향을 평가할 수 있습니다.
- 심각도: 각 취약점에는 표준화된 GitLab 심각도 값이 할당됩니다.
- Common Vulnerabilities and Exposures (CVE) 카탈로그의 취약점의 경우, 취약점 세부 정보 페이지나 GraphQL 쿼리를 통해 다음 데이터를 검색할 수 있습니다:
- 악용 가능성: Exploit Prediction Scoring System (EPSS) 점수.
- 알려진 악용 존재 여부: Known Exploited Vulnerabilities (KEV) 상태.
이 데이터를 사용하여 수정 및 완화 조치의 우선순위를 결정하는 데 도움을 받으세요. 예를 들어, 중간 심각도와 높은 EPSS 점수를 가진 취약점은 높은 심각도와 낮은 EPSS 점수를 가진 취약점보다 더 빨리 완화가 필요할 수 있습니다.
EPSS#
히스토리
- GitLab 17.4에서 플래그
epss_querying(이슈 470835)와epss_ingestion(이슈 467672)와 함께 도입됨. 기본적으로 비활성화됨. - GitLab 17.6에서
cve_enrichment_querying및cve_enrichment_ingestion으로 이름이 변경되고 GitLab.com에서 활성화됨. - GitLab 17.7에서 일반적으로 사용 가능. 피처 플래그
cve_enrichment_querying및cve_enrichment_ingestion제거됨.
EPSS 점수는 CVE 카탈로그의 취약점이 다음 30일 이내에 악용될 가능성을 추정합니다. EPSS는 각 CVE에 0에서 1(0%에서 100%에 해당) 사이의 점수를 할당합니다.
KEV#
히스토리
- GitLab 17.7에서 도입.
KEV 카탈로그는 악용된 것으로 알려진 취약점을 나열합니다. KEV 카탈로그의 취약점 수정은 다른 취약점보다 우선순위를 높여야 합니다. 이러한 취약점을 사용한 공격이 발생했으며 공격자들이 악용 방법을 알 가능성이 높습니다.
도달 가능성(Reachability)#
히스토리
- GitLab 17.11에서 도입.
도달 가능성은 취약한 패키지가 애플리케이션에 의해 가져와지는지 여부를 보여줍니다. 코드가 직접 상호작용하는 패키지의 취약점은 사용되지 않는 의존성의 취약점보다 더 높은 위험을 초래합니다. 공격자가 악용할 수 있는 실제 노출 지점을 나타내므로 도달 가능한 취약점 수정에 우선순위를 두세요.
자세한 내용은 정적 도달 가능성을 참조하세요.
위험 평가 데이터 쿼리#
GraphQL API를 사용하여 프로젝트의 취약점의 심각도, EPSS 및 KEV 값을 쿼리합니다.
GraphQL API의 Vulnerability 유형에는 cveEnrichment 필드가 있으며, 이는 identifiers 필드에 CVE 식별자가 포함된 경우 채워집니다. cveEnrichment 필드에는 취약점에 대한 CVE ID, EPSS 점수 및 KEV 상태가 포함됩니다. EPSS 점수는 소수점 두 번째 자리에서 반올림됩니다.
예를 들어, 다음 GraphQL API 쿼리는 주어진 프로젝트의 모든 취약점과 해당 CVE ID, EPSS 점수 및 KEV 상태(isKnownExploit)를 반환합니다. GraphQL 탐색기 또는 다른 GraphQL 클라이언트에서 쿼리를 실행합니다.
{
project(fullPath: "<full/path/to/project>") {
vulnerabilities {
nodes {
severity
identifiers {
externalId
externalType
}
cveEnrichment {
epssScore
isKnownExploit
cve
}
reachability
}
}
}
}
출력 예시:
{
"data": {
"project": {
"vulnerabilities": {
"nodes": [
{
"severity": "CRITICAL",
"identifiers": [
{
"externalId": "CVE-2019-3859",
"externalType": "cve"
}
],
"cveEnrichment": {
"epssScore": 0.2,
"isKnownExploit": false,
"cve": "CVE-2019-3859"
}
"reachability": "UNKNOWN"
},
{
"severity": "CRITICAL",
"identifiers": [
{
"externalId": "CVE-2016-8735",
"externalType": "cve"
}
],
"cveEnrichment": {
"epssScore": 0.94,
"isKnownExploit": true,
"cve": "CVE-2016-8735"
}
"reachability": "IN_USE"
},
]
}
}
},
"correlationId": "..."
}
취약점 우선순위 결정기(Vulnerability Prioritizer)#
취약점 우선순위 결정기 CI/CD 컴포넌트를 사용하여 프로젝트의 취약점(주로 CVE) 우선순위를 결정하는 데 도움을 받으세요. 컴포넌트는 vulnerability-prioritizer 작업의 출력에서 우선순위 보고서를 출력합니다.
취약점은 다음 순서로 나열됩니다:
- 알려진 악용(KEV)이 있는 취약점이 최우선 순위입니다.
- 더 높은 EPSS 점수(1에 가까운)가 우선순위를 갖습니다.
- 심각도는
Critical에서Low순으로 정렬됩니다.
취약점 우선순위 결정기 CI/CD 컴포넌트는 Common Vulnerabilities and Exposures(CVE) 레코드에서만 사용 가능한 데이터를 필요로 하므로, 의존성 스캔 및 컨테이너 스캔에 의해 감지된 취약점만 포함됩니다. 또한 감지됨(Needs triage) 및 확인됨 취약점만 표시됩니다.
취약점 우선순위 결정기 CI/CD 컴포넌트를 프로젝트의 CI/CD 파이프라인에 추가하려면 취약점 우선순위 결정기 문서를 참조하세요.
