Skip to content

Commit 3a6542b

Browse files
committed
fix: lint errors, add x_mitre_deprecated to stix20/ custom objects
1 parent 440283b commit 3a6542b

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

mitreattack/stix20/MitreAttackData.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -981,8 +981,8 @@ def get_attack_id(self, stix_id: str) -> str | None:
981981
The ATT&CK ID of the object, or None if not found.
982982
"""
983983
obj = self.get_object_by_stix_id(stix_id)
984-
external_references = obj.get("external_references")
985-
if external_references:
984+
external_references = self.get_field(obj, "external_references", [])
985+
if external_references and len(external_references) > 0:
986986
attack_source = external_references[0]
987987
if attack_source.get("external_id") and attack_source.get("source_name") == "mitre-attack":
988988
return attack_source["external_id"]
@@ -1018,8 +1018,8 @@ def get_name(self, stix_id: str) -> str | None:
10181018
"""
10191019
obj = self.get_object_by_stix_id(stix_id)
10201020
# name = MitreAttackData.get_field(obj, "name")
1021-
name = obj.get("name")
1022-
return name if name is not None else None
1021+
name = self.get_field(obj, "name")
1022+
return name
10231023

10241024
###################################
10251025
# Relationship Section

mitreattack/stix20/custom_attack_objects.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ def StixObjectFactory(data: dict) -> Union[CustomStixObject, stix2.v20.sdo._Doma
108108
("x_mitre_modified_by_ref", ReferenceProperty(valid_types="identity", spec_version="2.0")),
109109
("x_mitre_version", StringProperty()),
110110
("x_mitre_attack_spec_version", StringProperty()),
111+
("x-mitre-deprecated", BooleanProperty(default=lambda: False)),
111112
# Matrix Properties
112113
("tactic_refs", ListProperty(ReferenceProperty(valid_types="x-mitre-tactic", spec_version="2.0"))),
113114
],
@@ -141,6 +142,7 @@ class Matrix(CustomStixObject, object):
141142
("x_mitre_modified_by_ref", ReferenceProperty(valid_types="identity", spec_version="2.0")),
142143
("x_mitre_version", StringProperty()),
143144
("x_mitre_attack_spec_version", StringProperty()),
145+
("x-mitre-deprecated", BooleanProperty(default=lambda: False)),
144146
# Tactic Properties
145147
("x_mitre_shortname", StringProperty()),
146148
],
@@ -186,6 +188,7 @@ def get_shortname(self) -> str:
186188
("x_mitre_modified_by_ref", ReferenceProperty(valid_types="identity", spec_version="2.0")),
187189
("x_mitre_version", StringProperty()),
188190
("x_mitre_attack_spec_version", StringProperty()),
191+
("x-mitre-deprecated", BooleanProperty(default=lambda: False)),
189192
# Data Source Properties
190193
("x_mitre_platforms", ListProperty(StringProperty())),
191194
("x_mitre_collection_layers", ListProperty(StringProperty())),
@@ -220,6 +223,7 @@ class DataSource(CustomStixObject, object):
220223
("x_mitre_modified_by_ref", ReferenceProperty(valid_types="identity", spec_version="2.0")),
221224
("x_mitre_version", StringProperty()),
222225
("x_mitre_attack_spec_version", StringProperty()),
226+
("x-mitre-deprecated", BooleanProperty(default=lambda: False)),
223227
# Data Component Properties
224228
("x_mitre_data_source_ref", ReferenceProperty(valid_types="x-mitre-data-source", spec_version="2.0")),
225229
("x_mitre_log_sources", ListProperty(DictionaryProperty())),
@@ -256,6 +260,7 @@ class DataComponent(CustomStixObject, object):
256260
("x_mitre_attack_spec_version", StringProperty()),
257261
("x_mitre_domains", ListProperty(StringProperty())),
258262
("x_mitre_contributors", ListProperty(StringProperty())),
263+
("x-mitre-deprecated", BooleanProperty(default=lambda: False)),
259264
# Asset Properties
260265
("sectors", ListProperty(StringProperty())),
261266
("x_mitre_related_assets", ListProperty(DictionaryProperty())),

0 commit comments

Comments
 (0)