InfoGrab DocsInfoGrab Docs

취약점 위험 평가 데이터

요약

취약점 위험 데이터를 사용하여 사용자 환경에 미칠 수 있는 영향을 평가합니다. 이 데이터를 활용하여 수정 및 완화 조치의 우선순위를 정합니다. EPSS 점수는 CVE 카탈로그의 취약점이 앞으로 30일 안에 악용될 가능성을 추정한 값입니다.

취약점 위험 데이터를 사용하여 사용자 환경에 미칠 수 있는 영향을 평가합니다.

이 데이터를 활용하여 수정 및 완화 조치의 우선순위를 정합니다. 예를 들어 심각도가 Medium 이면서 EPSS 점수가 높은 취약점은 심각도가 High 이면서 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 카탈로그에 있는 취약점은 다른 취약점보다 먼저 수정해야 합니다. 이 취약점을 이용한 공격이 이미 발생했고, 공격자가 악용 방법을 알고 있을 가능성이 높습니다.

도달 가능성#

히스토리
  • 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#

Vulnerability Prioritizer CI/CD 컴포넌트를 사용하여 프로젝트 취약점(주로 CVE)의 우선순위를 정합니다. 이 컴포넌트는 vulnerability-prioritizer job의 출력에 우선순위 보고서를 남깁니다.

취약점은 다음 순서로 나열됩니다.

  1. 악용 사례가 알려진 취약점(KEV)이 최우선입니다.
  2. EPSS 점수가 높을수록(1에 가까울수록) 우선합니다.
  3. 심각도는 Critical에서 Low 순으로 정렬됩니다.

Vulnerability Prioritizer CI/CD 컴포넌트는 Common Vulnerabilities and Exposures(CVE) 레코드에만 있는 데이터를 사용하므로, 의존성 스캔과 컨테이너 스캔으로 탐지된 취약점만 포함합니다. 또한 탐지됨(Needs triage) 및 확인됨 상태의 취약점만 표시됩니다.

Vulnerability Prioritizer CI/CD 컴포넌트를 프로젝트 CI/CD 파이프라인에 추가하는 방법은 Vulnerability Prioritizer 문서를 참고합니다.

취약점 위험 평가 데이터

GitLab v19.5
원문 보기

요약

취약점 위험 데이터를 사용하여 사용자 환경에 미칠 수 있는 영향을 평가합니다. 이 데이터를 활용하여 수정 및 완화 조치의 우선순위를 정합니다. EPSS 점수는 CVE 카탈로그의 취약점이 앞으로 30일 안에 악용될 가능성을 추정한 값입니다.

취약점 위험 데이터를 사용하여 사용자 환경에 미칠 수 있는 영향을 평가합니다.

이 데이터를 활용하여 수정 및 완화 조치의 우선순위를 정합니다. 예를 들어 심각도가 Medium 이면서 EPSS 점수가 높은 취약점은 심각도가 High 이면서 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 카탈로그에 있는 취약점은 다른 취약점보다 먼저 수정해야 합니다. 이 취약점을 이용한 공격이 이미 발생했고, 공격자가 악용 방법을 알고 있을 가능성이 높습니다.

도달 가능성#

히스토리
  • 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#

Vulnerability Prioritizer CI/CD 컴포넌트를 사용하여 프로젝트 취약점(주로 CVE)의 우선순위를 정합니다. 이 컴포넌트는 vulnerability-prioritizer job의 출력에 우선순위 보고서를 남깁니다.

취약점은 다음 순서로 나열됩니다.

  1. 악용 사례가 알려진 취약점(KEV)이 최우선입니다.
  2. EPSS 점수가 높을수록(1에 가까울수록) 우선합니다.
  3. 심각도는 Critical에서 Low 순으로 정렬됩니다.

Vulnerability Prioritizer CI/CD 컴포넌트는 Common Vulnerabilities and Exposures(CVE) 레코드에만 있는 데이터를 사용하므로, 의존성 스캔과 컨테이너 스캔으로 탐지된 취약점만 포함합니다. 또한 탐지됨(Needs triage) 및 확인됨 상태의 취약점만 표시됩니다.

Vulnerability Prioritizer CI/CD 컴포넌트를 프로젝트 CI/CD 파이프라인에 추가하는 방법은 Vulnerability Prioritizer 문서를 참고합니다.