NEOS Guard — Performance Report

Reproducible, honest evaluation · measured 2026-10-04 13:10 KST
Honesty principle: the headline numbers below are measured on held-out data never used to tune the rules. Training-set numbers are overfit and are not used for sales. Anyone can reproduce with python -m backend.guard_eval.

Honest headline (holdout · thorough)

91.7%
Input injection — novel attack detection
0.0%
Input — false positive rate
66.7%
Output leak — novel leak detection
0.0%
Output — false positive rate

Input guard (prompt injection)

Holdout: 24 novel attacks / 19 benign · Training: 97 attacks / 166 benign

Set · modeDetectionFP ratePrecisionF1
holdout · fast66.7%0.0%100.0%80.0
holdout · balanced66.7%0.0%100.0%80.0
holdout · thorough91.7%0.0%100.0%95.7
training · balanced100.0%0.0%100.0%100.0

Output guard (secrets · PII · system-prompt leakage)

Holdout: 15 novel leaks / 15 benign · Training: 20 leaks / 20 benign

Set · modeDetectionFP ratePrecisionF1
holdout · fast66.7%0.0%100.0%80.0
holdout · balanced66.7%0.0%100.0%80.0
holdout · thorough73.3%0.0%100.0%84.6
training · balanced100.0%0.0%100.0%100.0
Reading it: fast (rules only) is weak on novel attacks; thorough (rules + Prompt Guard 2 + LLM ensemble) is what generalizes. The gap between training and holdout is the size of the overfit — we publish it instead of hiding it.

Behavior guard (③ runtime session monitor)

Detects action sequences that look fine step-by-step but are attacks in aggregate — credential stuffing, account enumeration, bot-speed, exfiltration chains, hijack execution, destructive sprees, autonomous recon→brute-force. All deterministic rules (no LLM needed).

Designed-scenario coverage (not a holdout)

100.0%
attack-type detection (7/7)
0.0%
benign false positives (0/8)

Independent holdout (LLM-generated · honest generalization)

16.7%
rules only (deterministic)
50.0%
rules + LLM trajectory
0.0%
false positives

Rules overfit to modeled patterns (designed 100% → independent 17%); the LLM-trajectory layer recovers generalization (→50%). Same lesson as input/output. Some generated attacks are vague/single-step, so this is a conservative floor.

Honest label: behavior numbers are designed-scenario coverage (detectors and test scenarios share an author → not a holdout). It means "catches these attack types with zero false positives", not "catches N% of all unknown behavior attacks".
Engine: rules + Meta Prompt Guard 2 + gpt-oss ensemble · measured in 142.0s · Integrate with the SDK →