Skip to content

📖 Glossary

Terms used throughout the cpeskills documentation and the wider CPE / vulnerability-management ecosystem.

TermExpansionMeaning
CPECommon Platform EnumerationNIST standard for naming IT products (software, OS, hardware). See /en/concepts/cpe-overview.
WFNWell-Formed NameThe logical, attribute-based representation a CPE 2.2/2.3 string maps to. See /en/api/modules/wfn.
CVECommon Vulnerabilities and ExposuresA unique CVE-YYYY-NNNNN identifier for a publicly disclosed security vulnerability.
NVDNational Vulnerability DatabaseNIST's database of CVEs and their affected CPEs. See /en/concepts/nvd.
OSVOpen Source VulnerabilitiesAn open, distributed vulnerability database for open-source packages. See /en/concepts/osv.
EPSSExploit Prediction Scoring SystemA 0–1 probability that a given CVE will be exploited in the wild within 30 days.
KEVKnown Exploited VulnerabilitiesCISA's catalogue of vulnerabilities known to be actively exploited; carries remediation due dates.
SBOMSoftware Bill of MaterialsA machine-readable inventory of components in a software product.
VEXVulnerability Exploitability eXchangeAn assertion document stating whether a product is affected by specific CVEs. See /en/concepts/vex.
PURLPackage URLA pkg: URI that identifies a package by type, namespace, name, version. See /en/concepts/purl.
CycloneDXAn OWASP SBOM standard (JSON/XML). ParseCycloneDXJSON reads it.
SPDXSoftware Package Data ExchangeA Linux Foundation SBOM standard. ParseSPDXJSON reads it.
SARIFStatic Analysis Results Interchange FormatA JSON format for reporting static-analysis findings, used by many scanners.
CVSSCommon Vulnerability Scoring SystemA framework for scoring vulnerability severity (e.g. CVSS 3.1 base score 0–10).
ANYThe CPE wildcard * — matches any value in a comparison.
NANot ApplicableThe CPE value - — the attribute has no meaningful value; only matches another -.
NISTIRNIST Interagency ReportNIST's technical report series; the CPE specification is published as NISTIR 7695/7696.

Matching terminology

CPE name matching (NISTIR 7696) defines relations between two CPE names. These terms appear throughout the matching docs.

TermMeaning
SupersetOne CPE covers a broader set than another (IsSupersetOf).
SubsetThe inverse — a CPE is contained within another's scope (IsSubsetOf).
EqualThe two CPEs name the same thing (IsEqualTo).
DisjointThe two CPEs share no overlap (IsDisjointWith).
ANY (*)Wildcard — matches any value on the other side.
NA (-)Not applicable — matches only another NA.

See /en/concepts/matching-relations for the full relation matrix.

Attribute-field shorthand

The 11 fields of a CPE 2.3 Formatted String, in order:

cpe:2.3:<part>:<vendor>:<product>:<version>:<update>:<edition>:<language>:<sw_edition>:<target_sw>:<target_hw>:<other>

#FieldWFN attribute
1partpart
2vendorvendor
3productproduct
4versionversion
5updateupdate
6editionedition
7languagelanguage
8sw_editionsw_edition
9target_swtarget_sw
10target_hwtarget_hw
11othertarget_hw/other

Part values

ShortLong formMeaning
aapplicationSoftware app
ooperating systemOS
hhardwareHardware device

Term map

The terms above cluster into four families. The mindmap below shows how they relate — naming, vulnerability data, exploitation signals, and artifact formats.

Summary

When a term is ambiguous, fall back to this table. The two CPE-specific sentinels to remember are * (ANY, wildcard) and - (NA, not applicable); their matching semantics differ and are the source of most beginner mistakes.

Released under the MIT License.