code wiki / (root) / nx_pamp_meta_test.nx

nx_pamp_meta_test.nx source

↩ module page · 62 lines · 2942 B

1// nx_pamp_meta_test.nx -- smoke for nx_pamp_meta. 2 3import "nx_syscalls.nx" 4import "nx_pamp_meta.nx" 5 6func main() -> i64 { 7 // 1: channel + verdict enums sealed 8 if NX_PCM_N_CHANNELS != 4 { return 1 } 9 if NX_PCM_N_VERDICTS != 4 { return 2 } 10 if nx_pcm_channel_is_valid(NX_PCM_BYTE_DISTRIBUTION) != 1 { return 3 } 11 if nx_pcm_channel_is_valid(4) != 0 { return 4 } 12 if nx_pcm_verdict_is_valid(NX_PCM_CONSISTENT) != 1 { return 5 } 13 if nx_pcm_verdict_is_valid(4) != 0 { return 6 } 14 15 // 2: all 4 channels valid, all near 900 (legit) -> CONSISTENT 16 let r_legit: *NxChannelReading = nx_pcm_reading_new(900, 920, 910, 905) 17 if r_legit.n_channels_valid != 4 { return 7 } 18 if nx_pcm_verdict(r_legit) != NX_PCM_CONSISTENT { return 8 } 19 if nx_pcm_deception_q10(r_legit) >= 200 { return 9 } 20 21 // 3: all 4 channels valid, all near 100 (clearly fake) -> CONSISTENT 22 // (sophisticated detection: even when all channels agree it's 23 // fake, that's CONSISTENT -- no DECEPTION; the caller's pamp 24 // would have already caught it) 25 let r_attack: *NxChannelReading = nx_pcm_reading_new(80, 90, 100, 70) 26 if nx_pcm_verdict(r_attack) != NX_PCM_CONSISTENT { return 10 } 27 28 // 4: 3 channels say legit (~900), 1 says fake (50) -> HIGH_DECEPTION 29 // Classic sophisticated mimic that fools all but one channel. 30 let r_mimic: *NxChannelReading = nx_pcm_reading_new(900, 920, 50, 905) 31 let max_dev: nx_int = nx_pcm_max_disagreement_q10(r_mimic) 32 if max_dev < 500 { return 11 } // must exceed HIGH threshold 33 if nx_pcm_verdict(r_mimic) != NX_PCM_HIGH_DECEPTION { return 12 } 34 if nx_pcm_deception_q10(r_mimic) < 500 { return 13 } 35 36 // 5: moderate disagreement (200..500 range) -> SUSPICIOUS 37 let r_susp: *NxChannelReading = nx_pcm_reading_new(800, 600, 400, 750) 38 let max_dev2: nx_int = nx_pcm_max_disagreement_q10(r_susp) 39 if max_dev2 < 200 { return 14 } 40 if max_dev2 > 500 { return 15 } 41 if nx_pcm_verdict(r_susp) != NX_PCM_SUSPICIOUS { return 16 } 42 43 // 6: insufficient channels -> UNKNOWN 44 let r_one: *NxChannelReading = nx_pcm_reading_new(900, -1, -1, -1) 45 if r_one.n_channels_valid != 1 { return 17 } 46 if nx_pcm_verdict(r_one) != NX_PCM_UNKNOWN { return 18 } 47 if nx_pcm_deception_q10(r_one) != 0 { return 19 } 48 49 // 7: zero channels -> UNKNOWN 50 let r_none: *NxChannelReading = nx_pcm_reading_new(-1, -1, -1, -1) 51 if r_none.n_channels_valid != 0 { return 20 } 52 if nx_pcm_verdict(r_none) != NX_PCM_UNKNOWN { return 21 } 53 54 // 8: 2 channels with strong disagreement -> HIGH_DECEPTION 55 // (smallest valid number of channels still catches deception). 56 // Channels 1024 and 0: mean=512, max_dev=512 > HIGH threshold 500. 57 let r_two: *NxChannelReading = nx_pcm_reading_new(1024, 0, -1, -1) 58 if r_two.n_channels_valid != 2 { return 22 } 59 if nx_pcm_verdict(r_two) != NX_PCM_HIGH_DECEPTION { return 23 } 60 61 return 0 62}