VulnCheck에서 제공하는 NIST NVD 1.0 및 NIST NVD 2.0은 NIST가 개발한 JSON 스키마를 따릅니다:
이 스키마에서 유일한 예외는 VulnCheck가 CPE 보강을 추가한 부분입니다. VulnCheck의 CPE 데이터를 NIST가 채우는 동일한 필드에 추가하면 혼동을 줄 수 있기 때문에, 대신 다음과 같은 필드를 추가했습니다:
vcConfigurations: NVD의 configurations 필드와 동일하지만, VulnCheck에서 채움.vcVulnerableCPEs: NVD는 CPE “unrolling”을 위해 matchCriteriaId를 사용합니다. VulnCheck는 이 추가 단계를 제거하고, unrolled CPE를 vcVulnerableCPEs 필드에 포함하기로 했습니다.주의할 점은, vcConfigurations의 matchCriteriaId는 항상 비어 있게 되며, 대신 vcVulnerableCPEs를 사용합니다. 그러나 이는 NIST 스키마에서 필수 필드이므로 그대로 두었습니다.
아래 vcConfigurations 및 vcVulnerableCPEs 예시는 nist-nvd2?cve=CVE-2024-28746에서 가져온 것입니다. cpeMatch는 영향을 받는 버전을 설명하며, vcVulnerableCPEs는 이를 나열합니다.
"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:*:*:*:*:*:*:*"
]
아래 vcConfigurations 및 vcVulnerableCPEs 예시는 nist-nvd?cve=CVE-2024-28746에서 가져온 것입니다:
"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:*:*:*:*:*:*:*"
]