# Copyright (c) 2017, The MITRE Corporation. All rights reserved.
# See LICENSE.txt for complete terms.
from mixbox import entities
from mixbox import fields
import cybox.bindings.cybox_core as core_binding
from cybox.common import StructuredText
from cybox.core.observable import Observables
[docs]class ObfuscationTechnique(entities.Entity):
_binding = core_binding
_namespace = 'http://cybox.mitre.org/cybox-2'
_binding_class = core_binding.ObfuscationTechniqueType
description = fields.TypedField("Description", StructuredText)
observables = fields.TypedField("Observables", Observables)
[docs]class ObfuscationTechniques(entities.EntityList):
_binding = core_binding
_namespace = 'http://cybox.mitre.org/cybox-2'
_binding_class = core_binding.ObfuscationTechniquesType
obfuscation_technique = fields.TypedField("Obfuscation_Technique", ObfuscationTechnique, multiple=True)
[docs]class PatternFidelity(entities.Entity):
_binding = core_binding
_namespace = 'http://cybox.mitre.org/cybox-2'
_binding_class = core_binding.PatternFidelityType
noisiness = fields.TypedField("Noisiness")
ease_of_evasion = fields.TypedField("Ease_of_Evasion")
evasion_techniques = fields.TypedField("Evasion_Techniques", ObfuscationTechniques)