Skip to content

Commit

Permalink
minor updates and fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
clemiller committed Aug 10, 2023
1 parent fb82858 commit db717d7
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 9 deletions.
14 changes: 10 additions & 4 deletions mitreattack/stix20/MitreAttackData.py
Original file line number Diff line number Diff line change
Expand Up @@ -1671,7 +1671,7 @@ def get_all_techniques_targeting_all_assets(self) -> dict:
if self.all_techniques_targeting_all_assets:
return self.all_techniques_targeting_all_assets

self.all_techniques_targeting_all_assets = self.get_related("attack-pattern", "targets", "x-mitre-asset")
self.all_techniques_targeting_all_assets = self.get_related("attack-pattern", "targets", "x-mitre-asset", reverse=True)

return self.all_techniques_targeting_all_assets

Expand All @@ -1690,7 +1690,9 @@ def get_techniques_targeting_asset(self, asset_stix_id: str) -> list:
"""
techniques_targeting_assets = self.get_all_techniques_targeting_all_assets()
return (
techniques_targeting_assets[asset_stix_id] if asset_stix_id in techniques_targeting_assets else []
techniques_targeting_assets[asset_stix_id]
if asset_stix_id in techniques_targeting_assets
else []
)

def get_all_assets_targeted_by_all_techniques(self) -> dict:
Expand All @@ -1705,7 +1707,7 @@ def get_all_assets_targeted_by_all_techniques(self) -> dict:
if self.all_assets_targeted_by_all_techniques:
return self.all_assets_targeted_by_all_techniques

self.all_assets_targeted_by_all_techniques = self.get_related("attack-pattern", "targets", "x-mitre-asset", reverse=True)
self.all_assets_targeted_by_all_techniques = self.get_related("attack-pattern", "targets", "x-mitre-asset")

return self.all_assets_targeted_by_all_techniques

Expand All @@ -1723,4 +1725,8 @@ def get_assets_targeted_by_technique(self, technique_stix_id: str) -> list:
a list of {asset, relationship} for each asset targeted by the technique
"""
assets_targeted_by_techniques = self.get_all_assets_targeted_by_all_techniques()
return assets_targeted_by_techniques[technique_stix_id] if technique_stix_id in assets_targeted_by_techniques else []
return (
assets_targeted_by_techniques[technique_stix_id]
if technique_stix_id in assets_targeted_by_techniques
else []
)
7 changes: 2 additions & 5 deletions mitreattack/stix20/custom_attack_objects.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
ReferenceProperty,
TimestampProperty,
BooleanProperty,
DictionaryProperty
)


Expand Down Expand Up @@ -216,11 +217,7 @@ class DataComponent(CustomStixObject, object):
("x_mitre_contributors", ListProperty(StringProperty())),
# Asset Properties
("sectors", ListProperty(StringProperty())),
("x_mitre_related_assets", ListProperty({
("name", StringProperty(required=True)),
("related_asset_sector", StringProperty()),
("description", StringProperty())
})),
("x_mitre_related_assets", ListProperty(DictionaryProperty())),
("x_mitre_platforms", ListProperty(StringProperty())),
]
)
Expand Down

0 comments on commit db717d7

Please sign in to comment.