Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
from .attckobject import AttckObject
class AttckActor(AttckObject):
"""A child class of AttckObject
Creates objects that are categorized as Mitre ATT&CK Actors or Groups (e.g. APT1, APT32, etc.)
Arguments:
attck_obj (json) -- Takes the raw Mitre ATT&CK Json object
AttckObject (dict) -- Takes the Mitre ATT&CK Json object as a kwargs values
"""
def __init__(self, attck_obj = None, **kwargs):
self.attck_obj = attck_obj
self.id = super(AttckActor, self)._set_id(kwargs)
self.created_by_ref = super(AttckActor, self)._set_attribute(kwargs, 'created_by_ref')
self.revoked = super(AttckActor, self)._set_attribute(kwargs, 'revoked')
self.name = super(AttckActor, self)._set_attribute(kwargs, 'name')
from .attckobject import AttckObject
class AttckTools(AttckObject):
"""A child class of AttckObject
Creates objects which have been categorized as software used in attacks
Arguments:
AttckObject (dict) -- Takes the Mitre ATT&CK Json object as a kwargs values
"""
def __init__(self, attck_obj = None, **kwargs):
"""Creates an AttckTools object.
The AttckTools object is based on software which have been categorized as software used in attacks
"""
self.attck_obj = attck_obj
self.id = super(AttckTools, self)._set_id(kwargs)
self.name = super(AttckTools, self)._set_attribute(kwargs, 'name')
from .attckobject import AttckObject
class AttckTechnique(AttckObject):
"""A child class of AttckObject
Creates objects which have been categorized as a technique used by attackers
Arguments:
AttckObject (dict) -- Takes the Mitre ATT&CK Json object as a kwargs values
"""
def __init__(self, attck_obj = None, **kwargs):
"""Creates an AttckTechnique object.
The AttckTechnique object is a technique used by attackers.
"""
self.attck_obj = attck_obj
self.created_by_reference = super(AttckTechnique, self)._set_attribute(kwargs, 'created_by_ref')
self.id = super(AttckTechnique, self)._set_id(kwargs)
from .attckobject import AttckObject
class AttckTactic(AttckObject):
def __init__(self, attck_obj = None, **kwargs):
'''The AttckTactic class is used to gather information about all Mitre ATT&CK Framework Tactics.
To access this class directly you must first instantiate it and provide the appropriate inputs, but it is easier to use the Attck class wrapper.
Args:
attck_obj ([json]): This should be the raw Mitre ATT&CK json object. Defaults to None, but should be provided
'''
self.attck_obj = attck_obj
self.id = super(AttckTactic, self)._set_id(kwargs)
self.created_by_ref = super(AttckTactic, self)._set_attribute(kwargs, 'created_by_ref')
self.type = super(AttckTactic, self)._set_attribute(kwargs, 'type')
self.name = super(AttckTactic, self)._set_attribute(kwargs, 'name')
from .attckobject import AttckObject
class AttckMitigation(AttckObject):
"""A child class of AttckObject
Creates objects which have been categorized as potential mitigations
Arguments:
AttckObject (dict) -- Takes the Mitre ATT&CK Json object as a kwargs values
"""
def __init__(self, attck_obj = None, **kwargs):
"""Creates an AttckTactic object.
The AttckMitigation object is considered a list of mitigations to threats based on the Mitre ATT&CK Framework
"""
self.attck_obj = attck_obj
self.created_by_ref = super(AttckMitigation, self)._set_attribute(kwargs, 'created_by_ref')
self.id = super(AttckMitigation, self)._set_id(kwargs)
from .attckobject import AttckObject
class AttckMalware(AttckObject):
"""A child class of AttckObject
Creates objects which have been categorized as malware used in attacks
Arguments:
AttckObject (dict) -- Takes the Mitre ATT&CK Json object as a kwargs values
"""
def __init__(self, attck_obj = None, **kwargs):
"""Creates an AttckMalware object.
The AttckMalware object is based on malware which have been categorized as software used in attacks
"""
self.attck_obj = attck_obj
self.id = super(AttckMalware, self)._set_id(kwargs)
self.created_by_ref = super(AttckMalware, self)._set_attribute(kwargs, 'created_by_ref')