mirror of
https://github.com/DISARMFoundation/DISARMframeworks.git
synced 2025-05-13 04:02:26 -04:00
Added EEAS framework objects and STIX generator
Added framework objects: - Added technique T0066 "Degrade adversary" to TA02 - Added technique T0067 "Plan to discredit credible sources" to TA02 - Added technique T0068 "respond to breaking news event" to TA02 - Added technique T0069 "respond to active crisis" to TA02 - Added technique T0070 "Analyze existing communities" to TA02 - Added technique T0071 "Find echo chambers" to TA13 - Added technique T0072 "Segment audiences" to TA13 Added STIX generator from repo DISARM-stix2, and added code to generate github files, databases, and STIX from the same Jupyter notebook.
This commit is contained in:
parent
2117dcf09b
commit
c11e9d06ad
46 changed files with 2428 additions and 17533 deletions
57
CODE/DISARM-STIX2/objects/tactic.py
Normal file
57
CODE/DISARM-STIX2/objects/tactic.py
Normal file
|
@ -0,0 +1,57 @@
|
|||
from stix2 import CustomObject, properties, ExternalReference
|
||||
|
||||
import objects.marking_definition
|
||||
from objects import identity, marking_definition
|
||||
|
||||
|
||||
@CustomObject('x-mitre-tactic', [
|
||||
('name', properties.StringProperty(required=True)),
|
||||
('description', properties.StringProperty(required=True)),
|
||||
('x_mitre_shortname', properties.StringProperty(required=True)),
|
||||
('external_references', properties.ListProperty(ExternalReference))
|
||||
])
|
||||
class Tactic(object):
|
||||
def __init__(self, x_mitre_shortname=None, **kwargs):
|
||||
if x_mitre_shortname and x_mitre_shortname not in ["strategic-planning", "objective-planning",
|
||||
"develop-people", "develop-persona",
|
||||
"develop-networks", "microtargeting", "develop-content",
|
||||
"channel-selection", "pump-priming", "exposure",
|
||||
"go-physical",
|
||||
"persistence", "measure-effectiveness"]:
|
||||
# raise ValueError("'%s' is not a recognized DISARM Tactic." % x_mitre_shortname)
|
||||
print("'%s' is not a recognized DISARM Tactic." % x_mitre_shortname)
|
||||
|
||||
|
||||
def make_disarm_tactics(data):
|
||||
"""Create all DISARM tactic objects.
|
||||
|
||||
Args:
|
||||
data: The xlsx tactic sheet.
|
||||
|
||||
Returns:
|
||||
A list of Tactics.
|
||||
|
||||
"""
|
||||
tactics = []
|
||||
for t in data["tactics"].values.tolist():
|
||||
external_references = [
|
||||
{
|
||||
'external_id': f'{t[0]}',
|
||||
'source_name': 'DISARM',
|
||||
'url': f'https://github.com/DISARMFoundation/DISARM_framework/blob/master/tactics/{t[0]}.md'
|
||||
}
|
||||
]
|
||||
|
||||
tactic = Tactic(
|
||||
name=f"{t[1]}",
|
||||
description=f"{t[5]}",
|
||||
x_mitre_shortname=f'{t[1].lower().replace(" ", "-")}',
|
||||
external_references=external_references,
|
||||
object_marking_refs=objects.marking_definition.make_disarm_marking_definition(),
|
||||
created_by_ref=objects.identity.make_disarm_identity()
|
||||
)
|
||||
|
||||
tactics.append(tactic)
|
||||
|
||||
return tactics
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue