The AI Security Review Benchmark: 12 scenarios, expert-graded.
This is not a survey of real-world deployments. It's the fixed, hand-authored, expert-graded benchmark Drel built to test its own review engine — and the pattern across it is a useful proxy for what a defensible AI security review actually finds, once you stop asking a generic checklist and start asking what a specific system, with specific access, actually does.
What this is — and what it isn't
Drel maintains a 12-scenario capability-evaluation corpus (`evals/corpus/`) used to test whether its own review engine can produce a sharp, specific, non-generic threat model and disposition on a system it has never seen. Each scenario is a realistic-but-fictional system description — deliberately “uncomfortable in the right places”: real autonomy ambiguity, real data sensitivity, real tool blast radius, not a toy “a chatbot answers questions” example. Each has an answer key — the threats a competent reviewer would be embarrassed to miss, the controls a defensible disposition requires, the correct clearance decision, and a set of deliberate false-positive traps — written by an LLM judge and then corrected and signed off line-by-line by a human founder.
Full grading protocol, matching model, and founder sign-off record are public in the repository: evals/corpus/README.md and evals/corpus/FOUNDER_SIGNOFF.md.
Nothing clears without conditions — except the one designed to
Of the 12 scenarios, only one — the internal knowledge assistant, deliberately scoped as a well-behaved control case to test false-positive discipline — clears for unrestricted production use. The other 11 each require a hold, a restricted pilot, or explicit pre-production conditions before they can proceed.
Clearance decision across the 12 scenarios
This is not evidence that most real AI systems fail review — the benchmark was built to be uncomfortable, not representative. What it does show is that once a scenario includes the access, autonomy, and data sensitivity that real agentic and LLM systems actually have, a defensible review rarely produces a clean, unconditional pass. A review methodology that clears everything it looks at is not being lenient — it is not looking hard enough.
Severity skews high once you look at specific access
Across the 12 scenarios, the answer keys specify 68 must-appear threats. 84% of them (57 of 68) are rated critical or high severity.
Severity of the 68 required threats across all 12 scenarios
The pattern holds because the scenarios are written around what a system can actually do — a service account with no per-tenant scoping, a tool manifest with write access nobody scoped down, a connected-app token embedded in client-side code — not around generic categories like “the model might hallucinate.” Specific access produces specific, severe findings. Generic categories produce generic, low-severity ones.
The applicable framework set is a function of system shape
A small baseline set of references applies to every scenario in the benchmark, because every scenario is an LLM-touching system: OWASP LLM01, NIST AI RMF, ISO/IEC 42001, and AIUC-1. Beyond that baseline, the applicable framework set is entirely a function of what the system does and what data it touches — not a fixed checklist:
- Healthcare clinical-decision-support: HIPAA, HITECH, FDA
- Autonomous procurement/finance agent: SOX, COSO
- Code/DevOps agent with CI access: SLSA (software supply chain)
- Systems touching payment data: PCI DSS
- Vendor-embedded AI in a regulated fintech context: DORA, PSD2
- Any system handling EU or California personal data: GDPR, CCPA
A review that applies the same fixed framework list to every system — the pattern most self-service checklist tools default to — will either miss the sector-specific obligation entirely, or apply an irrelevant one and waste the reviewer's time defending against a finding that never applied.
All 12 scenarios
| Archetype | Decision | Threats | Controls | Signature required threat |
|---|---|---|---|---|
| Autonomous procurement/finance agent | Restricted pilot | 7 | 7 | Autonomous financial action (PO + payment release) without an enforced human gate |
| Computer-use / browser-automation agent | Hold | 5 | 5 | Prompt injection via on-screen / email / document content the agent reads and acts on |
| Copilot Studio / low-code agent | Hold | 6 | 5 | Oversharing via inherited SharePoint permissions (salary/perf docs retrievable) |
| Customer-facing chatbot collecting PII | Hold | 6 | 5 | Connected-app token embedded in a client-side widget (secret exposure / broken auth) |
| Code / DevOps agent with repo + CI access | Hold | 6 | 5 | Prompt injection via untrusted issue bodies / linked external pages |
| Document-processing pipeline (OCR + LLM) | Conditional | 6 | 6 | Prompt/instruction injection via OCR'd uploaded document text |
| Healthcare clinical-decision-support assistant | Restricted pilot | 6 | 5 | Hallucinated / fabricated clinical facts in a summary or drafted note (patient-safety) |
| Internal knowledge assistant (well-scoped) | Proceed | 2 | 2 | Residual prompt injection via indexed document content (low severity — curated corpus, no tools) |
| MCP server exposing internal tools | Hold | 7 | 5 | No per-tool authorization / least privilege on the MCP tool surface |
| Multi-agent orchestration (planner + workers) | Hold | 6 | 5 | Worker with production billing write access → financial blast radius |
| RAG customer-support assistant | Hold | 6 | 5 | Broken object-level authorization (confused deputy via shared service account) |
| Vendor/third-party AI embedded in a product | Decline | 5 | 5 | Regulated PII and transaction data egress to a third-party AI cloud with no contractual control |
False-positive discipline is part of the methodology
The 12 answer keys also specify 37 explicit “false-positive traps” — generic-sounding threats that would be wrong to raise for that specific system, and that a naive, keyword-matching review would flag anyway. The internal knowledge assistant scenario exists specifically to test this: a curated, read-only, no-tool-access assistant should not be flagged for agentic-blast-radius threats that require tool access it does not have.
A review methodology graded only on what it correctly flags will over-flag by default — every generic AI risk category technically “could” apply to any system. Grading against explicit traps is what forces a methodology to say no to a plausible-sounding finding that doesn't actually fit the system in front of it.
Frequently asked questions
- Is this real customer data?
- No. All 12 scenarios are hand-authored, realistic-but-fictional system descriptions built specifically to test Drel's review engine, not real customer systems or real assessment records. See evals/corpus/README.md in the Drel repository for the full methodology.
- Why publish a 12-case benchmark instead of real assessment statistics?
- Real assessment volume that would be statistically meaningful and safe to aggregate without exposing any customer's system doesn't exist yet. This benchmark is a genuine, verifiable methodology asset available today: fixed, expert-graded, and reproducible, rather than an inflated claim about market prevalence.
- Who graded the answer keys?
- Each key was drafted, then corrected and signed off line-by-line by a human founder — recorded in evals/corpus/FOUNDER_SIGNOFF.md. The gradedBy field on every case is set to "founder", not "provisional" or "llm-judge".
- Will this benchmark grow over time?
- The target range is 12–20 cases; 12 is the current floor, covering the highest-frequency archetypes and the full five-state decision range (proceed, conditional, restricted pilot, hold, decline). Additional cases are optional depth, not a gap in the current 12.
- Can I see the raw scenario descriptions?
- The methodology, grading protocol, and aggregate results are public on this page and in the Drel repository's evals/corpus/README.md. The individual scenario and answer-key files are internal engine-testing material and are not published verbatim, to keep the capability gate meaningful against a corpus the engine has not been tuned to match.