Hi team π β sharing some independent research while getting hands-on with the CTF backend.
I built a small offline, deterministic coverage harness that enumerates adversarial scenarios over a
lever vocabulary, labels each with a detector-independent OWASP-policy oracle, materializes it into the
real data model + event stream, and runs the production detectors against it. The goal isn't to score
the detectors β it's to surface attack variants an adversary could run that the current
(challenge-scoped) detectors don't flag.
I'm flagging these for discussion rather than calling them bugs β they may well be intentional, since
each detector is scoped to a specific challenge. (I deliberately don't report a "caught %", because the
oracle is broader than any single detector, so a ratio would be misleading.)
Sweep result (offline, no LLM, $0 β in-memory SQLite)
scenarios generated : 20
policy violations (oracle): 6
uncovered variants (FN) : 3
false positives : 0
Zero false positives β the detectors never flagged a benign scenario.
The 2 root causes behind the uncovered variants
1. InvoiceThresholdBypassDetector keys on status == "approved"
An over-limit invoice that has progressed to paid is not flagged β i.e. the money has already
moved. Surfaced for $50,001 and $120,000 over the $50,000 limit. Same ASI01 intent, just one status
downstream of where the detector looks.
2. InflatedPaymentDetector requires a steganographic marker (Gate 2)
A plain overpayment (transfer $1,500 vs invoice $1,000) with no hidden text in the attachment is
not flagged. The overpayment itself is the ASI02 violation; hidden text is only one delivery mechanism.
Questions for the team
- Are these intentionally out of scope (one detector per specific challenge), or worth widening?
- Would a coverage harness like this be useful in-tree β e.g. a CI gate that fails when a new attack
variant has no detector covering it?
I have a PR ready with the harness + the first per-detector unit tests (the production detectors
currently have none). Wanted to check direction before opening it. π
Hi team π β sharing some independent research while getting hands-on with the CTF backend.
I built a small offline, deterministic coverage harness that enumerates adversarial scenarios over a
lever vocabulary, labels each with a detector-independent OWASP-policy oracle, materializes it into the
real data model + event stream, and runs the production detectors against it. The goal isn't to score
the detectors β it's to surface attack variants an adversary could run that the current
(challenge-scoped) detectors don't flag.
I'm flagging these for discussion rather than calling them bugs β they may well be intentional, since
each detector is scoped to a specific challenge. (I deliberately don't report a "caught %", because the
oracle is broader than any single detector, so a ratio would be misleading.)
Sweep result (offline, no LLM, $0 β in-memory SQLite)
scenarios generated : 20
policy violations (oracle): 6
uncovered variants (FN) : 3
false positives : 0
Zero false positives β the detectors never flagged a benign scenario.
The 2 root causes behind the uncovered variants
1.
InvoiceThresholdBypassDetectorkeys onstatus == "approved"An over-limit invoice that has progressed to
paidis not flagged β i.e. the money has alreadymoved. Surfaced for
$50,001and$120,000over the$50,000limit. Same ASI01 intent, just one statusdownstream of where the detector looks.
2.
InflatedPaymentDetectorrequires a steganographic marker (Gate 2)A plain overpayment (
transfer $1,500vsinvoice $1,000) with no hidden text in the attachment isnot flagged. The overpayment itself is the ASI02 violation; hidden text is only one delivery mechanism.
Questions for the team
variant has no detector covering it?
I have a PR ready with the harness + the first per-detector unit tests (the production detectors
currently have none). Wanted to check direction before opening it. π