code wiki / (root) / nx_attack_taxonomy.nx

nx_attack_taxonomy.nx

buildroot/runtime/nx_attack_taxonomy.nx

7315 B165 linesdepth 3pulls 4 transitivereach 1 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_attack_taxonomy.nx -- MITRE ATT&CK + CWE sealed-enum reference. license_tier: INDEPENDENT_REDERIVE genealogy_id: international-research-sources/mitre/attack_cwe MITRE ATT&CK Enterprise Tactics + CWE Top 5 weakness IDs encoded as substrate sealed enums. The taxonomy itself is fact (the names + numeric IDs published by MITRE); we never copy ATT&CK prose / descriptions / technique catalogs into substrate code. This file is the foundation for two future Layer-3 grader perspectives: 1. nx_attack_grader -- scans substrate source for code patterns indicative of ATT&CK techniques + maps to tactics; emits "tactic-coverage" verdict per file (a defensive-review signal). 2. nx_cwe_grader -- scans for substrate code patterns indicative of CWE Top 25 weaknesses; emits per-CWE LOSE with named_improvement. Both consume the sealed enums declared here so the taxonomy lives in one place. Licensing note: MITRE ATT&CK is published under CC-BY 4.0 (attribution-required, banned from substrate code per the wall). We INDEPENDENT_REDERIVE the taxonomy by re-encoding the NUMERIC IDS (uncopyrightable facts) and re-paraphrasing names in our own language; no prose, no descriptions, no technique catalog text crosses into this file. Reference (research only -- do NOT include in substrate output): https://attack.mitre.org/ (CC-BY 4.0) https://cwe.mitre.org/ (free public catalog)

dependencies 4 imports · 1 importers

nx_syscalls.nx nx_runtime.nx nx_types.nx nx_tier.nx nx_attack_taxonomy.nx nx_attack_taxonomy_test.nx

imports: nx_syscalls.nxnx_runtime.nxnx_types.nxnx_tier.nx

imported by: nx_attack_taxonomy_test.nx

structs

none

consts

53const NX_ATTACK_TA_RECON: nx_int = 0
54const NX_ATTACK_TA_RESOURCE_DEV: nx_int = 1
55const NX_ATTACK_TA_INITIAL_ACCESS: nx_int = 2
56const NX_ATTACK_TA_EXECUTION: nx_int = 3
57const NX_ATTACK_TA_PERSISTENCE: nx_int = 4
58const NX_ATTACK_TA_PRIV_ESC: nx_int = 5
59const NX_ATTACK_TA_DEFENSE_EVASION: nx_int = 6
60const NX_ATTACK_TA_CRED_ACCESS: nx_int = 7
61const NX_ATTACK_TA_DISCOVERY: nx_int = 8
62const NX_ATTACK_TA_LATERAL: nx_int = 9
63const NX_ATTACK_TA_COLLECTION: nx_int = 10
64const NX_ATTACK_TA_C2: nx_int = 11
65const NX_ATTACK_TA_EXFIL: nx_int = 12
66const NX_ATTACK_TA_IMPACT: nx_int = 13
67const NX_ATTACK_TA_N: nx_int = 14
118const NX_CWE_BUFFER_OVERFLOW: nx_int = 0 // CWE-119
119const NX_CWE_OOB_READ: nx_int = 1 // CWE-125
120const NX_CWE_OOB_WRITE: nx_int = 2 // CWE-787
121const NX_CWE_USE_AFTER_FREE: nx_int = 3 // CWE-416
122const NX_CWE_NULL_DEREF: nx_int = 4 // CWE-476
123const NX_CWE_N: nx_int = 5
154const NX_ATTACK_SEV_INFO: nx_int = 0
155const NX_ATTACK_SEV_LOW: nx_int = 1
156const NX_ATTACK_SEV_MEDIUM: nx_int = 2
157const NX_ATTACK_SEV_HIGH: nx_int = 3
158const NX_ATTACK_SEV_CRITICAL: nx_int = 4
159const NX_ATTACK_SEV_N: nx_int = 5

functions

69func nx_attack_tactic_is_valid(t: nx_int) -> nx_int
called by 1: main
76func nx_attack_tactic_name(t: nx_int) -> *u8
called by 1: main
95func nx_attack_tactic_mitre_id(t: nx_int) -> nx_int
called by 1: main
125func nx_cwe_is_valid(c: nx_int) -> nx_int
called by 1: main
131func nx_cwe_mitre_id(c: nx_int) -> nx_int
called by 1: main
140func nx_cwe_name(c: nx_int) -> *u8
161func nx_attack_sev_is_valid(s: nx_int) -> nx_int
called by 1: main