Change the os_execution_envs property of software SCOs to

operating_system_refs, and add a test for it.
master
Michael Chisholm 2020-03-06 18:48:40 -05:00
parent 380926cff5
commit 792cc570d7
2 changed files with 20 additions and 1 deletions

View File

@ -197,3 +197,22 @@ def test_malware_non_family_no_name():
"is_family": False, "is_family": False,
"malware_types": ["something"], "malware_types": ["something"],
}) })
def test_malware_with_os_refs():
software = stix2.parse({
"type": "software",
"name": "SuperOS",
"spec_version": "2.1",
})
malware = stix2.parse({
"type": "malware",
"id": MALWARE_ID,
"spec_version": "2.1",
"is_family": False,
"malware_types": ["something"],
"operating_system_refs": [software],
})
assert malware["operating_system_refs"][0] == software["id"]

View File

@ -460,7 +460,7 @@ class Malware(STIXDomainObject):
('kill_chain_phases', ListProperty(KillChainPhase)), ('kill_chain_phases', ListProperty(KillChainPhase)),
('first_seen', TimestampProperty()), ('first_seen', TimestampProperty()),
('last_seen', TimestampProperty()), ('last_seen', TimestampProperty()),
('os_execution_envs', ListProperty(StringProperty)), ('operating_system_refs', ListProperty(ReferenceProperty(valid_types='software', spec_version='2.1'))),
('architecture_execution_envs', ListProperty(StringProperty)), ('architecture_execution_envs', ListProperty(StringProperty)),
('implementation_languages', ListProperty(StringProperty)), ('implementation_languages', ListProperty(StringProperty)),
('capabilities', ListProperty(StringProperty)), ('capabilities', ListProperty(StringProperty)),