pub trait Vocabulary {
const TYPE: &'static str;
fn is_known_value(&self) -> bool;
}
stix_derive::vocabulary!(
#[vocabulary(core)]
AccountType = [
facebook,
ldap,
nis,
openid,
radius,
skype,
tacacs,
twitter,
unix,
windows_local,
windows_domain
]
);
stix_derive::vocabulary!(
#[vocabulary(core)]
AttackMotivation = [
accidental,
coercion,
dominance,
ideology,
notoriety,
organizational_gain,
personal_gain,
personal_satisfaction,
revenge,
unpredictable
]
);
stix_derive::vocabulary!(
#[vocabulary(core)]
AttackResourceLevel = [individual, club, contest, team, organization, government]
);
stix_derive::vocabulary!(
#[vocabulary(core)]
ImplementationLanguage = [
applescript,
bash,
c,
c_plus_plus = "c++",
c_sharp = "c#",
go,
java,
javascript,
lua,
objective_c,
perl,
php,
powershell,
python,
ruby,
scala,
swift,
typescript,
visual_basic,
x86_32,
x86_64
]
);
stix_derive::vocabulary!(
#[vocabulary(core)]
MalwareCapabilities = [
accesses_remote_machines,
anti_debugging,
anti_disassembly,
anti_emulation,
anti_memory_forensics,
anti_sandbox,
anti_vm,
captures_input_peripherals,
captures_output_peripherals,
captures_system_state_data,
cleans_traces_of_infection,
commits_fraud,
communicates_with_c2,
compromises_data_availability,
compromises_data_integrity,
compromises_system_availability,
controls_local_machine,
degrades_security_software,
degrades_system_updates,
determines_c2_server,
emails_spam,
escalates_privileges,
evades_av,
exfiltrates_data,
fingerprints_host,
hides_artifacts,
hides_executing_code,
infects_files,
infects_remote_machines,
installs_other_components,
persists_after_system_reboot,
prevents_artifact_access,
prevents_artifact_deletion,
probes_network_environment,
self_modifies,
steals_authentication_credentials,
violates_system_operational_integrity
]
);
stix_derive::vocabulary!(
#[vocabulary(core)]
MalwareType = [
adware,
backdoor,
bot,
bootkit,
ddos,
downloader,
dropper,
exploit_kit,
keylogger,
ransomware,
remote_access_trojan,
resource_exploitation,
rogue_security_software,
rootkit,
screen_capture,
spyware,
trojan,
unknown,
virus,
webshell,
wiper,
worm
]
);
stix_derive::vocabulary!(
#[vocabulary(core)]
ProcessorArchitecture = [alpha, arm, ia_64, mips, powerpc, sparc, x86, x86_64]
);