spdx_tools.spdx3.model.security.exploit_catalog_vuln_assessment_relationship
1# SPDX-FileCopyrightText: 2023 spdx contributors 2# 3# SPDX-License-Identifier: Apache-2.0 4from datetime import datetime 5from enum import Enum, auto 6 7from beartype.typing import List, Optional 8 9from spdx_tools.common.typing.dataclass_with_properties import dataclass_with_properties 10from spdx_tools.common.typing.type_checks import check_types_and_set_values 11from spdx_tools.spdx3.model import ( 12 CreationInfo, 13 ExternalIdentifier, 14 ExternalReference, 15 IntegrityMethod, 16 RelationshipCompleteness, 17) 18from spdx_tools.spdx3.model.security.vuln_assessment_relationship import VulnAssessmentRelationship 19from spdx_tools.spdx.model import RelationshipType 20 21 22class ExploitCatalogType(Enum): 23 KEV = auto() 24 OTHER = auto() 25 26 27@dataclass_with_properties 28class ExploitCatalogVulnAssessmentRelationship(VulnAssessmentRelationship): 29 catalog_type: ExploitCatalogType = None 30 exploited: bool = None 31 locator: str = None 32 33 def __init__( 34 self, 35 spdx_id: str, 36 from_element: str, 37 relationship_type: RelationshipType, 38 to: List[str], 39 catalog_type: ExploitCatalogType, 40 exploited: bool, 41 locator: str, 42 creation_info: Optional[CreationInfo] = None, 43 name: Optional[str] = None, 44 summary: Optional[str] = None, 45 description: Optional[str] = None, 46 comment: Optional[str] = None, 47 verified_using: List[IntegrityMethod] = None, 48 external_reference: List[ExternalReference] = None, 49 external_identifier: List[ExternalIdentifier] = None, 50 extension: Optional[str] = None, 51 completeness: Optional[RelationshipCompleteness] = None, 52 start_time: Optional[datetime] = None, 53 end_time: Optional[datetime] = None, 54 assessed_element: Optional[str] = None, 55 published_time: Optional[datetime] = None, 56 supplied_by: Optional[str] = None, 57 modified_time: Optional[datetime] = None, 58 withdrawn_time: Optional[datetime] = None, 59 ): 60 verified_using = [] if verified_using is None else verified_using 61 external_reference = [] if external_reference is None else external_reference 62 external_identifier = [] if external_identifier is None else external_identifier 63 check_types_and_set_values(self, locals())
class
ExploitCatalogType(enum.Enum):
KEV =
<ExploitCatalogType.KEV: 1>
OTHER =
<ExploitCatalogType.OTHER: 2>
Inherited Members
- enum.Enum
- name
- value
@dataclass_with_properties
class
ExploitCatalogVulnAssessmentRelationship28@dataclass_with_properties 29class ExploitCatalogVulnAssessmentRelationship(VulnAssessmentRelationship): 30 catalog_type: ExploitCatalogType = None 31 exploited: bool = None 32 locator: str = None 33 34 def __init__( 35 self, 36 spdx_id: str, 37 from_element: str, 38 relationship_type: RelationshipType, 39 to: List[str], 40 catalog_type: ExploitCatalogType, 41 exploited: bool, 42 locator: str, 43 creation_info: Optional[CreationInfo] = None, 44 name: Optional[str] = None, 45 summary: Optional[str] = None, 46 description: Optional[str] = None, 47 comment: Optional[str] = None, 48 verified_using: List[IntegrityMethod] = None, 49 external_reference: List[ExternalReference] = None, 50 external_identifier: List[ExternalIdentifier] = None, 51 extension: Optional[str] = None, 52 completeness: Optional[RelationshipCompleteness] = None, 53 start_time: Optional[datetime] = None, 54 end_time: Optional[datetime] = None, 55 assessed_element: Optional[str] = None, 56 published_time: Optional[datetime] = None, 57 supplied_by: Optional[str] = None, 58 modified_time: Optional[datetime] = None, 59 withdrawn_time: Optional[datetime] = None, 60 ): 61 verified_using = [] if verified_using is None else verified_using 62 external_reference = [] if external_reference is None else external_reference 63 external_identifier = [] if external_identifier is None else external_identifier 64 check_types_and_set_values(self, locals())
ExploitCatalogVulnAssessmentRelationship( spdx_id: str, from_element: str, relationship_type: spdx_tools.spdx.model.relationship.RelationshipType, to: list[str], catalog_type: ExploitCatalogType, exploited: bool, locator: str, creation_info: Optional[spdx_tools.spdx3.model.creation_info.CreationInfo] = None, name: Optional[str] = None, summary: Optional[str] = None, description: Optional[str] = None, comment: Optional[str] = None, verified_using: list[spdx_tools.spdx3.model.integrity_method.IntegrityMethod] = None, external_reference: list[spdx_tools.spdx3.model.external_reference.ExternalReference] = None, external_identifier: list[spdx_tools.spdx3.model.external_identifier.ExternalIdentifier] = None, extension: Optional[str] = None, completeness: Optional[spdx_tools.spdx3.model.relationship.RelationshipCompleteness] = None, start_time: Optional[datetime.datetime] = None, end_time: Optional[datetime.datetime] = None, assessed_element: Optional[str] = None, published_time: Optional[datetime.datetime] = None, supplied_by: Optional[str] = None, modified_time: Optional[datetime.datetime] = None, withdrawn_time: Optional[datetime.datetime] = None)
34 def __init__( 35 self, 36 spdx_id: str, 37 from_element: str, 38 relationship_type: RelationshipType, 39 to: List[str], 40 catalog_type: ExploitCatalogType, 41 exploited: bool, 42 locator: str, 43 creation_info: Optional[CreationInfo] = None, 44 name: Optional[str] = None, 45 summary: Optional[str] = None, 46 description: Optional[str] = None, 47 comment: Optional[str] = None, 48 verified_using: List[IntegrityMethod] = None, 49 external_reference: List[ExternalReference] = None, 50 external_identifier: List[ExternalIdentifier] = None, 51 extension: Optional[str] = None, 52 completeness: Optional[RelationshipCompleteness] = None, 53 start_time: Optional[datetime] = None, 54 end_time: Optional[datetime] = None, 55 assessed_element: Optional[str] = None, 56 published_time: Optional[datetime] = None, 57 supplied_by: Optional[str] = None, 58 modified_time: Optional[datetime] = None, 59 withdrawn_time: Optional[datetime] = None, 60 ): 61 verified_using = [] if verified_using is None else verified_using 62 external_reference = [] if external_reference is None else external_reference 63 external_identifier = [] if external_identifier is None else external_identifier 64 check_types_and_set_values(self, locals())
catalog_type: ExploitCatalogType