def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.id return_obj.idref = obj.idref return_obj.timestamp = obj.timestamp # not yet implemented if isinstance(obj, cls._binding_class): # TTPType properties return_obj.version = obj.version return_obj.title = obj.Title return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj(obj.Short_Description) return_obj.information_source = InformationSource.from_obj(obj.Information_Source) return_obj.handling = Marking.from_obj(obj.Handling) return_obj.potential_coas = PotentialCOAs.from_obj(obj.Potential_COAs) return_obj.related_exploit_targets = RelatedExploitTargets.from_obj(obj.Related_Exploit_Targets) return_obj.vulnerabilities = [Vulnerability.from_obj(x) for x in obj.Vulnerability] return_obj.weaknesses = [Weakness.from_obj(x) for x in obj.Weakness] return_obj.configuration = [Configuration.from_obj(x) for x in obj.Configuration] return_obj.related_packages = RelatedPackageRefs.from_obj(obj.Related_Packages) return return_obj
def from_obj(cls, obj, return_obj=None): from stix.common import StructuredText, InformationSource if not return_obj: raise ValueError("Must provide a return_obj argument") if not obj: raise ValueError("Must provide an obj argument") return_obj.id_ = obj.id return_obj.idref = obj.idref return_obj.timestamp = obj.timestamp # These may not be found on the input obj if it isn't a full # type definition (e.g., used as a reference) return_obj.version = getattr(obj, 'version', None) return_obj.title = getattr(obj, 'Title', None) return_obj.description = \ StructuredText.from_obj(getattr(obj, 'Description', None)) return_obj.short_description = \ StructuredText.from_obj(getattr(obj, 'Short_Description', None)) return_obj.information_source = \ InformationSource.from_obj(getattr(obj, 'Information_Source', None)) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.id return_obj.idref = obj.idref return_obj.timestamp = obj.timestamp if isinstance(obj, cls._binding_class): # CourseOfActionType properties return_obj.version = obj.version return_obj.title = obj.Title return_obj.stage = VocabString.from_obj(obj.Stage) return_obj.type_ = VocabString.from_obj(obj.Type) return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj(obj.Short_Description) return_obj.objective = Objective.from_obj(obj.Objective) return_obj.parameter_observables = \ Observables.from_obj(obj.Parameter_Observables) return_obj.impact = Statement.from_obj(obj.Impact) return_obj.cost = Statement.from_obj(obj.Cost) return_obj.efficacy = Statement.from_obj(obj.Efficacy) return_obj.information_source = InformationSource.from_obj(obj.Information_Source) return_obj.handling = Marking.from_obj(obj.Handling) return_obj.related_coas = \ RelatedCOAs.from_obj(obj.Related_COAs) return_obj.related_packages = \ RelatedPackageRefs.from_obj(obj.Related_Packages) return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.id_ = dict_repr.get('id') return_obj.idref = dict_repr.get('idref') return_obj.timestamp = dict_repr.get('timestamp') return_obj.version = dict_repr.get('version', cls._version) return_obj.title = dict_repr.get('title') return_obj.description = StructuredText.from_dict(dict_repr.get('description')) return_obj.short_description = StructuredText.from_dict(dict_repr.get('short_description')) return_obj.time = Time.from_dict(dict_repr.get('time')) return_obj.victims = [Identity.from_dict(x) for x in dict_repr.get('victims', [])] return_obj.categories = [IncidentCategory.from_dict(x) for x in dict_repr.get('categories', [])] return_obj.attributed_threat_actors = AttributedThreatActors.from_dict(dict_repr.get('attributed_threat_actors')) return_obj.related_indicators = RelatedIndicators.from_dict(dict_repr.get('related_indicators')) return_obj.related_observables = RelatedObservables.from_dict(dict_repr.get('related_observables')) return_obj.related_incidents = RelatedIncidents.from_dict(dict_repr.get('related_incidents')) return_obj.intended_effects = [Statement.from_dict(x) for x in dict_repr.get('intended_effects', [])] return_obj.leveraged_ttps = LeveragedTTPs.from_dict(dict_repr.get('leveraged_ttps')) return_obj.affected_assets = [AffectedAsset.from_dict(x) for x in dict_repr.get('affected_assets', [])] return_obj.discovery_methdos = [DiscoveryMethod.from_dict(x) for x in dict_repr.get('discovery_methods', [])] return_obj.reporter = InformationSource.from_dict(dict_repr.get('reporter')) return_obj.responders = [InformationSource.from_dict(x) for x in dict_repr.get('responders', [])] return_obj.coordinators = [InformationSource.from_dict(x) for x in dict_repr.get('coordinators', [])] return_obj.external_ids = [ExternalID.from_dict(x) for x in dict_repr.get('external_ids', [])] return_obj.impact_assessment = ImpactAssessment.from_dict(dict_repr.get('impact_assessment')) return_obj.information_source = InformationSource.from_dict(dict_repr.get('information_source')) return_obj.security_compromise = SecurityCompromise.from_dict(dict_repr.get('security_compromise')) return_obj.confidence = Confidence.from_dict(dict_repr.get('confidence')) return_obj.coa_taken = [COATaken.from_dict(x) for x in dict_repr.get('coa_taken', [])] return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.get_id() return_obj.idref = obj.get_idref() return_obj.timestamp = obj.get_timestamp() if isinstance(obj, cls._binding_class): # ThreatActorType properties return_obj.version = obj.get_version() if obj.get_version() else cls._version return_obj.title = obj.get_Title() return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj(obj.get_Short_Description()) return_obj.identity = Identity.from_obj(obj.get_Identity()) return_obj.types = [Statement.from_obj(x) for x in obj.get_Type()] return_obj.motivations = [Statement.from_obj(x) for x in obj.get_Motivation()] return_obj.sophistications = [Statement.from_obj(x) for x in obj.get_Sophistication()] return_obj.intended_effects = [Statement.from_obj(x) for x in obj.get_Intended_Effect()] return_obj.planning_and_operational_supports = [Statement.from_obj(x) for x in obj.get_Planning_And_Operational_Support()] return_obj.observed_ttps = ObservedTTPs.from_obj(obj.get_Observed_TTPs()) return_obj.associated_campaigns = AssociatedCampaigns.from_obj(obj.get_Associated_Campaigns()) return_obj.associated_actors = AssociatedActors.from_obj(obj.get_Associated_Actors()) return_obj.handling = Marking.from_obj(obj.get_Handling()) return_obj.confidence = Confidence.from_obj(obj.get_Confidence()) return_obj.information_source = InformationSource.from_obj(obj.get_Information_Source()) return_obj.related_packages = RelatedPackageRefs.from_obj(obj.get_Related_Packages()) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.id return_obj.idref = obj.idref return_obj.timestamp = obj.timestamp if isinstance(obj, cls._binding_class): # TTPType properties return_obj.version = obj.version return_obj.title = obj.Title return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj(obj.Short_Description) return_obj.behavior = Behavior.from_obj(obj.Behavior) return_obj.related_ttps = RelatedTTPs.from_obj(obj.Related_TTPs) return_obj.exploit_targets = ExploitTargets.from_obj(obj.Exploit_Targets) return_obj.information_source = InformationSource.from_obj(obj.Information_Source) return_obj.resources = Resource.from_obj(obj.Resources) return_obj.victim_targeting = VictimTargeting.from_obj(obj.Victim_Targeting) return_obj.handling = Marking.from_obj(obj.Handling) if obj.Intended_Effect: return_obj.intended_effects = [Statement.from_obj(x) for x in obj.Intended_Effect] return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.get_id() return_obj.idref = obj.get_idref() return_obj.timestamp = obj.get_timestamp() # not yet implemented if isinstance(obj, cls._binding_class): # TTPType properties return_obj.version = obj.get_version() or cls._version return_obj.title = obj.get_Title() return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj(obj.get_Short_Description()) return_obj.behavior = Behavior.from_obj(obj.get_Behavior()) return_obj.related_ttps = RelatedTTPs.from_obj(obj.get_Related_TTPs()) return_obj.information_source = InformationSource.from_obj(obj.get_Information_Source()) return_obj.resources = Resource.from_obj(obj.get_Resources()) return_obj.victim_targeting = VictimTargeting.from_obj(obj.get_Victim_Targeting()) if obj.get_Intended_Effect(): return_obj.intended_effects = [Statement.from_obj(x) for x in obj.get_Intended_Effect()] return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.id return_obj.idref = obj.idref return_obj.timestamp = obj.timestamp if isinstance(obj, cls._binding_class): # ThreatActorType properties return_obj.version = obj.version return_obj.title = obj.Title return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj(obj.Short_Description) return_obj.identity = Identity.from_obj(obj.Identity) return_obj.types = [Statement.from_obj(x) for x in obj.Type] return_obj.motivations = [Statement.from_obj(x) for x in obj.Motivation] return_obj.sophistications = [Statement.from_obj(x) for x in obj.Sophistication] return_obj.intended_effects = [Statement.from_obj(x) for x in obj.Intended_Effect] return_obj.planning_and_operational_supports = [Statement.from_obj(x) for x in obj.Planning_And_Operational_Support] return_obj.observed_ttps = ObservedTTPs.from_obj(obj.Observed_TTPs) return_obj.associated_campaigns = AssociatedCampaigns.from_obj(obj.Associated_Campaigns) return_obj.associated_actors = AssociatedActors.from_obj(obj.Associated_Actors) return_obj.handling = Marking.from_obj(obj.Handling) return_obj.confidence = Confidence.from_obj(obj.Confidence) return_obj.information_source = InformationSource.from_obj(obj.Information_Source) return_obj.related_packages = RelatedPackageRefs.from_obj(obj.Related_Packages) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.get_id() return_obj.idref = obj.get_idref() return_obj.timestamp = obj.get_timestamp() if isinstance(obj, cls._binding_class): # CourseOfActionType properties return_obj.version = obj.get_version() or cls._version return_obj.title = obj.get_Title() return_obj.stage = VocabString.from_obj(obj.get_Stage()) return_obj.type_ = VocabString.from_obj(obj.get_Type()) return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj(obj.get_Short_Description()) return_obj.objective = Objective.from_obj(obj.get_Objective()) return_obj.parameter_observables = \ Observables.from_obj(obj.get_Parameter_Observables()) return_obj.impact = Statement.from_obj(obj.get_Impact()) return_obj.cost = Statement.from_obj(obj.get_Cost()) return_obj.efficacy = Statement.from_obj(obj.get_Efficacy()) return_obj.information_source = InformationSource.from_obj(obj.get_Information_Source()) return_obj.handling = Marking.from_obj(obj.get_Handling()) return_obj.related_coas = \ RelatedCOAs.from_obj(obj.get_Related_COAs()) return_obj.related_packages = \ RelatedPackageRefs.from_obj(obj.get_Related_Packages()) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.get_id() return_obj.idref = obj.get_idref() return_obj.timestamp = obj.get_timestamp() if isinstance(obj, cls._binding_class): return_obj.version = obj.get_version() or cls._version return_obj.title = obj.get_Title() return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj(obj.get_Short_Description()) return_obj.time = Time.from_obj(obj.get_Time()) if obj.get_Victim(): return_obj.victims = [Identity.from_obj(x) for x in obj.get_Victim()] if obj.get_Categories(): return_obj.categories = [IncidentCategory.from_obj(x) for x in obj.get_Categories().get_Category()] if obj.get_Intended_Effect(): return_obj.intended_effects = [Statement.from_obj(x) for x in obj.get_Intended_Effect()] if obj.get_Affected_Assets(): return_obj.affected_assets = [AffectedAsset.from_obj(x) for x in obj.get_Affected_Assets().get_Affected_Asset()] return_obj.attributed_threat_actors = AttributedThreatActors.from_obj(obj.get_Attributed_Threat_Actors()) return_obj.related_indicators = RelatedIndicators.from_obj(obj.get_Related_Indicators()) return_obj.related_observables = RelatedObservable.from_obj(obj.get_Related_Observables()) return_obj.leveraged_ttps = LeveragedTTPs.from_obj(obj.get_Leveraged_TTPs()) return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.id_ = dict_repr.get('id') return_obj.idref = dict_repr.get('idref') return_obj.timestamp = dict_repr.get('timestamp') return_obj.version = dict_repr.get('version') return_obj.title = dict_repr.get('title') return_obj.description = StructuredText.from_dict(dict_repr.get('description')) return_obj.short_description = StructuredText.from_dict(dict_repr.get('short_description')) return_obj.identity = Identity.from_dict(dict_repr.get('identity')) return_obj.types = [Statement.from_dict(x) for x in dict_repr.get('types', [])] return_obj.motivations = [Statement.from_dict(x) for x in dict_repr.get('motivations', [])] return_obj.sophistications = [Statement.from_dict(x) for x in dict_repr.get('sophistications', [])] return_obj.intended_effects = [Statement.from_dict(x) for x in dict_repr.get('intended_effects', [])] return_obj.planning_and_operational_supports = [Statement.from_dict(x) for x in dict_repr.get('planning_and_operational_supports', [])] return_obj.observed_ttps = ObservedTTPs.from_dict(dict_repr.get('observed_ttps')) return_obj.associated_campaigns = AssociatedCampaigns.from_dict(dict_repr.get('associated_campaigns')) return_obj.associated_actors = AssociatedActors.from_dict(dict_repr.get('associated_actors')) return_obj.handling = Marking.from_dict(dict_repr.get('handling')) return_obj.confidence = Confidence.from_dict(dict_repr.get('confidence')) return_obj.information_source = InformationSource.from_dict(dict_repr.get('information_source')) return_obj.related_packages = RelatedPackageRefs.from_dict(dict_repr.get('related_packages')) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.get_id() return_obj.idref = obj.get_idref() return_obj.timestamp = obj.get_timestamp() # not yet implemented if isinstance(obj, cls._binding_class): # TTPType properties return_obj.version = obj.get_version() or cls._version return_obj.title = obj.get_Title() return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj(obj.get_Short_Description()) return_obj.information_source = InformationSource.from_obj(obj.get_Information_Source()) return_obj.handling = Marking.from_obj(obj.get_Handling()) return_obj.potential_coas = PotentialCOAs.from_obj(obj.get_Potential_COAs()) return_obj.related_exploit_targets = RelatedExploitTargets.from_obj(obj.get_Related_Exploit_Targets()) return_obj.vulnerabilities = [Vulnerability.from_obj(x) for x in obj.get_Vulnerability()] return_obj.weakness = [Weakness.from_obj(x) for x in obj.get_Weakness()] return_obj.configuration = [Configuration.from_obj(x) for x in obj.get_Configuration()] return_obj.related_packages = RelatedPackageRefs.from_obj(obj.get_Related_Packages()) return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.id_ = dict_repr.get('id') return_obj.idref = dict_repr.get('idref') return_obj.timestamp = dict_repr.get('timestamp') return_obj.version = dict_repr.get('version') return_obj.title = dict_repr.get('title') return_obj.stage = VocabString.from_dict(dict_repr.get('stage')) return_obj.type_ = VocabString.from_dict(dict_repr.get('type')) return_obj.description = StructuredText.from_dict(dict_repr.get('description')) return_obj.short_description = StructuredText.from_dict(dict_repr.get('short_description')) return_obj.objective = Objective.from_dict(dict_repr.get('objective')) return_obj.parameter_observables = \ Observables.from_dict(dict_repr.get('parameter_observables')) return_obj.impact = Statement.from_dict(dict_repr.get('impact')) return_obj.cost = Statement.from_dict(dict_repr.get('cost')) return_obj.efficacy = Statement.from_dict(dict_repr.get('efficacy')) return_obj.information_source = InformationSource.from_dict(dict_repr.get('information_source')) return_obj.handling = Marking.from_dict(dict_repr.get('handling')) return_obj.related_coas = \ RelatedCOAs.from_dict(dict_repr.get('related_coas')) return_obj.related_packages = \ RelatedPackageRefs.from_dict(dict_repr.get('related_packages')) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj(obj.get_Short_Description()) return_obj.applicability_confidence = Confidence.from_obj(obj.get_Applicability_Confidence()) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.id return_obj.idref = obj.idref return_obj.timestamp = obj.timestamp if isinstance(obj, cls._binding_class): return_obj.version = obj.version return_obj.title = obj.Title return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj(obj.Short_Description) return_obj.time = Time.from_obj(obj.Time) if obj.Victim: return_obj.victims = [Identity.from_obj(x) for x in obj.Victim] if obj.Categories: return_obj.categories = [IncidentCategory.from_obj(x) for x in obj.Categories.Category] if obj.Intended_Effect: return_obj.intended_effects = [Statement.from_obj(x) for x in obj.Intended_Effect] if obj.Affected_Assets: return_obj.affected_assets = [AffectedAsset.from_obj(x) for x in obj.Affected_Assets.Affected_Asset] if obj.Discovery_Method: return_obj.discovery_methods = [DiscoveryMethod.from_obj(x) for x in obj.Discovery_Method] if obj.Reporter: return_obj.reporter = InformationSource.from_obj(obj.Reporter) if obj.Responder: return_obj.responders = [InformationSource.from_obj(x) for x in obj.Responder] if obj.Coordinator: return_obj.coordinators = [InformationSource.from_obj(x) for x in obj.Coordinator] if obj.External_ID: return_obj.external_ids = [ExternalID.from_obj(x) for x in obj.External_ID] if obj.Impact_Assessment: return_obj.impact_assessment = ImpactAssessment.from_obj(obj.Impact_Assessment) if obj.Information_Source: return_obj.information_source = InformationSource.from_obj(obj.Information_Source) if obj.Security_Compromise: return_obj.security_compromise = SecurityCompromise.from_obj(obj.Security_Compromise) return_obj.coa_taken = [COATaken.from_obj(x) for x in obj.COA_Taken] return_obj.confidence = Confidence.from_obj(obj.Confidence) return_obj.attributed_threat_actors = AttributedThreatActors.from_obj(obj.Attributed_Threat_Actors) return_obj.related_indicators = RelatedIndicators.from_obj(obj.Related_Indicators) return_obj.related_observables = RelatedObservables.from_obj(obj.Related_Observables) return_obj.leveraged_ttps = LeveragedTTPs.from_obj(obj.Leveraged_TTPs) return_obj.related_incidents = RelatedIncidents.from_obj(obj.Related_Incidents) return_obj.status = VocabString.from_obj(obj.Status) return_obj.handling = Marking.from_obj(obj.Handling) return_obj.history = History.from_obj(obj.History) return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.description = StructuredText.from_dict(dict_repr.get('description')) return_obj.short_description = StructuredText.from_dict(dict_repr.get('short_description')) return_obj.applicability_confidence = Confidence.from_dict(dict_repr.get('applicability_confidence')) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj(obj.Short_Description) return_obj.cce_id = obj.CCE_ID return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.description = StructuredText.from_dict(dict_repr.get('description')) return_obj.short_description = StructuredText.from_dict(dict_repr.get('short_description')) return_obj.cce_id = dict_repr.get('cce_id') return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.get_id() return_obj.idref = obj.get_idref() return_obj.timestamp = obj.get_timestamp() if isinstance(obj, cls._binding_class): return_obj.version = obj.get_version() or cls._version return_obj.title = obj.get_Title() return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj(obj.get_Short_Description()) return_obj.time = Time.from_obj(obj.get_Time()) if obj.get_Victim(): return_obj.victims = [Identity.from_obj(x) for x in obj.get_Victim()] if obj.get_Categories(): return_obj.categories = [IncidentCategory.from_obj(x) for x in obj.get_Categories().get_Category()] if obj.get_Intended_Effect(): return_obj.intended_effects = [Statement.from_obj(x) for x in obj.get_Intended_Effect()] if obj.get_Affected_Assets(): return_obj.affected_assets = [AffectedAsset.from_obj(x) for x in obj.get_Affected_Assets().get_Affected_Asset()] if obj.get_Discovery_Method(): return_obj.discovery_methods = [DiscoveryMethod.from_obj(x) for x in obj.get_Discovery_Method()] if obj.get_Reporter(): return_obj.reporter = InformationSource.from_obj(obj.get_Reporter()) if obj.get_Responder(): return_obj.responders = [InformationSource.from_obj(x) for x in obj.get_Responder()] if obj.get_Coordinator(): return_obj.coordinators = [InformationSource.from_obj(x) for x in obj.get_Coordinator()] if obj.get_External_ID(): return_obj.external_ids = [ExternalID.from_obj(x) for x in obj.get_External_ID()] if obj.get_Impact_Assessment(): return_obj.impact_assessment = ImpactAssessment.from_obj(obj.get_Impact_Assessment()) if obj.get_Information_Source(): return_obj.information_source = InformationSource.from_obj(obj.get_Information_Source()) if obj.get_Security_Compromise(): return_obj.security_compromise = SecurityCompromise.from_obj(obj.get_Security_Compromise()) return_obj.coa_taken = [COATaken.from_obj(x) for x in obj.get_COA_Taken()] return_obj.confidence = Confidence.from_obj(obj.get_Confidence()) return_obj.attributed_threat_actors = AttributedThreatActors.from_obj(obj.get_Attributed_Threat_Actors()) return_obj.related_indicators = RelatedIndicators.from_obj(obj.get_Related_Indicators()) return_obj.related_observables = RelatedObservables.from_obj(obj.get_Related_Observables()) return_obj.leveraged_ttps = LeveragedTTPs.from_obj(obj.get_Leveraged_TTPs()) return_obj.related_incidents = RelatedIncidents.from_obj(obj.get_Related_Incidents()) return_obj.status = VocabString.from_obj(obj.get_Status()) return_obj.handling = Marking.from_obj(obj.get_Handling()) return_obj.history = History.from_obj(obj.get_History()) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.title = obj.get_Title() return_obj.cce_id = obj.get_CCE_ID() return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj(obj.get_Short_Description()) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.id return_obj.title = obj.Title return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj(obj.Short_Description) return return_obj
def from_dict(cls, d, return_obj=None): if not d: return None if return_obj is None: return_obj = cls() return_obj.timestamp = d.get('timestamp') return_obj.timestamp_precision = d.get('timestamp_precision') return_obj.source = StructuredText.from_dict(d.get('source')) return_obj.reference = d.get('reference') return_obj.confidence = Confidence.from_dict(d.get('confidence')) return_obj.description = StructuredText.from_dict(d.get('description')) return_obj.related_observables = RelatedObservables.from_dict(d.get('related_observables')) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if return_obj is None: return_obj = cls() return_obj.timestamp = obj.get_timestamp() return_obj.timestamp_precision = obj.get_timestamp_precision() return_obj.source = StructuredText.from_obj(obj.get_Source()) return_obj.refernce = obj.get_Reference() return_obj.confidence = Confidence.from_obj(obj.get_Confidence()) return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.related_observables = RelatedObservables.from_obj(obj.get_Related_Observables()) return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.id_ = dict_repr.get('id') return_obj.title = dict_repr.get('title') return_obj.description = StructuredText.from_dict(dict_repr.get('description')) return_obj.short_description = StructuredText.from_dict(dict_repr.get('short_description')) return_obj.types = [AttackerInfrastructureType.from_dict(x) for x in dict_repr.get('types', [])] return_obj.observable_characterization = Observables.from_dict(dict_repr.get('observable_characterization')) return return_obj
def description(self, value): '''Sets the value of the description property. If the value is an instance of basestring, it will be coerced into an instance of StructuredText, with its 'text' property set to the input value''' if isinstance(value, basestring): st = StructuredText() st.value = value self._description = st elif isinstance(value, StructuredText): self._description = value elif not value: self._description = None else: raise ValueError('value must be instance of StructuredText or basestring')
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.id return_obj.title = obj.Title return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj(obj.Short_Description) return_obj.observable_characterization = Observables.from_obj(obj.Observable_Characterization) if obj.Type: return_obj.types = [VocabString.from_obj(x) for x in obj.Type] return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.id_ = dict_repr.get('id') return_obj.title = dict_repr.get('title') observable_dict = dict_repr.get('observable') producer_dict = dict_repr.get('producer') description_dict = dict_repr.get('description') indicator_type_dict = dict_repr.get('indicator_type') if observable_dict: return_obj.add_observable(Observable.from_dict(observable_dict)) if producer_dict: return_obj.producer = InformationSource.from_dict(producer_dict) if description_dict: return_obj.description = StructuredText.from_dict(description_dict) if indicator_type_dict: return_obj.indicator_type = IndicatorType.from_dict(indicator_type_dict) return return_obj
def from_dict(cls, d, return_obj=None): if not d: return None if not return_obj: return_obj = cls() return_obj.type_ = AssetType.from_dict(d.get('type')) return_obj.description = StructuredText.from_dict(d.get('description')) return_obj.business_function_or_role = StructuredText.from_dict(d.get('business_function_or_role')) return_obj.ownership_class = OwnershipClass.from_dict(d.get('ownership_class')) return_obj.management_class = ManagementClass.from_dict(d.get('management_class')) return_obj.location_class = LocationClass.from_dict(d.get('location_class')) #return_obj.location = Location.from_dict(d.get('location')) return_obj.nature_of_security_effect = [PropertyAffected.from_dict(x) for x in d.get('nature_of_security_effect')] return_obj.structured_description = Observables.from_dict(d.get('structured_description')) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.get_id() return_obj.title = obj.get_Title() return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj(obj.get_Short_Description()) return_obj.observable_characterization = Observables.from_obj(obj.get_Observable_Characterization()) if obj.get_Type(): return_obj.types = [AttackerInfrastructureType.from_obj(x) for x in obj.get_Type()] return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.title = dict_repr.get('title') return_obj.package_intents = [VocabString.from_dict(x) for x in dict_repr.get('package_intents', [])] return_obj.description = StructuredText.from_dict(dict_repr.get('description')) return_obj.short_description = StructuredText.from_dict(dict_repr.get('short_description')) return_obj.handling = Marking.from_dict(dict_repr.get('handling')) return_obj.information_source = InformationSource.from_dict(dict_repr.get('information_source')) return_obj.profiles = dict_repr.get('profiles') return return_obj
def short_description(self, value): if value: if isinstance(value, StructuredText): self._short_description = value else: self._short_description = StructuredText(value=value) else: self._short_description = None
def description(self, value): '''Sets the value of the description property. If the value is an instance of basestring, it will be coerced into an instance of StructuredText, with its 'text' property set to the input value. ''' if value and isinstance(value, basestring): st = StructuredText() st.value = value self._description = st elif isinstance(value, StructuredText): self._description = value elif not value: self._description = None else: raise ValueError('value must be instance of StructuredText or basestring')
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.id return_obj.title = obj.Title return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj( obj.Short_Description) return_obj.observable_characterization = Observables.from_obj( obj.Observable_Characterization) if obj.Type: return_obj.types = [VocabString.from_obj(x) for x in obj.Type] return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.get_id() return_obj.idref = obj.get_idref() return_obj.timestamp = obj.get_timestamp() if isinstance(obj, cls._binding_class): return_obj.title = obj.get_Title() return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj(obj.get_Short_Description()) return_obj.producer = InformationSource.from_obj(obj.get_Producer()) return_obj.confidence = Confidence.from_obj(obj.get_Confidence()) return_obj.sightings = Sightings.from_obj(obj.get_Sightings()) return_obj.composite_indicator_expression = CompositeIndicatorExpression.from_obj(obj.get_Composite_Indicator_Expression()) return_obj.handling = Marking.from_obj(obj.get_Handling()) return_obj.kill_chain_phases = KillChainPhasesReference.from_obj(obj.get_Kill_Chain_Phases()) return_obj.related_indicators = RelatedIndicators.from_obj(obj.get_Related_Indicators()) return_obj.likely_impact = Statement.from_obj(obj.get_Likely_Impact()) if obj.get_version(): return_obj.version = obj.get_version() if obj.get_Type(): for indicator_type in obj.get_Type(): return_obj.add_indicator_type(VocabString.from_obj(indicator_type)) if obj.get_Observable(): observable_obj = obj.get_Observable() observable = Observable.from_obj(observable_obj) return_obj.observables.append(observable) if obj.get_Indicated_TTP(): return_obj.indicated_ttps = [RelatedTTP.from_obj(x) for x in obj.get_Indicated_TTP()] if obj.get_Test_Mechanisms(): return_obj.test_mechanisms = [_BaseTestMechanism.from_obj(x) for x in obj.get_Test_Mechanisms().get_Test_Mechanism()] if obj.get_Suggested_COAs(): return_obj.suggested_coas = SuggestedCOAs.from_obj(obj.get_Suggested_COAs()) if obj.get_Alternative_ID(): return_obj.alternative_id = obj.get_Alternative_ID() if obj.get_Valid_Time_Position(): return_obj.valid_time_positions = [ValidTime.from_obj(x) for x in obj.get_Valid_Time_Position()] return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.title = obj.Title return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj( obj.Short_Description) return_obj.handling = Marking.from_obj(obj.Handling) return_obj.information_source = InformationSource.from_obj( obj.Information_Source) return_obj.package_intents = _PackageIntents.from_obj( obj.Package_Intent) return_obj.profiles = obj.Profiles.Profile if obj.Profiles else [] return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.description = StructuredText.from_obj(obj.Description) return_obj.cwe_id = obj.CWE_ID return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.id_ = dict_repr.get('id') return_obj.title = dict_repr.get('title') return_obj.description = StructuredText.from_dict( dict_repr.get('description')) return_obj.short_description = StructuredText.from_dict( dict_repr.get('short_description')) return_obj.types = [ VocabString.from_dict(x) for x in dict_repr.get('types', []) ] return_obj.observable_characterization = Observables.from_dict( dict_repr.get('observable_characterization')) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.id return_obj.idref = obj.idref return_obj.timestamp = obj.timestamp if isinstance(obj, cls._binding_class): # ThreatActorType properties return_obj.version = obj.version return_obj.title = obj.Title return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj( obj.Short_Description) return_obj.identity = Identity.from_obj(obj.Identity) return_obj.types = [Statement.from_obj(x) for x in obj.Type] return_obj.motivations = [ Statement.from_obj(x) for x in obj.Motivation ] return_obj.sophistications = [ Statement.from_obj(x) for x in obj.Sophistication ] return_obj.intended_effects = [ Statement.from_obj(x) for x in obj.Intended_Effect ] return_obj.planning_and_operational_supports = [ Statement.from_obj(x) for x in obj.Planning_And_Operational_Support ] return_obj.observed_ttps = ObservedTTPs.from_obj(obj.Observed_TTPs) return_obj.associated_campaigns = AssociatedCampaigns.from_obj( obj.Associated_Campaigns) return_obj.associated_actors = AssociatedActors.from_obj( obj.Associated_Actors) return_obj.handling = Marking.from_obj(obj.Handling) return_obj.confidence = Confidence.from_obj(obj.Confidence) return_obj.information_source = InformationSource.from_obj( obj.Information_Source) return_obj.related_packages = RelatedPackageRefs.from_obj( obj.Related_Packages) return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.id_ = dict_repr.get('id') return_obj.idref = dict_repr.get('idref') return_obj.timestamp = dict_repr.get('timestamp') return_obj.version = dict_repr.get('version', cls._version) return_obj.title = dict_repr.get('title') return_obj.description = \ StructuredText.from_dict(dict_repr.get('description')) return_obj.short_description = \ StructuredText.from_dict(dict_repr.get('short_description')) return_obj.names = Names.from_dict(dict_repr.get('names')) return_obj.intended_effects = \ [Statement.from_dict(x) for x in dict_repr.get('intended_effects', [])] return_obj.status = VocabString.from_dict(dict_repr.get('status')) return_obj.related_ttps = \ RelatedTTPs.from_dict(dict_repr.get('related_ttps')) return_obj.related_incidents = \ RelatedIncidents.from_dict(dict_repr.get('related_incidents')) return_obj.related_indicators = \ RelatedIndicators.from_dict(dict_repr.get('related_indicators')) return_obj.attribution = \ [Attribution.from_dict(x) for x in dict_repr.get('attribution', [])] return_obj.associated_campaigns = \ AssociatedCampaigns.from_dict(dict_repr.get('associated_campaigns')) return_obj.confidence = \ Confidence.from_dict(dict_repr.get('confidence')) return_obj.activity = \ [Activity.from_dict(x) for x in dict_repr.get('activity', [])] return_obj.information_source = \ InformationSource.from_dict(dict_repr.get('information_source')) return_obj.handling = Marking.from_dict(dict_repr.get('handling')) return_obj.related_packages = \ RelatedPackageRefs.from_dict(dict_repr.get('related_packages')) return return_obj
def from_dict(cls, d, return_obj=None): from stix.common import StructuredText, InformationSource if not return_obj: raise ValueError("Must provide a return_obj argument") get = d.get return_obj.id_ = get('id') return_obj.idref = get('idref') return_obj.timestamp = get('timestamp') return_obj.version = get('version') return_obj.title = get('title') return_obj.description = \ StructuredText.from_dict(get('description')) return_obj.short_description = \ StructuredText.from_dict(get('short_description')) return_obj.information_source = \ InformationSource.from_dict(get('information_source')) return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.is_known = dict_repr.get('is_known') return_obj.is_publicly_acknowledged = dict_repr.get('is_publicly_acknowledged') return_obj.title = dict_repr.get('title') return_obj.description = StructuredText.from_dict(dict_repr.get('description')) return_obj.short_description = StructuredText.from_dict(dict_repr.get('short_description')) return_obj.cve_id = dict_repr.get('cve_id') return_obj.osvdb_id = dict_repr.get('osvdb_id') return_obj.source = dict_repr.get('source') return_obj.cvss_score = CVSSVector.from_dict(dict_repr.get('cvss_score')) return_obj.discovered_datetime = DateTimeWithPrecision.from_dict(dict_repr.get('discovered_datetime')) return_obj.published_datetime = DateTimeWithPrecision.from_dict(dict_repr.get('published_datetime')) return_obj.affected_software = AffectedSoftware.from_dict(dict_repr.get('affected_software')) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.is_known = obj.get_is_known() return_obj.is_publicly_acknowledged = obj.get_is_publicly_acknowledged() return_obj.title = obj.get_Title() return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj(obj.get_Short_Description()) return_obj.cve_id = obj.get_CVE_ID() return_obj.osvdb_id = obj.get_OSVDB_ID() return_obj.source = obj.get_Source() return_obj.cvss_score = CVSSVector.from_obj(obj.get_CVSS_Score()) return_obj.discovered_datetime = DateTimeWithPrecision.from_obj(obj.get_Discovered_DateTime()) return_obj.published_datetime = DateTimeWithPrecision.from_obj(obj.get_Published_DateTime()) return_obj.affected_software = AffectedSoftware.from_obj(obj.get_Affected_Software()) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.get_id() return_obj.title = obj.get_Title() return_obj.description = StructuredText.from_obj(obj.get_Description()) return_obj.short_description = StructuredText.from_obj( obj.get_Short_Description()) return_obj.observable_characterization = Observables.from_obj( obj.get_Observable_Characterization()) if obj.get_Type(): return_obj.types = [ VocabString.from_obj(x) for x in obj.get_Type() ] return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.description = StructuredText.from_dict( dict_repr.get('description')) return_obj.cwe_id = dict_repr.get('cwe_id') return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.get_id() return_obj.idref = obj.get_idref() return_obj.timestamp = obj.get_timestamp() if isinstance(obj, cls._binding_class): return_obj.version = obj.get_version() or cls._version return_obj.title = obj.get_Title() return_obj.description = StructuredText.from_obj( obj.get_Description()) return_obj.short_description = \ StructuredText.from_obj(obj.get_Short_Description()) return_obj.names = Names.from_obj(obj.get_Names()) return_obj.intended_effects = \ [Statement.from_obj(x) for x in obj.get_Intended_Effect()] return_obj.status = VocabString.from_obj(obj.get_Status()) return_obj.related_ttps = RelatedTTPs.from_obj( obj.get_Related_TTPs()) return_obj.related_incidents = \ RelatedIncidents.from_obj(obj.get_Related_Incidents()) return_obj.related_indicators = \ RelatedIndicators.from_obj(obj.get_Related_Indicators()) return_obj.attribution = \ [Attribution.from_obj(x) for x in obj.get_Attribution()] return_obj.associated_campaigns = \ AssociatedCampaigns.from_obj(obj.get_Associated_Campaigns()) return_obj.confidence = Confidence.from_obj(obj.get_Confidence()) return_obj.activity = \ [Activity.from_obj(x) for x in obj.get_Activity()] return_obj.information_source = \ InformationSource.from_obj(obj.get_Information_Source()) return_obj.handling = Marking.from_obj(obj.get_Handling()) return_obj.related_packages = \ RelatedPackageRefs.from_obj(obj.get_Related_Packages()) return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() get = dict_repr.get return_obj.title = get('title') return_obj.package_intents = _PackageIntents.from_list( get('package_intents')) return_obj.description = StructuredText.from_dict(get('description')) return_obj.short_description = StructuredText.from_dict( get('short_description')) return_obj.handling = Marking.from_dict(get('handling')) return_obj.information_source = InformationSource.from_dict( get('information_source')) return_obj.profiles = get('profiles') return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() super(ToolInformation, cls).from_dict(dict_repr, return_obj) return_obj.title = dict_repr.get('title') return_obj.short_description = StructuredText.from_dict( dict_repr.get('short_description')) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.property_ = VocabString.from_obj(obj.Property) return_obj.description_of_effect = StructuredText.from_obj(obj.Description_Of_Effect) return_obj.type_of_availability_loss = VocabString.from_obj(obj.Type_Of_Availability_Loss) return_obj.duration_of_availability_loss = VocabString.from_obj(obj.Duration_Of_Availability_Loss) return_obj.non_public_data_compromised = NonPublicDataCompromised.from_obj(obj.Non_Public_Data_Compromised) return return_obj
def from_obj(cls, obj, return_obj=None): from stix.extensions.malware import maec_4_1_malware # register the extension if not obj: return None if not return_obj: try: klass = MalwareInstance.lookup_class(obj.xml_type) return_obj = klass.from_obj(obj) except AttributeError: return_obj = MalwareInstance.from_obj(obj, cls()) else: return_obj.id_ = obj.id return_obj.title = obj.Title return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = StructuredText.from_obj( obj.Short_Description) return_obj.names = [VocabString.from_obj(x) for x in obj.Name] return_obj.types = [VocabString.from_obj(x) for x in obj.Type] return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() super(ToolInformation, cls).from_obj(obj, return_obj) return_obj.title = obj.Title return_obj.short_description = StructuredText.from_obj( obj.Short_Description) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.type_ = AssetType.from_obj(obj.Type) return_obj.description = StructuredText.from_obj(obj.Description) return_obj.business_function_or_role = StructuredText.from_obj( obj.Business_Function_Or_Role) return_obj.ownership_class = VocabString.from_obj(obj.Ownership_Class) return_obj.management_class = VocabString.from_obj( obj.Management_Class) return_obj.location_class = VocabString.from_obj(obj.Location_Class) #return_obj.location = None if obj.Nature_Of_Security_Effect: n = obj.Nature_Of_Security_Effect return_obj.nature_of_security_effect = [ PropertyAffected.from_obj(x) for x in n.Property_Affected ] return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() super(GenericTestMechanism, cls).from_obj(obj, return_obj) return_obj.reference_location = obj.reference_location return_obj.description = StructuredText.from_obj(obj.Description) return_obj.type_ = VocabString.from_obj(obj.Type) return_obj.specification = EncodedCDATA.from_obj(obj.Specification) return return_obj
def from_dict(cls, d, return_obj=None): if not d: return None if not return_obj: return_obj = cls() super(GenericTestMechanism, cls).from_dict(d, return_obj) return_obj.reference_location = d.get('reference_location') return_obj.description = StructuredText.from_dict(d.get('description')) return_obj.type_ = VocabString.from_dict(d.get('type')) return_obj.specification = EncodedCDATA.from_dict(d.get('specification')) return return_obj
def from_dict(cls, d, return_obj=None): if not d: return None if not return_obj: return_obj = cls() return_obj.property_ = VocabString.from_dict(d.get(('property'))) return_obj.description_of_effect = StructuredText.from_dict(d.get('description_of_effect')) return_obj.type_of_availability_loss = VocabString.from_dict(d.get('type_of_availability_loss')) return_obj.duration_of_availability_loss = VocabString.from_dict(d.get('duration_of_availability_loss')) return_obj.non_public_data_compromised = NonPublicDataCompromised.from_dict(d.get('non_public_data_compromised')) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() return_obj.id_ = obj.id return_obj.idref = obj.idref return_obj.timestamp = obj.timestamp if isinstance(obj, cls._binding_class): return_obj.version = obj.version return_obj.title = obj.Title return_obj.description = StructuredText.from_obj(obj.Description) return_obj.short_description = \ StructuredText.from_obj(obj.Short_Description) return_obj.names = Names.from_obj(obj.Names) return_obj.intended_effects = \ [Statement.from_obj(x) for x in obj.Intended_Effect] return_obj.status = VocabString.from_obj(obj.Status) return_obj.related_ttps = RelatedTTPs.from_obj(obj.Related_TTPs) return_obj.related_incidents = \ RelatedIncidents.from_obj(obj.Related_Incidents) return_obj.related_indicators = \ RelatedIndicators.from_obj(obj.Related_Indicators) return_obj.attribution = \ [Attribution.from_obj(x) for x in obj.Attribution] return_obj.associated_campaigns = \ AssociatedCampaigns.from_obj(obj.Associated_Campaigns) return_obj.confidence = Confidence.from_obj(obj.Confidence) return_obj.activity = \ [Activity.from_obj(x) for x in obj.Activity] return_obj.information_source = \ InformationSource.from_obj(obj.Information_Source) return_obj.handling = Marking.from_obj(obj.Handling) return_obj.related_packages = \ RelatedPackageRefs.from_obj(obj.Related_Packages) return return_obj
def from_obj(cls, obj, return_obj=None): if not obj: return None if not return_obj: return_obj = cls() super(ToolInformation, cls).from_obj(obj, tool_class=return_obj) return_obj.title = obj.get_Title() return_obj.short_description = StructuredText.from_obj( obj.get_Short_Description()) return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.id_ = dict_repr.get('id') return_obj.idref = dict_repr.get('idref') return_obj.timestamp = dict_repr.get('timestamp') return_obj.version = dict_repr.get('version', cls._version) return_obj.title = dict_repr.get('title') return_obj.description = StructuredText.from_dict(dict_repr.get('description')) return_obj.short_description = StructuredText.from_dict(dict_repr.get('short_description')) return_obj.time = Time.from_dict(dict_repr.get('time')) return_obj.victims = [Identity.from_dict(x) for x in dict_repr.get('victims', [])] return_obj.categories = [IncidentCategory.from_dict(x) for x in dict_repr.get('categories', [])] return_obj.attributed_threat_actors = AttributedThreatActors.from_dict(dict_repr.get('attributed_threat_actors')) return_obj.related_indicators = RelatedIndicators.from_dict(dict_repr.get('related_indicators')) return_obj.related_observables = RelatedObservables.from_dict(dict_repr.get('related_observables')) return_obj.related_incidents = RelatedIncidents.from_dict(dict_repr.get('related_incidents')) return_obj.intended_effects = [Statement.from_dict(x) for x in dict_repr.get('intended_effects', [])] return_obj.leveraged_ttps = LeveragedTTPs.from_dict(dict_repr.get('leveraged_ttps')) return_obj.affected_assets = [AffectedAsset.from_dict(x) for x in dict_repr.get('affected_assets', [])] return_obj.discovery_methdos = [DiscoveryMethod.from_dict(x) for x in dict_repr.get('discovery_methods', [])] return_obj.reporter = InformationSource.from_dict(dict_repr.get('reporter')) return_obj.responders = [InformationSource.from_dict(x) for x in dict_repr.get('responders', [])] return_obj.coordinators = [InformationSource.from_dict(x) for x in dict_repr.get('coordinators', [])] return_obj.external_ids = [ExternalID.from_dict(x) for x in dict_repr.get('external_ids', [])] return_obj.impact_assessment = ImpactAssessment.from_dict(dict_repr.get('impact_assessment')) return_obj.information_source = InformationSource.from_dict(dict_repr.get('information_source')) return_obj.security_compromise = SecurityCompromise.from_dict(dict_repr.get('security_compromise')) return_obj.confidence = Confidence.from_dict(dict_repr.get('confidence')) return_obj.coa_taken = [COATaken.from_dict(x) for x in dict_repr.get('coa_taken', [])] return_obj.status = VocabString.from_dict(dict_repr.get('status')) return_obj.handling = Marking.from_obj(dict_repr.get('handling')) return_obj.history = History.from_dict(dict_repr.get('history')) return return_obj
def from_dict(cls, d, return_obj=None): if not d: return None if return_obj is None: return_obj = cls() return_obj.timestamp = d.get('timestamp') return_obj.timestamp_precision = d.get('timestamp_precision') return_obj.source = InformationSource.from_dict(d.get('source')) return_obj.reference = d.get('reference') return_obj.confidence = Confidence.from_dict(d.get('confidence')) return_obj.description = StructuredText.from_dict(d.get('description')) return_obj.related_observables = RelatedObservables.from_dict(d.get('related_observables')) return return_obj
def from_dict(cls, dict_repr, return_obj=None): if not dict_repr: return None if not return_obj: return_obj = cls() return_obj.id_ = dict_repr.get('id') return_obj.idref = dict_repr.get('idref') return_obj.timestamp = dict_repr.get('timestamp') return_obj.version = dict_repr.get('version', cls._version) return_obj.title = dict_repr.get('title') return_obj.description = StructuredText.from_dict(dict_repr.get('description')) return_obj.short_description = StructuredText.from_dict(dict_repr.get('short_description')) return_obj.information_source = InformationSource.from_dict(dict_repr.get('information_source')) return_obj.handling = Marking.from_dict(dict_repr.get('handling')) return_obj.potential_coas = PotentialCOAs.from_dict(dict_repr.get('potential_coas')) return_obj.related_exploit_targets = RelatedExploitTargets.from_dict(dict_repr.get('related_exploit_targets')) return_obj.vulnerabilities = [Vulnerability.from_dict(x) for x in dict_repr.get('vulnerabilities', [])] return_obj.weaknesses = [Weakness.from_dict(x) for x in dict_repr.get('weaknesses', [])] return_obj.configuration = [Configuration.from_dict(x) for x in dict_repr.get('configuration', [])] return_obj.related_packages = RelatedPackageRefs.from_dict(dict_repr.get('related_packages')) return return_obj
def from_dict(cls, d, return_obj=None): if not d: return None if not return_obj: return_obj = cls() get = d.get return_obj.type_ = AssetType.from_dict(get('type')) return_obj.description = StructuredText.from_dict(get('description')) return_obj.business_function_or_role = StructuredText.from_dict( get('business_function_or_role')) return_obj.ownership_class = VocabString.from_dict( get('ownership_class')) return_obj.management_class = VocabString.from_dict( get('management_class')) return_obj.location_class = VocabString.from_dict( get('location_class')) # return_obj.location = Location.from_dict(get('location')) return_obj.nature_of_security_effect = NatureOfSecurityEffect.from_dict( get('nature_of_security_effect')) return_obj.structured_description = Observables.from_dict( get('structured_description')) return return_obj