Skip to content

nvd_client.models

Pydantic models for NVD API 2.0 documents.

The field set follows the NVD Vulnerability Data API schema (2.2.4) and the CPE Match Criteria API schema, including the CVSS v2.0, v3.0, v3.1, and v4.0 objects those documents reference.

Unknown keys are kept (extra="allow") so a later NVD field still shows up in model_dump instead of being dropped. Declared fields use snake_case in Python and the API's camelCase as an alias. model_dump() emits snake_case; model_dump(by_alias=True) emits the NVD names. model_dump_json() accepts the same arguments.

Dates are datetime.datetime values. NVD often omits the offset; those values stay naive. Strings that include Z or an offset are aware.

Classes:

  • NvdModel –

    Base model for every NVD document in this package.

  • LangString –

    A language-tagged string used by descriptions and weaknesses.

  • Reference –

    A supplemental URL attached to a CVE.

  • CveTag –

    A source-scoped tag such as disputed.

  • VendorComment –

    An official vendor comment submitted to NVD.

  • CpeMatch –

    One CPE match criterion inside a CVE configuration node.

  • ConfigNode –

    A node in a CVE applicability statement.

  • Configuration –

    A CVE configuration (an AND/OR tree of CPE match nodes).

  • Weakness –

    A CWE (or NVD placeholder) associated with a CVE.

  • CvssV2Data –

    CVSS v2.0 cvssData object.

  • CvssMetricV2 –

    One CVSS v2 score, including NVD's wrapper fields.

  • CvssV30Data –

    CVSS v3.0 cvssData object.

  • CvssV31Data –

    CVSS v3.1 cvssData object.

  • CvssMetricV30 –

    One CVSS v3.0 score.

  • CvssMetricV31 –

    One CVSS v3.1 score.

  • CvssV40Data –

    CVSS v4.0 cvssData object.

  • CvssMetricV40 –

    One CVSS v4.0 score.

  • SsvcData –

    Stakeholder-Specific Vulnerability Categorization decision (v2.0.3).

  • SsvcMetric –

    One SSVC assessment attached to a CVE.

  • VersionChange –

    A status change inside an affected-version range.

  • AffectedVersion –

    One version or version range of an affected product.

  • ProgramRoutine –

    A named function or method listed as affected.

  • AffectedProduct –

    Product data inside an affected entry.

  • Affected –

    A source's list of products affected by a CVE.

  • Metrics –

    CVSS and SSVC scores published for a CVE.

  • CveRecord –

    One CVE record from the cve object of an NVD 2.0 vulnerability.

  • CveItem –

    The vulnerabilities[] element, which wraps one CveRecord.

  • CveListResponse –

    A page of CVE results from /cves/2.0.

  • CpeNameMatch –

    A dictionary CPE name that satisfies a match string.

  • CpeMatchString –

    One CPE match string from the CPE Match Criteria API.

  • CpeMatchStringItem –

    The matchStrings[] element, which wraps one match string.

  • CpeMatchResponse –

    A page of results from /cpematch/2.0.

NvdModel

Bases: BaseModel

Base model for every NVD document in this package.

LangString

Bases: NvdModel

A language-tagged string used by descriptions and weaknesses.

Attributes:

lang instance-attribute

lang: str

value instance-attribute

value: str

Reference

Bases: NvdModel

A supplemental URL attached to a CVE.

Attributes:

url instance-attribute

url: str

source class-attribute instance-attribute

source: str | None = None

tags class-attribute instance-attribute

tags: list[str] = Field(default_factory=list)

CveTag

Bases: NvdModel

A source-scoped tag such as disputed.

Attributes:

source_identifier class-attribute instance-attribute

source_identifier: str | None = Field(default=None, alias='sourceIdentifier')

tags class-attribute instance-attribute

tags: list[str] = Field(default_factory=list)

VendorComment

Bases: NvdModel

An official vendor comment submitted to NVD.

Attributes:

organization instance-attribute

organization: str

comment instance-attribute

comment: str

last_modified class-attribute instance-attribute

last_modified: datetime = Field(alias='lastModified')

CpeMatch

Bases: NvdModel

One CPE match criterion inside a CVE configuration node.

Attributes:

vulnerable instance-attribute

vulnerable: bool

criteria instance-attribute

criteria: str

match_criteria_id class-attribute instance-attribute

match_criteria_id: str = Field(alias='matchCriteriaId')

version_start_excluding class-attribute instance-attribute

version_start_excluding: str | None = Field(default=None, alias='versionStartExcluding')

version_start_including class-attribute instance-attribute

version_start_including: str | None = Field(default=None, alias='versionStartIncluding')

version_end_excluding class-attribute instance-attribute

version_end_excluding: str | None = Field(default=None, alias='versionEndExcluding')

version_end_including class-attribute instance-attribute

version_end_including: str | None = Field(default=None, alias='versionEndIncluding')

ConfigNode

Bases: NvdModel

A node in a CVE applicability statement.

Attributes:

operator instance-attribute

operator: str

cpe_match class-attribute instance-attribute

cpe_match: list[CpeMatch] = Field(alias='cpeMatch')

negate class-attribute instance-attribute

negate: bool | None = None

Configuration

Bases: NvdModel

A CVE configuration (an AND/OR tree of CPE match nodes).

Attributes:

nodes instance-attribute

nodes: list[ConfigNode]

operator class-attribute instance-attribute

operator: str | None = None

negate class-attribute instance-attribute

negate: bool | None = None

Weakness

Bases: NvdModel

A CWE (or NVD placeholder) associated with a CVE.

description values are identifiers such as CWE-79 or NVD-CWE-noinfo.

Attributes:

source instance-attribute

source: str

type instance-attribute

type: str

description class-attribute instance-attribute

description: list[LangString] = Field(default_factory=list)

CvssV2Data

Bases: NvdModel

CVSS v2.0 cvssData object.

Attributes:

version instance-attribute

version: Literal['2.0']

vector_string class-attribute instance-attribute

vector_string: str = Field(alias='vectorString')

base_score class-attribute instance-attribute

base_score: float = Field(alias='baseScore')

access_vector class-attribute instance-attribute

access_vector: str | None = Field(default=None, alias='accessVector')

access_complexity class-attribute instance-attribute

access_complexity: str | None = Field(default=None, alias='accessComplexity')

authentication class-attribute instance-attribute

authentication: str | None = None

confidentiality_impact class-attribute instance-attribute

confidentiality_impact: str | None = Field(default=None, alias='confidentialityImpact')

integrity_impact class-attribute instance-attribute

integrity_impact: str | None = Field(default=None, alias='integrityImpact')

availability_impact class-attribute instance-attribute

availability_impact: str | None = Field(default=None, alias='availabilityImpact')

exploitability class-attribute instance-attribute

exploitability: str | None = None

remediation_level class-attribute instance-attribute

remediation_level: str | None = Field(default=None, alias='remediationLevel')

report_confidence class-attribute instance-attribute

report_confidence: str | None = Field(default=None, alias='reportConfidence')

temporal_score class-attribute instance-attribute

temporal_score: float | None = Field(default=None, alias='temporalScore')

collateral_damage_potential class-attribute instance-attribute

collateral_damage_potential: str | None = Field(default=None, alias='collateralDamagePotential')

target_distribution class-attribute instance-attribute

target_distribution: str | None = Field(default=None, alias='targetDistribution')

confidentiality_requirement class-attribute instance-attribute

confidentiality_requirement: str | None = Field(default=None, alias='confidentialityRequirement')

integrity_requirement class-attribute instance-attribute

integrity_requirement: str | None = Field(default=None, alias='integrityRequirement')

availability_requirement class-attribute instance-attribute

availability_requirement: str | None = Field(default=None, alias='availabilityRequirement')

environmental_score class-attribute instance-attribute

environmental_score: float | None = Field(default=None, alias='environmentalScore')

CvssMetricV2

Bases: NvdModel

One CVSS v2 score, including NVD's wrapper fields.

Attributes:

source instance-attribute

source: str

type instance-attribute

type: str

cvss_data class-attribute instance-attribute

cvss_data: CvssV2Data = Field(alias='cvssData')

base_severity class-attribute instance-attribute

base_severity: str | None = Field(default=None, alias='baseSeverity')

exploitability_score class-attribute instance-attribute

exploitability_score: float | None = Field(default=None, alias='exploitabilityScore')

impact_score class-attribute instance-attribute

impact_score: float | None = Field(default=None, alias='impactScore')

ac_insuf_info class-attribute instance-attribute

ac_insuf_info: bool | None = Field(default=None, alias='acInsufInfo')

obtain_all_privilege class-attribute instance-attribute

obtain_all_privilege: bool | None = Field(default=None, alias='obtainAllPrivilege')

obtain_user_privilege class-attribute instance-attribute

obtain_user_privilege: bool | None = Field(default=None, alias='obtainUserPrivilege')

obtain_other_privilege class-attribute instance-attribute

obtain_other_privilege: bool | None = Field(default=None, alias='obtainOtherPrivilege')

user_interaction_required class-attribute instance-attribute

user_interaction_required: bool | None = Field(default=None, alias='userInteractionRequired')

CvssV30Data

Bases: _CvssV3Data

CVSS v3.0 cvssData object.

Attributes:

version instance-attribute

version: Literal['3.0']

vector_string class-attribute instance-attribute

vector_string: str = Field(alias='vectorString')

base_score class-attribute instance-attribute

base_score: float = Field(alias='baseScore')

base_severity class-attribute instance-attribute

base_severity: str = Field(alias='baseSeverity')

attack_vector class-attribute instance-attribute

attack_vector: str | None = Field(default=None, alias='attackVector')

attack_complexity class-attribute instance-attribute

attack_complexity: str | None = Field(default=None, alias='attackComplexity')

privileges_required class-attribute instance-attribute

privileges_required: str | None = Field(default=None, alias='privilegesRequired')

user_interaction class-attribute instance-attribute

user_interaction: str | None = Field(default=None, alias='userInteraction')

scope class-attribute instance-attribute

scope: str | None = None

confidentiality_impact class-attribute instance-attribute

confidentiality_impact: str | None = Field(default=None, alias='confidentialityImpact')

integrity_impact class-attribute instance-attribute

integrity_impact: str | None = Field(default=None, alias='integrityImpact')

availability_impact class-attribute instance-attribute

availability_impact: str | None = Field(default=None, alias='availabilityImpact')

exploit_code_maturity class-attribute instance-attribute

exploit_code_maturity: str | None = Field(default=None, alias='exploitCodeMaturity')

remediation_level class-attribute instance-attribute

remediation_level: str | None = Field(default=None, alias='remediationLevel')

report_confidence class-attribute instance-attribute

report_confidence: str | None = Field(default=None, alias='reportConfidence')

temporal_score class-attribute instance-attribute

temporal_score: float | None = Field(default=None, alias='temporalScore')

temporal_severity class-attribute instance-attribute

temporal_severity: str | None = Field(default=None, alias='temporalSeverity')

confidentiality_requirement class-attribute instance-attribute

confidentiality_requirement: str | None = Field(default=None, alias='confidentialityRequirement')

integrity_requirement class-attribute instance-attribute

integrity_requirement: str | None = Field(default=None, alias='integrityRequirement')

availability_requirement class-attribute instance-attribute

availability_requirement: str | None = Field(default=None, alias='availabilityRequirement')

modified_attack_vector class-attribute instance-attribute

modified_attack_vector: str | None = Field(default=None, alias='modifiedAttackVector')

modified_attack_complexity class-attribute instance-attribute

modified_attack_complexity: str | None = Field(default=None, alias='modifiedAttackComplexity')

modified_privileges_required class-attribute instance-attribute

modified_privileges_required: str | None = Field(default=None, alias='modifiedPrivilegesRequired')

modified_user_interaction class-attribute instance-attribute

modified_user_interaction: str | None = Field(default=None, alias='modifiedUserInteraction')

modified_scope class-attribute instance-attribute

modified_scope: str | None = Field(default=None, alias='modifiedScope')

modified_confidentiality_impact class-attribute instance-attribute

modified_confidentiality_impact: str | None = Field(default=None, alias='modifiedConfidentialityImpact')

modified_integrity_impact class-attribute instance-attribute

modified_integrity_impact: str | None = Field(default=None, alias='modifiedIntegrityImpact')

modified_availability_impact class-attribute instance-attribute

modified_availability_impact: str | None = Field(default=None, alias='modifiedAvailabilityImpact')

environmental_score class-attribute instance-attribute

environmental_score: float | None = Field(default=None, alias='environmentalScore')

environmental_severity class-attribute instance-attribute

environmental_severity: str | None = Field(default=None, alias='environmentalSeverity')

CvssV31Data

Bases: _CvssV3Data

CVSS v3.1 cvssData object.

Attributes:

version instance-attribute

version: Literal['3.1']

vector_string class-attribute instance-attribute

vector_string: str = Field(alias='vectorString')

base_score class-attribute instance-attribute

base_score: float = Field(alias='baseScore')

base_severity class-attribute instance-attribute

base_severity: str = Field(alias='baseSeverity')

attack_vector class-attribute instance-attribute

attack_vector: str | None = Field(default=None, alias='attackVector')

attack_complexity class-attribute instance-attribute

attack_complexity: str | None = Field(default=None, alias='attackComplexity')

privileges_required class-attribute instance-attribute

privileges_required: str | None = Field(default=None, alias='privilegesRequired')

user_interaction class-attribute instance-attribute

user_interaction: str | None = Field(default=None, alias='userInteraction')

scope class-attribute instance-attribute

scope: str | None = None

confidentiality_impact class-attribute instance-attribute

confidentiality_impact: str | None = Field(default=None, alias='confidentialityImpact')

integrity_impact class-attribute instance-attribute

integrity_impact: str | None = Field(default=None, alias='integrityImpact')

availability_impact class-attribute instance-attribute

availability_impact: str | None = Field(default=None, alias='availabilityImpact')

exploit_code_maturity class-attribute instance-attribute

exploit_code_maturity: str | None = Field(default=None, alias='exploitCodeMaturity')

remediation_level class-attribute instance-attribute

remediation_level: str | None = Field(default=None, alias='remediationLevel')

report_confidence class-attribute instance-attribute

report_confidence: str | None = Field(default=None, alias='reportConfidence')

temporal_score class-attribute instance-attribute

temporal_score: float | None = Field(default=None, alias='temporalScore')

temporal_severity class-attribute instance-attribute

temporal_severity: str | None = Field(default=None, alias='temporalSeverity')

confidentiality_requirement class-attribute instance-attribute

confidentiality_requirement: str | None = Field(default=None, alias='confidentialityRequirement')

integrity_requirement class-attribute instance-attribute

integrity_requirement: str | None = Field(default=None, alias='integrityRequirement')

availability_requirement class-attribute instance-attribute

availability_requirement: str | None = Field(default=None, alias='availabilityRequirement')

modified_attack_vector class-attribute instance-attribute

modified_attack_vector: str | None = Field(default=None, alias='modifiedAttackVector')

modified_attack_complexity class-attribute instance-attribute

modified_attack_complexity: str | None = Field(default=None, alias='modifiedAttackComplexity')

modified_privileges_required class-attribute instance-attribute

modified_privileges_required: str | None = Field(default=None, alias='modifiedPrivilegesRequired')

modified_user_interaction class-attribute instance-attribute

modified_user_interaction: str | None = Field(default=None, alias='modifiedUserInteraction')

modified_scope class-attribute instance-attribute

modified_scope: str | None = Field(default=None, alias='modifiedScope')

modified_confidentiality_impact class-attribute instance-attribute

modified_confidentiality_impact: str | None = Field(default=None, alias='modifiedConfidentialityImpact')

modified_integrity_impact class-attribute instance-attribute

modified_integrity_impact: str | None = Field(default=None, alias='modifiedIntegrityImpact')

modified_availability_impact class-attribute instance-attribute

modified_availability_impact: str | None = Field(default=None, alias='modifiedAvailabilityImpact')

environmental_score class-attribute instance-attribute

environmental_score: float | None = Field(default=None, alias='environmentalScore')

environmental_severity class-attribute instance-attribute

environmental_severity: str | None = Field(default=None, alias='environmentalSeverity')

CvssMetricV30

Bases: _CvssV3Metric

One CVSS v3.0 score.

Attributes:

cvss_data class-attribute instance-attribute

cvss_data: CvssV30Data = Field(alias='cvssData')

source instance-attribute

source: str

type instance-attribute

type: str

exploitability_score class-attribute instance-attribute

exploitability_score: float | None = Field(default=None, alias='exploitabilityScore')

impact_score class-attribute instance-attribute

impact_score: float | None = Field(default=None, alias='impactScore')

CvssMetricV31

Bases: _CvssV3Metric

One CVSS v3.1 score.

Attributes:

cvss_data class-attribute instance-attribute

cvss_data: CvssV31Data = Field(alias='cvssData')

source instance-attribute

source: str

type instance-attribute

type: str

exploitability_score class-attribute instance-attribute

exploitability_score: float | None = Field(default=None, alias='exploitabilityScore')

impact_score class-attribute instance-attribute

impact_score: float | None = Field(default=None, alias='impactScore')

CvssV40Data

Bases: NvdModel

CVSS v4.0 cvssData object.

Attributes:

version instance-attribute

version: Literal['4.0']

vector_string class-attribute instance-attribute

vector_string: str = Field(alias='vectorString')

base_score class-attribute instance-attribute

base_score: float = Field(alias='baseScore')

base_severity class-attribute instance-attribute

base_severity: str = Field(alias='baseSeverity')

attack_vector class-attribute instance-attribute

attack_vector: str | None = Field(default=None, alias='attackVector')

attack_complexity class-attribute instance-attribute

attack_complexity: str | None = Field(default=None, alias='attackComplexity')

attack_requirements class-attribute instance-attribute

attack_requirements: str | None = Field(default=None, alias='attackRequirements')

privileges_required class-attribute instance-attribute

privileges_required: str | None = Field(default=None, alias='privilegesRequired')

user_interaction class-attribute instance-attribute

user_interaction: str | None = Field(default=None, alias='userInteraction')

vuln_confidentiality_impact class-attribute instance-attribute

vuln_confidentiality_impact: str | None = Field(default=None, alias='vulnConfidentialityImpact')

vuln_integrity_impact class-attribute instance-attribute

vuln_integrity_impact: str | None = Field(default=None, alias='vulnIntegrityImpact')

vuln_availability_impact class-attribute instance-attribute

vuln_availability_impact: str | None = Field(default=None, alias='vulnAvailabilityImpact')

sub_confidentiality_impact class-attribute instance-attribute

sub_confidentiality_impact: str | None = Field(default=None, alias='subConfidentialityImpact')

sub_integrity_impact class-attribute instance-attribute

sub_integrity_impact: str | None = Field(default=None, alias='subIntegrityImpact')

sub_availability_impact class-attribute instance-attribute

sub_availability_impact: str | None = Field(default=None, alias='subAvailabilityImpact')

exploit_maturity class-attribute instance-attribute

exploit_maturity: str | None = Field(default=None, alias='exploitMaturity')

confidentiality_requirement class-attribute instance-attribute

confidentiality_requirement: str | None = Field(default=None, alias='confidentialityRequirement')

integrity_requirement class-attribute instance-attribute

integrity_requirement: str | None = Field(default=None, alias='integrityRequirement')

availability_requirement class-attribute instance-attribute

availability_requirement: str | None = Field(default=None, alias='availabilityRequirement')

modified_attack_vector class-attribute instance-attribute

modified_attack_vector: str | None = Field(default=None, alias='modifiedAttackVector')

modified_attack_complexity class-attribute instance-attribute

modified_attack_complexity: str | None = Field(default=None, alias='modifiedAttackComplexity')

modified_attack_requirements class-attribute instance-attribute

modified_attack_requirements: str | None = Field(default=None, alias='modifiedAttackRequirements')

modified_privileges_required class-attribute instance-attribute

modified_privileges_required: str | None = Field(default=None, alias='modifiedPrivilegesRequired')

modified_user_interaction class-attribute instance-attribute

modified_user_interaction: str | None = Field(default=None, alias='modifiedUserInteraction')

modified_vuln_confidentiality_impact class-attribute instance-attribute

modified_vuln_confidentiality_impact: str | None = Field(default=None, alias='modifiedVulnConfidentialityImpact')

modified_vuln_integrity_impact class-attribute instance-attribute

modified_vuln_integrity_impact: str | None = Field(default=None, alias='modifiedVulnIntegrityImpact')

modified_vuln_availability_impact class-attribute instance-attribute

modified_vuln_availability_impact: str | None = Field(default=None, alias='modifiedVulnAvailabilityImpact')

modified_sub_confidentiality_impact class-attribute instance-attribute

modified_sub_confidentiality_impact: str | None = Field(default=None, alias='modifiedSubConfidentialityImpact')

modified_sub_integrity_impact class-attribute instance-attribute

modified_sub_integrity_impact: str | None = Field(default=None, alias='modifiedSubIntegrityImpact')

modified_sub_availability_impact class-attribute instance-attribute

modified_sub_availability_impact: str | None = Field(default=None, alias='modifiedSubAvailabilityImpact')

safety class-attribute instance-attribute

safety: str | None = Field(default=None, alias='Safety')

automatable class-attribute instance-attribute

automatable: str | None = Field(default=None, alias='Automatable')

recovery class-attribute instance-attribute

recovery: str | None = Field(default=None, alias='Recovery')

value_density class-attribute instance-attribute

value_density: str | None = Field(default=None, alias='valueDensity')

vulnerability_response_effort class-attribute instance-attribute

vulnerability_response_effort: str | None = Field(default=None, alias='vulnerabilityResponseEffort')

provider_urgency class-attribute instance-attribute

provider_urgency: str | None = Field(default=None, alias='providerUrgency')

threat_score class-attribute instance-attribute

threat_score: float | None = Field(default=None, alias='threatScore')

threat_severity class-attribute instance-attribute

threat_severity: str | None = Field(default=None, alias='threatSeverity')

environmental_score class-attribute instance-attribute

environmental_score: float | None = Field(default=None, alias='environmentalScore')

environmental_severity class-attribute instance-attribute

environmental_severity: str | None = Field(default=None, alias='environmentalSeverity')

CvssMetricV40

Bases: NvdModel

One CVSS v4.0 score.

Attributes:

source instance-attribute

source: str

type instance-attribute

type: str

cvss_data class-attribute instance-attribute

cvss_data: CvssV40Data = Field(alias='cvssData')

SsvcData

Bases: NvdModel

Stakeholder-Specific Vulnerability Categorization decision (v2.0.3).

Attributes:

options instance-attribute

options: list[dict[str, str | list[str]]]

role instance-attribute

role: str

version instance-attribute

version: str

computed class-attribute instance-attribute

computed: str | None = None

timestamp class-attribute instance-attribute

timestamp: datetime | None = None

id class-attribute instance-attribute

id: str | None = None

decision_tree_url class-attribute instance-attribute

decision_tree_url: str | None = Field(default=None, alias='decisionTreeUrl')

generator class-attribute instance-attribute

generator: str | None = None

SsvcMetric

Bases: NvdModel

One SSVC assessment attached to a CVE.

Attributes:

source instance-attribute

source: str

ssvc_data class-attribute instance-attribute

ssvc_data: SsvcData = Field(alias='ssvcData')

VersionChange

Bases: NvdModel

A status change inside an affected-version range.

Attributes:

at instance-attribute

at: str

status instance-attribute

status: str

AffectedVersion

Bases: NvdModel

One version or version range of an affected product.

Attributes:

version instance-attribute

version: str

status instance-attribute

status: str

version_type class-attribute instance-attribute

version_type: str | None = Field(default=None, alias='versionType')

less_than class-attribute instance-attribute

less_than: str | None = Field(default=None, alias='lessThan')

less_than_or_equal class-attribute instance-attribute

less_than_or_equal: str | None = Field(default=None, alias='lessThanOrEqual')

changes class-attribute instance-attribute

changes: list[VersionChange] = Field(default_factory=list)

ProgramRoutine

Bases: NvdModel

A named function or method listed as affected.

Attributes:

name instance-attribute

name: str

AffectedProduct

Bases: NvdModel

Product data inside an affected entry.

Attributes:

vendor class-attribute instance-attribute

vendor: str | None = None

product class-attribute instance-attribute

product: str | None = None

collection_url class-attribute instance-attribute

collection_url: str | None = Field(default=None, alias='collectionURL')

package_name class-attribute instance-attribute

package_name: str | None = Field(default=None, alias='packageName')

cpes class-attribute instance-attribute

cpes: list[str] = Field(default_factory=list)

modules class-attribute instance-attribute

modules: list[str] = Field(default_factory=list)

program_files class-attribute instance-attribute

program_files: list[str] = Field(default_factory=list, alias='programFiles')

program_routines class-attribute instance-attribute

program_routines: list[ProgramRoutine] = Field(default_factory=list, alias='programRoutines')

platforms class-attribute instance-attribute

platforms: list[str] = Field(default_factory=list)

repo class-attribute instance-attribute

repo: str | None = None

default_status class-attribute instance-attribute

default_status: str | None = Field(default=None, alias='defaultStatus')

versions class-attribute instance-attribute

versions: list[AffectedVersion] = Field(default_factory=list)

package_url class-attribute instance-attribute

package_url: str | None = Field(default=None, alias='packageURL')

Affected

Bases: NvdModel

A source's list of products affected by a CVE.

Attributes:

source instance-attribute

source: str

affected_data class-attribute instance-attribute

affected_data: list[AffectedProduct] = Field(alias='affectedData')

Metrics

Bases: NvdModel

CVSS and SSVC scores published for a CVE.

Missing metric groups are empty lists, not None.

Attributes:

cvss_metric_v40 class-attribute instance-attribute

cvss_metric_v40: list[CvssMetricV40] = Field(default_factory=list, alias='cvssMetricV40')

cvss_metric_v31 class-attribute instance-attribute

cvss_metric_v31: list[CvssMetricV31] = Field(default_factory=list, alias='cvssMetricV31')

cvss_metric_v30 class-attribute instance-attribute

cvss_metric_v30: list[CvssMetricV30] = Field(default_factory=list, alias='cvssMetricV30')

cvss_metric_v2 class-attribute instance-attribute

cvss_metric_v2: list[CvssMetricV2] = Field(default_factory=list, alias='cvssMetricV2')

ssvc_v203 class-attribute instance-attribute

ssvc_v203: list[SsvcMetric] = Field(default_factory=list, alias='ssvcV203')

CveRecord

Bases: NvdModel

One CVE record from the cve object of an NVD 2.0 vulnerability.

Required by the schema: id, published, lastModified, descriptions, and references. Every other attribute defaults to empty or None when NVD omits it.

Methods:

  • description –

    Return the description for lang, or None when it is absent.

Attributes:

id instance-attribute

id: str

published instance-attribute

published: datetime

last_modified class-attribute instance-attribute

last_modified: datetime = Field(alias='lastModified')

descriptions instance-attribute

descriptions: list[LangString]

references instance-attribute

references: list[Reference]

source_identifier class-attribute instance-attribute

source_identifier: str | None = Field(default=None, alias='sourceIdentifier')

vuln_status class-attribute instance-attribute

vuln_status: str | None = Field(default=None, alias='vulnStatus')

evaluator_comment class-attribute instance-attribute

evaluator_comment: str | None = Field(default=None, alias='evaluatorComment')

evaluator_solution class-attribute instance-attribute

evaluator_solution: str | None = Field(default=None, alias='evaluatorSolution')

evaluator_impact class-attribute instance-attribute

evaluator_impact: str | None = Field(default=None, alias='evaluatorImpact')

cisa_exploit_add class-attribute instance-attribute

cisa_exploit_add: date | None = Field(default=None, alias='cisaExploitAdd')

cisa_action_due class-attribute instance-attribute

cisa_action_due: date | None = Field(default=None, alias='cisaActionDue')

cisa_required_action class-attribute instance-attribute

cisa_required_action: str | None = Field(default=None, alias='cisaRequiredAction')

cisa_vulnerability_name class-attribute instance-attribute

cisa_vulnerability_name: str | None = Field(default=None, alias='cisaVulnerabilityName')

cve_tags class-attribute instance-attribute

cve_tags: list[CveTag] = Field(default_factory=list, alias='cveTags')

metrics class-attribute instance-attribute

metrics: Metrics = Field(default_factory=Metrics)

weaknesses class-attribute instance-attribute

weaknesses: list[Weakness] = Field(default_factory=list)

configurations class-attribute instance-attribute

configurations: list[Configuration] = Field(default_factory=list)

vendor_comments class-attribute instance-attribute

vendor_comments: list[VendorComment] = Field(default_factory=list, alias='vendorComments')

affected class-attribute instance-attribute

affected: list[Affected] = Field(default_factory=list)

cwe_ids property

cwe_ids: list[str]

Weakness description values, typically CWE or NVD-CWE-* ids.

description

description(lang: str = 'en') -> str | None

Return the description for lang, or None when it is absent.

CveItem

Bases: NvdModel

The vulnerabilities[] element, which wraps one CveRecord.

Attributes:

cve instance-attribute

cve: CveRecord

CveListResponse

Bases: NvdModel

A page of CVE results from /cves/2.0.

total_results is the size of the full match, not this page. cves is the unwrapped records in this page. An empty page is a successful response: total_results == 0 and cves == [].

Attributes:

results_per_page class-attribute instance-attribute

results_per_page: int = Field(alias='resultsPerPage')

start_index class-attribute instance-attribute

start_index: int = Field(alias='startIndex')

total_results class-attribute instance-attribute

total_results: int = Field(alias='totalResults')

format instance-attribute

format: str

version instance-attribute

version: str

timestamp instance-attribute

timestamp: datetime

vulnerabilities instance-attribute

vulnerabilities: list[CveItem]

cves property

cves: list[CveRecord]

CVE records contained in this page, in NVD's order.

CpeNameMatch

Bases: NvdModel

A dictionary CPE name that satisfies a match string.

Attributes:

cpe_name class-attribute instance-attribute

cpe_name: str = Field(alias='cpeName')

cpe_name_id class-attribute instance-attribute

cpe_name_id: str = Field(alias='cpeNameId')

CpeMatchString

Bases: NvdModel

One CPE match string from the CPE Match Criteria API.

Attributes:

criteria instance-attribute

criteria: str

match_criteria_id class-attribute instance-attribute

match_criteria_id: str = Field(alias='matchCriteriaId')

created instance-attribute

created: datetime

last_modified class-attribute instance-attribute

last_modified: datetime = Field(alias='lastModified')

status instance-attribute

status: str

version_start_excluding class-attribute instance-attribute

version_start_excluding: str | None = Field(default=None, alias='versionStartExcluding')

version_start_including class-attribute instance-attribute

version_start_including: str | None = Field(default=None, alias='versionStartIncluding')

version_end_excluding class-attribute instance-attribute

version_end_excluding: str | None = Field(default=None, alias='versionEndExcluding')

version_end_including class-attribute instance-attribute

version_end_including: str | None = Field(default=None, alias='versionEndIncluding')

cpe_last_modified class-attribute instance-attribute

cpe_last_modified: datetime | None = Field(default=None, alias='cpeLastModified')

matches class-attribute instance-attribute

matches: list[CpeNameMatch] = Field(default_factory=list)

CpeMatchStringItem

Bases: NvdModel

The matchStrings[] element, which wraps one match string.

Attributes:

match_string class-attribute instance-attribute

match_string: CpeMatchString = Field(alias='matchString')

CpeMatchResponse

Bases: NvdModel

A page of results from /cpematch/2.0.

Attributes:

results_per_page class-attribute instance-attribute

results_per_page: int = Field(alias='resultsPerPage')

start_index class-attribute instance-attribute

start_index: int = Field(alias='startIndex')

total_results class-attribute instance-attribute

total_results: int = Field(alias='totalResults')

format instance-attribute

format: str

version instance-attribute

version: str

timestamp instance-attribute

timestamp: datetime

match_strings class-attribute instance-attribute

match_strings: list[CpeMatchStringItem] = Field(alias='matchStrings')

matches property

matches: list[CpeMatchString]

Match strings contained in this page.