CPE 생성

VulnCheck는 NIST NVD가 남긴 공백을 메우기 위해 빠르고 정확한 CPE를 생성합니다.

VulnCheck CPE 개요

VulnCheck는 기술 시스템, 소프트웨어, 패키지를 CVE에 매핑하는 빠르고 정확한 공통 플랫폼 열거(CPE)를 생성합니다. VulnCheck는 CPE 생성을 자동화하여 vulncheck-nvd1, vulncheck-nvd2, nist-nvd1, nist-nvd2 인덱스에서 사용할 수 있도록 제공합니다.

NIST와 동일한 필드에 CPE 데이터를 추가하면 혼란을 초래할 수 있으므로, VulnCheck는 대신 다음과 같은 필드를 추가했습니다:

  1. vcConfigurations: NVD의 configurations 필드와 동일하지만 VulnCheck가 채움.
  2. vcVulnerableCPEs: NVD는 CPE “unrolling”을 위해 matchCriteriaId를 사용하지만, VulnCheck는 이 단계를 제거하고 해제된(unrolled) CPE를 vcVulnerableCPEs 필드에 직접 포함합니다.

vcConfigurationsmatchCriteriaId는 항상 비어 있으며, VulnCheck는 대신 vcVulnerableCPEs를 사용합니다. 그러나 이는 NIST 스키마에서 필수 필드이므로 그대로 둡니다.

VulnCheck는 사용 가능한 정보가 있을 때 CPE를 생성하여 더 빠르고 정확한 CPE를 제공합니다. 가장 완전한 커버리지를 위해 VulnCheck CPE(vcConfigurations)가 없는 경우 NIST NVD의 configurations 속성을 사용하는 것이 좋습니다.

CPE API 조회

VulnCheck의 cpe API 엔드포인트를 사용하면 지정된 CPE URI 문자열을 기반으로 취약점 목록을 조회할 수 있습니다. v2.2와 v2.3을 지원합니다.

예시:
https://api.vulncheck.com/v3/cpe?cpe=cpe:/o:paloaltonetworks:pan-os:10.2.0:2h:*:*:*:*:*

자세한 내용은 CPE API 엔드포인트를 참고하세요.

전체 VulnCheck CPE → CVE 매핑은 cpecve 백업 엔드포인트에서 제공됩니다:
https://api.vulncheck.com/v3/backup/cpecve

CPE CLI 조회

VulnCheck CLI의 cpe 조회 기능을 사용하면 지정된 CPE URI 문자열을 기반으로 취약점 목록을 조회할 수 있습니다. v2.2와 v2.3을 지원합니다.

예시 CLI 명령:

vulncheck cpe "cpe:2.3:o:fortinet:fortios:*:*:*:*:*:*:*:*"

더 알아보려면 VulnCheck CLI 문서를 참조하세요.

VulnCheck 생성된 CPE 예시 (vulncheck-nvd2)

아래 예시는 vulncheck-nvd2?cve=CVE-2024-28746에서 가져온 vcConfigurationsvcVulnerableCPEs 예시입니다.

  "vcConfigurations": [
    {
      "nodes": [
        {
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "2.8.0",
              "versionEndExcluding": "2.8.3",
              "matchCriteriaId": ""
            }
          ]
        }
      ]
    }
  ],
  "vcVulnerableCPEs": [
    "cpe:2.3:a:apache:airflow:2.8.0:*:*:*:*:*:*:*",
    "cpe:2.3:a:apache:airflow:2.8.1:*:*:*:*:*:*:*",
    "cpe:2.3:a:apache:airflow:2.8.2:*:*:*:*:*:*:*"
  ]

VulnCheck 추가 CPE 예시 (vulncheck-nvd)

아래 예시는 vulncheck-nvd?cve=CVE-2024-28746에서 가져온 vcConfigurationsvcVulnerableCPEs 예시입니다.

  "vcConfigurations": {
    "CVE_data_version": "4.0",
    "nodes": [
      {
        "cpe_match": [
          {
            "vulnerable": true,
            "cpe23Uri": "cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*",
            "versionStartIncluding": "2.8.0",
            "versionEndExcluding": "2.8.3"
          }
        ]
      }
    ]
  },
  "vcVulnerableCPEs": [
    "cpe:2.3:a:apache:airflow:2.8.0:*:*:*:*:*:*:*",
    "cpe:2.3:a:apache:airflow:2.8.1:*:*:*:*:*:*:*",
    "cpe:2.3:a:apache:airflow:2.8.2:*:*:*:*:*:*:*"
  ]