pontos.nvd.models package #
Subpackages #
pontos.nvd.models.cpe#
- class pontos.nvd.models.cpe.DeprecatedBy(cpe_name=None, cpe_name_id=None)#
A CPE is deprecated by another CPE
- cpe_name#
Name of the CPE that deprecates this CPE
- Type:
str | None
- cpe_name_id#
ID of the CPE that deprecates this CPE
- Type:
uuid.UUID | None
- class pontos.nvd.models.cpe.ReferenceType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
A CPE reference type
- ADVISORY#
The reference is an advisory
- CHANGELOG#
The reference is a changelog
- PRODUCT#
The reference is a product
- PROJECT#
The reference is a project
- VENDOR#
The reference is a vendor
- VERSION#
The reference is version
- class pontos.nvd.models.cpe.Reference(ref, type=None)#
A CPE reference
- ref#
The content of the reference
- Type:
str
- type#
The type of the reference
- Type:
- class pontos.nvd.models.cpe.Title(title, lang)#
A CPE title
- title#
The actual title
- Type:
str
- lang#
Language of the title
- Type:
str
- class pontos.nvd.models.cpe.CPE(cpe_name, cpe_name_id, deprecated, last_modified, created, titles=<factory>, refs=<factory>, deprecated_by=<factory>)#
Represents a CPE
- cpe_name#
The name of the CPE
- Type:
str
- cpe_name_id#
UUID of the CPE
- Type:
uuid.UUID
- deprecated#
True if the CPE is deprecated
- Type:
bool
- last_modified#
Last modification date of the CPE
- Type:
datetime.datetime
- created#
Creation date of the CPE
- Type:
datetime.datetime
- titles#
List of titles for the CPE
- Type:
- refs#
References to additional data
- Type:
- deprecated_by#
Additional information about possible deprecation by another CPE
- Type:
pontos.nvd.models.cve#
- class pontos.nvd.models.cve.Configuration(nodes, operator=None, negate=None)#
A CVE configuration
- nodes#
- Type:
- operator#
- Type:
- negate#
- Type:
bool | None
- class pontos.nvd.models.cve.CPEMatch(vulnerable, criteria, match_criteria_id, version_start_excluding=None, version_start_including=None, version_end_excluding=None, version_end_including=None)#
A CPE match referencing a vulnerable product with a version range
- vulnerable#
- Type:
bool
- criteria#
- Type:
str
- match_criteria_id#
- Type:
str
- version_start_excluding#
Matches the CPE excluding the specified version
- Type:
str | None
- version_start_including#
Matches the CPE including the specified version
- Type:
str | None
- version_end_excluding#
Matches the CPE excluding up to the specified version
- Type:
str | None
- version_end_including#
Matches the CPE including up to the specified version
- Type:
str | None
- class pontos.nvd.models.cve.CVSSType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
The CVSS Type: primary or secondary
- PRIMARY#
A primary CVSS
- SECONDARY#
A secondary CVSS
- class pontos.nvd.models.cve.CVSSv2Metric(source, type, cvss_data, base_severity=None, exploitability_score=None, impact_score=None, ac_insuf_info=None, obtain_all_privilege=None, obtain_user_privilege=None, obtain_other_privilege=None, user_interaction_required=None)#
A CVSSv3 metric
- source#
The source of the CVSS
- Type:
str
- type#
The CVSS type
- cvss_data#
The actual CVSSv2 data
- base_severity#
- Type:
str | None
- exploitability_score#
- Type:
float | None
- impact_score#
- Type:
float | None
- ac_insuf_info#
- Type:
bool | None
- obtain_all_privilege#
- Type:
bool | None
- obtain_user_privilege#
- Type:
bool | None
- obtain_other_privilege#
- Type:
bool | None
- user_interaction_required#
- Type:
bool | None
- class pontos.nvd.models.cve.CVSSv3Metric(source, type, cvss_data, exploitability_score=None, impact_score=None)#
A CVSSv3 metric
- source#
The source of the CVSS
- Type:
str
- type#
The CVSS type
- cvss_data#
The actual CVSSv3 data
- exploitability_score#
- Type:
float | None
- impact_score#
- Type:
float | None
- class pontos.nvd.models.cve.Description(lang, value)#
A description in a specific language
- lang#
Language of the description
- Type:
str
- value#
The actual description
- Type:
str
- class pontos.nvd.models.cve.Metrics(cvss_metric_v31=<factory>, cvss_metric_v30=<factory>, cvss_metric_v2=<factory>)#
CVE metrics
- cvss_metric_v31#
A list of CVSSv3.1 metrics
- Type:
- cvss_metric_v30#
A list of CVSSv3.0 metrics
- Type:
- cvss_metric_v2#
A list of CVSSv2 metrics
- Type:
- class pontos.nvd.models.cve.Node(operator, cpe_match=None, negate=None)#
A CVE configuration node
- operator#
Operator (and/or) for this node
- cpe_match#
The CPE match for the node. Despite a cpe match is required int NISTs API spec the data seems to contain nodes without matches.
- Type:
List[pontos.nvd.models.cve.CPEMatch] | None
- negate#
- Type:
bool | None
- class pontos.nvd.models.cve.Operator(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
An operator: AND or OR
- AND#
A and operator
- OR#
A or operator
- class pontos.nvd.models.cve.Reference(url, source=None, tags=<factory>)#
A CVE reference
- url#
URL to the reference
- Type:
str
- source#
Source of the reference
- Type:
str | None
- tags#
List of tags for the reference
- Type:
List[str]
- class pontos.nvd.models.cve.VendorComment(organization, comment, last_modified)#
A vendor comment
- organization#
Name of the vendor
- Type:
str
- comment#
The actual comment of the vendor
- Type:
str
- last_modified#
Last modification date of the comment
- Type:
datetime.datetime
- class pontos.nvd.models.cve.Weakness(source, type, description=<factory>)#
- source#
- Type:
str
- type#
- Type:
str
- description#
- Type:
- class pontos.nvd.models.cve.CVE(id, source_identifier, published, last_modified, vuln_status, descriptions, references, weaknesses=<factory>, configurations=<factory>, vendor_comments=<factory>, metrics=None, evaluator_comment=None, evaluator_solution=None, evaluator_impact=None, cisa_exploit_add=None, cisa_action_due=None, cisa_required_action=None, cisa_vulnerability_name=None)#
A model representing a CVE
- id#
ID of the CVE
- Type:
str
- source_identifier#
Identifier for the source of the CVE
- Type:
str
- published#
Date of publishing
- Type:
datetime.datetime
- last_modified#
Last modification date
- Type:
datetime.datetime
- vuln_status#
Current vulnerability status
- Type:
str
- descriptions#
List of additional descriptions
- Type:
- references#
List of additional references (URLs)
- Type:
- weaknesses#
List of weaknesses
- Type:
- configurations#
List of configurations
- Type:
- vendor_comments#
List of vendor comments
- Type:
- metrics#
List of CVSS metrics for this CVE
- Type:
- evaluator_comment#
- Type:
str | None
- evaluator_solution#
- Type:
str | None
- evaluator_impact#
- Type:
str | None
- cisa_exploit_add#
- Type:
datetime.date | None
- cisa_action_due#
- Type:
datetime.date | None
- cisa_required_action#
- Type:
str | None
- cisa_vulnerability_name#
- Type:
str | None
pontos.nvd.models.cvss_v2#
- class pontos.nvd.models.cvss_v2.Severity(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v2.AccessVector(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v2.AccessComplexity(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v2.Authentication(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v2.Impact(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v2.Exploitability(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v2.RemediationLevel(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v2.ReportConfidence(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v2.CollateralDamagePotential(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v2.TargetDistribution(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v2.Requirement(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v2.CVSSData(version: str, vector_string: str, base_score: float, access_vector: pontos.nvd.models.cvss_v2.AccessVector | None = None, access_complexity: pontos.nvd.models.cvss_v2.AccessComplexity | None = None, authentication: pontos.nvd.models.cvss_v2.Authentication | None = None, confidentiality_impact: pontos.nvd.models.cvss_v2.Impact | None = None, integrity_impact: pontos.nvd.models.cvss_v2.Impact | None = None, availability_impact: pontos.nvd.models.cvss_v2.Impact | None = None, exploitability: pontos.nvd.models.cvss_v2.Exploitability | None = None, remediation_level: pontos.nvd.models.cvss_v2.RemediationLevel | None = None, report_confidence: pontos.nvd.models.cvss_v2.ReportConfidence | None = None, temporal_score: float | None = None, collateral_damage_potential: pontos.nvd.models.cvss_v2.CollateralDamagePotential | None = None, target_distribution: pontos.nvd.models.cvss_v2.TargetDistribution | None = None, confidentiality_requirement: pontos.nvd.models.cvss_v2.Requirement | None = None, integrity_requirement: pontos.nvd.models.cvss_v2.Requirement | None = None, availability_requirement: pontos.nvd.models.cvss_v2.Requirement | None = None, environmental_score: float | None = None)#
pontos.nvd.models.cvss_v3#
- class pontos.nvd.models.cvss_v3.Severity(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.AttackVector(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.ModifiedAttackVector(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.AttackComplexity(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.ModifiedAttackComplexity(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.PrivilegesRequired(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.ModifiedPrivilegesRequired(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.UserInteraction(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.ModifiedUserInteraction(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.Scope(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.ModifiedScope(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.Impact(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.ModifiedImpact(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.ExploitCodeMaturity(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.RemediationLevel(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.Confidence(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.Requirement(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#
- class pontos.nvd.models.cvss_v3.CVSSData(version: str, vector_string: str, base_score: float, base_severity: pontos.nvd.models.cvss_v3.Severity, attack_vector: pontos.nvd.models.cvss_v3.AttackVector | None = None, attack_complexity: pontos.nvd.models.cvss_v3.AttackComplexity | None = None, privileges_required: pontos.nvd.models.cvss_v3.PrivilegesRequired | None = None, user_interaction: pontos.nvd.models.cvss_v3.UserInteraction | None = None, scope: pontos.nvd.models.cvss_v3.Scope | None = None, confidentiality_impact: pontos.nvd.models.cvss_v3.Impact | None = None, integrity_impact: pontos.nvd.models.cvss_v3.Impact | None = None, availability_impact: pontos.nvd.models.cvss_v3.Impact | None = None, exploit_code_maturity: pontos.nvd.models.cvss_v3.ExploitCodeMaturity | None = None, remediation_level: pontos.nvd.models.cvss_v3.RemediationLevel | None = None, report_confidence: pontos.nvd.models.cvss_v3.Confidence | None = None, temporal_score: float | None = None, temporal_severity: pontos.nvd.models.cvss_v3.Severity | None = None, confidentiality_requirement: pontos.nvd.models.cvss_v3.Requirement | None = None, integrity_requirement: pontos.nvd.models.cvss_v3.Requirement | None = None, availability_requirement: pontos.nvd.models.cvss_v3.Requirement | None = None, modified_attack_vector: pontos.nvd.models.cvss_v3.ModifiedAttackVector | None = None, modified_attack_complexity: pontos.nvd.models.cvss_v3.ModifiedAttackComplexity | None = None, modified_privileges_required: pontos.nvd.models.cvss_v3.ModifiedPrivilegesRequired | None = None, modified_user_interaction: pontos.nvd.models.cvss_v3.ModifiedUserInteraction | None = None, modified_scope: pontos.nvd.models.cvss_v3.ModifiedScope | None = None, modified_confidentiality_impact: pontos.nvd.models.cvss_v3.ModifiedImpact | None = None, modified_integrity_impact: pontos.nvd.models.cvss_v3.ModifiedImpact | None = None, modified_availability_impact: pontos.nvd.models.cvss_v3.ModifiedImpact | None = None, environmental_score: float | None = None, environmental_severity: pontos.nvd.models.cvss_v3.Severity | None = None)#