Example #1
0
 def from_dict(cls, dict_repr, return_obj=None):
     if not dict_repr:
         return None
     if not return_obj:
         return_obj = cls()
     
     super(TTPs, cls).from_dict(dict_repr, return_obj)
     return_obj.kill_chains = KillChains.from_dict(dict_repr.get('kill_chains'))
     return return_obj
Example #2
0
 def from_obj(cls, obj, return_obj=None):
     if not obj:
         return None
     if not return_obj:
         return_obj = cls()
     
     super(TTPs, cls).from_obj(obj, return_obj)
     return_obj.kill_chains = KillChains.from_obj(obj.Kill_Chains)
     return return_obj
Example #3
0
 def from_dict(cls, dict_repr, return_obj=None):
     if not dict_repr:
         return None
     if not return_obj:
         return_obj = cls()
     
     return_obj.ttps = [TTP.from_dict(x) for x in dict_repr.get('ttps', [])]
     return_obj.kill_chains = KillChains.from_dict(dict_repr.get('kill_chains'))
     return return_obj
Example #4
0
    def from_obj(cls, obj, return_obj=None):
        if not obj:
            return None
        if not return_obj:
            return_obj = cls()

        super(TTPs, cls).from_obj(obj, return_obj)
        return_obj.kill_chains = KillChains.from_obj(obj.Kill_Chains)
        return return_obj
Example #5
0
    def from_dict(cls, dict_repr, return_obj=None):
        if not dict_repr:
            return None
        if not return_obj:
            return_obj = cls()

        return_obj.ttps = [TTP.from_dict(x) for x in dict_repr.get('ttps', [])]
        return_obj.kill_chains = KillChains.from_dict(
            dict_repr.get('kill_chains'))
        return return_obj
Example #6
0
    def from_obj(cls, obj, return_obj=None):
        if not obj:
            return None
        if not return_obj:
            return_obj = cls()

        return_obj.kill_chains = KillChains.from_obj(obj.get_Kill_Chains())

        if obj.get_TTP():
            return_obj.ttps = [TTP.from_obj(x) for x in obj.get_TTP()]

        return return_obj
Example #7
0
 def from_obj(cls, obj, return_obj=None):
     if not obj:
         return None
     if not return_obj:
         return_obj = cls()
     
     return_obj.kill_chains = KillChains.from_obj(obj.get_Kill_Chains())
     
     if obj.get_TTP():
         return_obj.ttps = [TTP.from_obj(x) for x in obj.get_TTP()]
     
     return return_obj
Example #8
0
 def __init__(self, ttps=None):
     super(TTPs, self).__init__(ttps)
     self.kill_chains = KillChains()
Example #9
0
class TTPs(stix.EntityList):
    _binding = core_binding
    _binding_class = _binding.TTPsType
    _namespace = 'http://stix.mitre.org/stix-1'
    _contained_type = TTP
    _binding_var = "TTP"
    _inner_name = "ttps"
    
    def __init__(self, ttps=None):
        super(TTPs, self).__init__(ttps)
        self.kill_chains = KillChains()

    def __nonzero__(self):
        return super(TTPs, self).__nonzero__() or bool(self.kill_chains)

    @property
    def ttps(self):
        return self._inner
    
    @ttps.setter
    def ttps(self, value):
        self._inner = []

        if utils.is_sequence(value):
            self.extend(value)
        else:
            self.append(value)

    def add_ttp(self, ttp):
        self.append(ttp)

    def _is_valid(self, value):
        idref_deprecated(value)
        return stix.EntityList._is_valid(self, value)

    def to_obj(self, return_obj=None, ns_info=None):
        if not return_obj:
            return_obj = self._binding_class()
        
        super(TTPs, self).to_obj(return_obj=return_obj, ns_info=ns_info)
        
        if self.kill_chains:
            return_obj.Kill_Chains = self.kill_chains.to_obj(ns_info=ns_info)
        
        return return_obj
    
    @classmethod
    def from_obj(cls, obj, return_obj=None):  # noqa
        if not obj:
            return None

        if not return_obj:
            return_obj = cls()
        
        super(TTPs, cls).from_obj(obj, return_obj=return_obj)

        return_obj.kill_chains = KillChains.from_obj(obj.Kill_Chains)

        return return_obj
    
    def to_dict(self):
        return super(TTPs, self).to_dict()

    @classmethod
    def from_dict(cls, dict_repr, return_obj=None):  # noqa
        if not dict_repr:
            return None

        if not return_obj:
            return_obj = cls()

        super(TTPs, cls).from_dict(dict_repr, return_obj)

        get = dict_repr.get
        return_obj.kill_chains = KillChains.from_dict(get('kill_chains'))

        return return_obj
Example #10
0
 def __init__(self, ttps=None):
     self.ttps = ttps
     self.kill_chains = KillChains()
Example #11
0
class TTPs(stix.Entity):
    _binding = core_binding
    _binding_class = _binding.TTPsType
    _namespace = 'http://stix.mitre.org/stix-1'

    def __init__(self, ttps=None):
        self.ttps = ttps
        self.kill_chains = KillChains()

    @property
    def ttps(self):
        return self._ttps

    @ttps.setter
    def ttps(self, value):
        self._ttps = []
        if not value:
            return
        elif isinstance(value, list):
            for v in value:
                self.add_ttp(v)
        else:
            self.add_ttp(value)

    def add_ttp(self, ttp):
        if not ttp:
            return
        elif isinstance(ttp, TTP):
            self.ttps.append(ttp)
        else:
            raise ValueError('Cannot add type %s to ttp list' % type(ttp))

    def to_obj(self, return_obj=None):
        if not return_obj:
            return_obj = self._binding_class()

        if self.ttps:
            return_obj.set_TTP([x.to_obj() for x in self.ttps])
        if self.kill_chains:
            return_obj.set_Kill_Chains(self.kill_chains.to_obj())

        return return_obj

    @classmethod
    def from_obj(cls, obj, return_obj=None):
        if not obj:
            return None
        if not return_obj:
            return_obj = cls()

        return_obj.kill_chains = KillChains.from_obj(obj.get_Kill_Chains())

        if obj.get_TTP():
            return_obj.ttps = [TTP.from_obj(x) for x in obj.get_TTP()]

        return return_obj

    def to_dict(self):
        d = {}
        if self.ttps:
            d['ttps'] = [x.to_dict() for x in self.ttps]
        if self.kill_chains:
            d['kill_chains'] = self.kill_chains.to_dict()

        return d

    @classmethod
    def from_dict(cls, dict_repr, return_obj=None):
        if not dict_repr:
            return None
        if not return_obj:
            return_obj = cls()

        return_obj.ttps = [TTP.from_dict(x) for x in dict_repr.get('ttps', [])]
        return_obj.kill_chains = KillChains.from_dict(
            dict_repr.get('kill_chains'))
        return return_obj
Example #12
0
class TTPs(stix.EntityList):
    _binding = core_binding
    _binding_class = _binding.TTPsType
    _namespace = 'http://stix.mitre.org/stix-1'
    _contained_type = TTP
    _binding_var = "TTP"
    _inner_name = "ttps"

    def __init__(self, ttps=None):
        super(TTPs, self).__init__(ttps)
        self.kill_chains = KillChains()

    def __nonzero__(self):
        return super(TTPs, self).__nonzero__() or bool(self.kill_chains)

    @property
    def ttps(self):
        return self._inner

    @ttps.setter
    def ttps(self, value):
        self._inner = []
        if not value:
            return
        elif isinstance(value, list):
            for v in value:
                self.add_ttp(v)
        else:
            self.add_ttp(value)

    def add_ttp(self, ttp):
        if not ttp:
            return
        elif isinstance(ttp, TTP):
            self.ttps.append(ttp)
        else:
            raise ValueError('Cannot add type %s to ttp list' % type(ttp))

    def to_obj(self, return_obj=None, ns_info=None):
        if not return_obj:
            return_obj = self._binding_class()

        super(TTPs, self).to_obj(return_obj=return_obj, ns_info=ns_info)

        if self.kill_chains:
            return_obj.Kill_Chains = self.kill_chains.to_obj(ns_info=ns_info)

        return return_obj

    @classmethod
    def from_obj(cls, obj, return_obj=None):
        if not obj:
            return None
        if not return_obj:
            return_obj = cls()

        super(TTPs, cls).from_obj(obj, return_obj)
        return_obj.kill_chains = KillChains.from_obj(obj.Kill_Chains)
        return return_obj

    def to_dict(self):
        d = super(TTPs, self).to_dict()
        if self.kill_chains:
            d['kill_chains'] = self.kill_chains.to_dict()

        return d

    @classmethod
    def from_dict(cls, dict_repr, return_obj=None):
        if not dict_repr:
            return None
        if not return_obj:
            return_obj = cls()

        super(TTPs, cls).from_dict(dict_repr, return_obj)
        return_obj.kill_chains = KillChains.from_dict(
            dict_repr.get('kill_chains'))
        return return_obj
Example #13
0
 def add_kill_chain(self, kc):
     if self.kill_chains is None:
         self.kill_chains = KillChains()
     self.kill_chains.kill_chain.append(kc)
Example #14
0
class TTPs(stix.EntityList):
    _binding = core_binding
    _binding_class = _binding.TTPsType
    _namespace = 'http://stix.mitre.org/stix-1'
    _contained_type = TTP
    _binding_var = "TTP"
    _inner_name = "ttps"
    
    def __init__(self, ttps=None):
        super(TTPs, self).__init__(ttps)
        self.kill_chains = KillChains()

    def __nonzero__(self):
        return super(TTPs, self).__nonzero__() or bool(self.kill_chains)
        
    @property
    def ttps(self):
        return self._inner
    
    @ttps.setter
    def ttps(self, value):
        self._inner = []
        if not value:
            return
        elif isinstance(value, list):
            for v in value:
                self.add_ttp(v)
        else:
            self.add_ttp(value)
    
    def add_ttp(self, ttp):
        if not ttp:
            return
        elif isinstance(ttp, TTP):
            self.ttps.append(ttp)
        else:
            raise ValueError('Cannot add type %s to ttp list' % type(ttp))
        
    def to_obj(self, return_obj=None, ns_info=None):
        if not return_obj:
            return_obj = self._binding_class()
        
        super(TTPs, self).to_obj(return_obj=return_obj, ns_info=ns_info)
        
        if self.kill_chains:
            return_obj.Kill_Chains = self.kill_chains.to_obj(ns_info=ns_info)
        
        return return_obj
    
    @classmethod
    def from_obj(cls, obj, return_obj=None):
        if not obj:
            return None
        if not return_obj:
            return_obj = cls()
        
        super(TTPs, cls).from_obj(obj, return_obj)
        return_obj.kill_chains = KillChains.from_obj(obj.Kill_Chains)
        return return_obj
    
    def to_dict(self):
        d = super(TTPs, self).to_dict()
        if self.kill_chains:
            d['kill_chains'] = self.kill_chains.to_dict()
        
        return d
    
    @classmethod
    def from_dict(cls, dict_repr, return_obj=None):
        if not dict_repr:
            return None
        if not return_obj:
            return_obj = cls()
        
        super(TTPs, cls).from_dict(dict_repr, return_obj)
        return_obj.kill_chains = KillChains.from_dict(dict_repr.get('kill_chains'))
        return return_obj
Example #15
0
class TTPs(stix.Entity):
    _binding = core_binding
    _binding_class = _binding.TTPsType
    _namespace = 'http://stix.mitre.org/stix-1'
    
    def __init__(self, ttps=None):
        self.ttps = ttps
        self.kill_chains = KillChains()
        
    @property
    def ttps(self):
        return self._ttps
    
    @ttps.setter
    def ttps(self, value):
        self._ttps = []
        if not value:
            return
        elif isinstance(value, list):
            for v in value:
                self.add_ttp(v)
        else:
            self.add_ttp(value)
    
    def add_ttp(self, ttp):
        if not ttp:
            return
        elif isinstance(ttp, TTP):
            self.ttps.append(ttp)
        else:
            raise ValueError('Cannot add type %s to ttp list' % type(ttp))
        
    def to_obj(self, return_obj=None):
        if not return_obj:
            return_obj = self._binding_class()
        
        if self.ttps:
            return_obj.set_TTP([x.to_obj() for x in self.ttps])
        if self.kill_chains:
            return_obj.set_Kill_Chains(self.kill_chains.to_obj())
        
        return return_obj
    
    @classmethod
    def from_obj(cls, obj, return_obj=None):
        if not obj:
            return None
        if not return_obj:
            return_obj = cls()
        
        return_obj.kill_chains = KillChains.from_obj(obj.get_Kill_Chains())
        
        if obj.get_TTP():
            return_obj.ttps = [TTP.from_obj(x) for x in obj.get_TTP()]
        
        return return_obj
    
    def to_dict(self):
        d = {}
        if self.ttps:
            d['ttps'] = [x.to_dict() for x in self.ttps]
        if self.kill_chains:
            d['kill_chains'] = self.kill_chains.to_dict()
        
        return d
    
    @classmethod
    def from_dict(cls, dict_repr, return_obj=None):
        if not dict_repr:
            return None
        if not return_obj:
            return_obj = cls()
        
        return_obj.ttps = [TTP.from_dict(x) for x in dict_repr.get('ttps', [])]
        return_obj.kill_chains = KillChains.from_dict(dict_repr.get('kill_chains'))
        return return_obj
Example #16
0
 def __init__(self, ttps=None):
     super(TTPs, self).__init__(ttps)
     self.kill_chains = KillChains()
Example #17
0
class TTPs(stix.EntityList):
    _binding = core_binding
    _binding_class = _binding.TTPsType
    _namespace = 'http://stix.mitre.org/stix-1'
    _contained_type = TTP
    _binding_var = "TTP"
    _inner_name = "ttps"

    def __init__(self, ttps=None):
        super(TTPs, self).__init__(ttps)
        self.kill_chains = KillChains()

    def __nonzero__(self):
        return super(TTPs, self).__nonzero__() or bool(self.kill_chains)

    @property
    def ttps(self):
        return self._inner

    @ttps.setter
    def ttps(self, value):
        self._inner = []
        self.append(value)

    def add_ttp(self, ttp):
        self.ttps.append(ttp)

    def to_obj(self, return_obj=None, ns_info=None):
        if not return_obj:
            return_obj = self._binding_class()

        super(TTPs, self).to_obj(return_obj=return_obj, ns_info=ns_info)

        if self.kill_chains:
            return_obj.Kill_Chains = self.kill_chains.to_obj(ns_info=ns_info)

        return return_obj

    @classmethod
    def from_obj(cls, obj, return_obj=None):
        if not obj:
            return None
        if not return_obj:
            return_obj = cls()

        super(TTPs, cls).from_obj(obj, return_obj=return_obj)

        return_obj.kill_chains = KillChains.from_obj(obj.Kill_Chains)

        return return_obj

    def to_dict(self):
        return super(TTPs, self).to_dict()

    @classmethod
    def from_dict(cls, dict_repr, return_obj=None):
        if not dict_repr:
            return None

        if not return_obj:
            return_obj = cls()

        super(TTPs, cls).from_dict(dict_repr, return_obj)

        get = dict_repr.get
        return_obj.kill_chains = KillChains.from_dict(get('kill_chains'))

        return return_obj
Example #18
0
 def __init__(self, ttps=None):
     self.ttps = ttps
     self.kill_chains = KillChains()