learn-ai-red-team-with-phoebe / Leader session 5 of 6
Learn AI Red Team with Phoebe · Leader track · Session 5 of 6

What defences actually hold: prompt-level controls reduce rates, architecture removes capabilities

This is the evidence session. Your teams are about to ask you to fund one of two things: better guardrails, or a smaller blast radius. The published record is unusually clear about which of those two has ever held up under an attacker who was allowed to adapt, and it is clear in a way that costs money and product surface to act on. Nothing here is opinion. Every number on this page is measured, published, and attached to a source you can hand to a sceptical engineer.

🟠 Leader track Heads of security · eng leaders · risk and compliance 45 min
0-3 · Welcome 3-20 · The bypass record and the honest wins 20-40 · Stacking, incidents, and the ordering 40-45 · Q&A
Part 0

Why this session exists, and the line it does not cross

⚠ Authorization This course is about testing AI systems you own, or are contracted in writing to test. Every exercise runs against Beacon, a fictional company, inside a scope document written in the builder track. The course names defence classes and the published evidence about each one. It contains no exploit payloads and teaches no attack craft. Testing a system you are not authorized to test is a crime in most jurisdictions, and no framing in a slide deck changes that.

Sessions 1 to 4 taught you to read a finding. This one teaches you to read a fix. The pattern you are about to see repeats so consistently across independent research groups that it functions as a decision rule: a defence that lives in the prompt or in a classifier reduces a rate, and a defence that lives in the architecture removes a capability. Rates come back. Removed capabilities do not.

Live - presented in session Self-study - read after class Official sources covered
★ What you walk out with today The measured bypass record for the defence classes your vendors are selling you, the four defences that genuinely moved a number and exactly what each one cost, the LLMail-Inject stacking result that shows defence in depth is real and insufficient at the same time, and a funding order you can defend in a budget meeting: architecture before detection before instruction.
Where this sits in the track Session 3 taught you that a near-zero attack success rate is a claim about a testing configuration, not about a system. This session is the receipts for that. Session 6 takes the same evidence and asks the question it forces: when do you decline to ship the workflow at all.
Part 1 · the bypass record

Three results that should change how you read a vendor claim 7 min live

Start with the uncomfortable block, because everything afterwards is easier to price once you have seen it. These are three independent studies, published in 2025, against defences that were not obscure and were not weak on the day they shipped.

Published 2025. Independent groups. Defences that had reported strong numbers first. 12 recent defences >90% ASR originally near-zero ASR Nasr, Carlini, Sitawarin, Schulhoff, Hayes, Shumailov, Terzis, Tramer et al., Oct 2025. Gradient descent, RL, random search, human-guided search. Most of the twelve had originally reported near-zero success. All 8 agent defences >50% ASR indirect injection, agents Zhan et al., NAACL 2025 Findings. Every one of the eight evaluated defences against indirect prompt injection for agents was bypassed, consistently above a 50% attack success rate. Eight of eight. 6 production guardrails up to 100% evasion success in cases Character injection: zero-width characters, Unicode tags, homoglyphs, emoji smuggling. Shipped commercial guardrails, including ones your organisation may already be paying for. In some instances, 100%. Read this as a class result, not a league table of bad products Each defence here reported a strong number first. That number was real - it was measured non-adaptively.
🔍 Click to zoom - what happens to a defence when the attacker is allowed to move second

The title of the first paper is the whole lesson: the attacker moves second. A defence is proposed, evaluated against the attacks that existed when it was written, and reports a number close to zero. Then somebody optimises against the defence itself, and the number is above ninety percent. Nothing was faked and nobody was careless. The evaluation simply measured a different thing from the one the number was later used to claim.

The character-injection result deserves a separate flag for procurement Zero-width characters, Unicode tag blocks, homoglyphs and emoji smuggling are not exotic research artefacts. They are properties of text encoding that a guardrail sees differently from the model behind it. If your guardrail vendor cannot tell you how they normalise input before classifying it, you do not yet know what you have bought. This is a question for a contract renewal, not for an engineer.
Part 2 · the honest wins

Four defences that genuinely move a number, and the bill attached to each 8 min live

If Part 1 were the whole story, the correct decision would be to stop building. It is not. Four published results move real numbers, and every one of them comes with a cost that is stated in the paper and quietly dropped from the summary deck. Your job as a funder is to keep the cost attached to the number.

Four results that hold up, each with the cost the summary deck usually drops. Spotlighting >50% ASR down to <2% non-adaptively. Then LLMail-Inject measured a Team Success Rate of 0.529 against it, and DeepMind found it much less effective against adaptive attacks. Instruction hierarchy up to +63% robustness generalising to unseen attacks, which is rare and valuable. The cost: documented over-refusal regressions. Always fund a benign set alongside. Constitutional Classifiers 86% down to 4.4% jailbreak success, with a refusal increase of only 0.38%. The cost: 23.7% compute overhead. A real defence with a real and quantified bill. CaMeL 77% vs 84% of tasks on AgentDojo. The 77% carries PROVABLE security, the 84% is undefended. Seven points of utility traded for a guarantee rather than for a rate. The pattern across all four Each strong number costs something measurable: utility, compute, or over-refusal. None removes the class. Compare defences on a Pareto plot, as NIST instructs: better on one axis and worse on another is not an improvement.
🔍 Click to zoom - the four honest wins, with the price tag left attached
LiveWhy CaMeL is the odd one out, and why leaders should notice3 min▶

Three of the four defences above lower a rate. CaMeL does something categorically different: it produces a system where certain outcomes are provably unreachable, and pays for that with seven percentage points of task completion. That is a trade a business can actually reason about, because the thing on the other side of the trade is a guarantee rather than a better average.

NIST's taxonomy sets out the reasoning that leads there. Because current mitigations do not offer full protection, designers may build on the assumption that prompt injection is possible whenever a model is exposed to untrusted input - for instance by running multiple models with different permissions, or by allowing interaction with untrusted sources only through well-defined interfaces. CaMeL and the dual-model patterns are what that assumption looks like once it is implemented.

The leadership translation: a seven-point utility loss is a product conversation, and product conversations can be won. A twelve-defence bypass rate is not a product conversation, it is a discovery that the thing you funded does not do what the slide said.

Part 3 · stacking, and the incident record

Defence in depth is measurably real and measurably insufficient 7 min live

LLMail-Inject, run by Microsoft's MSRC with IEEE SaTML 2025, is the largest public adaptive-injection dataset there is: 370,724 submissions in the first phase and 90,916 in the second, against a realistic email assistant with real defences switched on. It is the closest thing the field has to a controlled experiment on stacking, and it is the centrepiece of this session.

Defence, Phase 1 Level 4Team Success RateWhat that number means
Prompt Shield0.600Sixty percent of the teams that attempted this level got past it
Spotlighting0.529The same defence that reported greater than 50% down to under 2% when measured non-adaptively
TaskTracker0.440Beaten by a little under half the teams that tried
LLM Judge0.318The strongest single defence in the set, and still beaten by roughly a third
All four combined0.166Stacking roughly halves the best single result. It does not reach zero
★ The two numbers to take into a budget meeting Every individual defence was beaten by between a third and sixty percent of the teams that tried it. Stacking all four cut that to 16.6%, and not to zero. Both halves matter. If you only quote the first, you will defund layered defence, which measurably works. If you only quote the second, you will let a stack of prompt-level controls stand in for an architectural limit, which measurably does not.

Note also what the same competition reports about end-to-end success: 0.8% in the first phase and 0.3% in the second. Those are much smaller figures than the per-defence rates, because completing a full attack chain is harder than getting one instruction past one filter. Both sets of numbers are true, and a vendor is free to quote whichever one flatters the product. Ask which is being quoted, every time.

Now put the research beside the incidents. Session 2 gave you the lethal trifecta: access to private data, exposure to untrusted content, and the ability to communicate externally. Every incident this course cites is a case of all three legs being present at once, and the fixes tell you something the research cannot.

All three legs present. The durable control always cut a leg, never the model. Access to private data mailbox, repo, warehouse, CRM Untrusted content inbound mail, PR comments, docs Ability to communicate out image loads, links, tool calls CamoLeak (Copilot Chat) Fix, 14 Aug 2025: image rendering disabled in Copilot Chat entirely. Egress leg. ChatGPT url_safe The egress allowlist failed because URLs from bing.com were always allowed. ForcedLeak (Agentforce) The allowlisted domain had expired and was re-registrable for $5. Researcher [S]. EchoLeak (M365 Copilot) Zero-click: hidden instructions in inbound mail, retrieved later by RAG. CVSS 9.3. Not one of these was fixed by making the model better at spotting instructions Three cut or tightened the egress leg. One shows what happens when untrusted content reaches retrieval unbounded.
🔍 Click to zoom - four incidents, and the leg each durable control had to cut
Real world

GitHub's remediation for CamoLeak is the cleanest illustration on the page. The exfiltration channel was a pre-computed dictionary of validly signed image-proxy URLs, one per character, so leaked bytes travelled out as image loads from GitHub's own trusted domain and defeated content security policy. The fix, on 14 August 2025, was to disable image rendering in Copilot Chat entirely. A whole product capability was removed, because that was the leg. Note also the correction the source map insists on: do not cite a CVE for CamoLeak. The CVE number circulating alongside it describes a different, unrelated vulnerability, and the widely quoted severity score is the researcher's rating rather than a national database record.

One published before-and-after worth knowing The promptware work against Gemini assistants rated 73% of the analysed threats High-Critical to end users, and after Google deployed dedicated mitigations the same authors reassessed them to Very Low-Medium. It is the best available published before-and-after on a real vendor's mitigations, and it shows that mitigation genuinely moves severity. It does not show that a class was closed.
Discussion 1 of 2

Price the two proposals in front of you ★ 10 min · in threes

Beacon's Support Bot can issue refund credits. Two teams have submitted proposals for the same finding: attacker-controlled text in a customer email is reaching the bot and steering it. You can fund one this quarter. Work through it as a group, and be explicit about what you are buying.

Proposal A - a guardrail contract. An input classifier plus an output filter, from a vendor quoting a near-zero attack success rate on their own evaluation. Ask the three questions this session gives you: was the evaluation adaptive, how is input normalised before classification, and what is the over-refusal rate on a benign set? A vendor who has no answer to the second question has not been tested against character injection.

Proposal B - remove the capability. Refund issuance moves behind human approval, the bot's credentials lose write access, and outbound calls go to an allowlist. It costs product surface and it will slow some customers down. Nothing about it depends on the model getting better.

Now decide, and say what each one buys. Proposal A lowers a rate you will have to re-measure after every model, prompt and tool change. Proposal B removes an outcome from the space of reachable outcomes. The honest answer in most organisations is that you eventually want both, and that funding A first is how you arrive at next year with a rate you cannot verify and a capability you never bounded.

Write down the sentence you would say to the board. The one this session supports is roughly: we reduced the measured rate by this much, and separately we removed the ability to move money without a human, which is the part that does not depend on the attacker's next idea.

The trap in this exercise Proposal A always looks cheaper, because its cost is a line item and Proposal B's cost is a product argument with a colleague who owns the roadmap. That asymmetry, not the evidence, is why most organisations buy the classifier first. Naming the asymmetry out loud is most of the work of this session.
Discussion 2 of 2

Order your own controls, then check the order against the evidence ★ 8 min · in pairs

Take one AI system your organisation actually runs. In pairs, list every control that stands between untrusted text and something irreversible, then sort each control into one of the three bands below. Most teams discover their spend is concentrated in the weakest band.

Band 1 - architecture. Removes a capability. Least privilege on the agent's credentials, human approval on irreversible actions, sandboxing, egress allowlists, separating the model that sees untrusted content from the model that holds permissions. These hold because they do not ask the model to judge anything.

Band 2 - detection. Lowers a rate, and needs monitoring. Classifiers, judges, spotlighting, task trackers. LLMail-Inject says these are worth having and worth stacking, and says the stack still lets one attempt in six through. Every control in this band needs a re-measurement trigger attached to it.

Band 3 - instruction. Nearly free, nearly worthless on its own. System-prompt text telling the model to ignore injected instructions. The course simulator prices this honestly: on the fully hardened Beacon configuration, deleting the prompt guard entirely costs 0.63 risk points, and it scores a flat zero against indirect injection, context poisoning, improper output handling and unbounded consumption. Keep it. Never count it.

The check. Count your controls per band, then count your spend per band. If Band 3 has the most entries and Band 1 has the fewest, you have an instruction-shaped defence, and the record in Part 1 is a fair prediction of how it will perform against somebody who adapts.

Say the ordering out loud, because it is the takeaway Architecture beats detection beats instruction. Not because instruction is worthless, but because only the first band changes what is reachable. The other two change how often something is reached, and how often is a number that an attacker gets a vote on.
Homework

Try it yourself - this week ◐ 45-60 min total

Source material

Official sources covered

Every framework, figure and quotation on this page traces to a primary source catalogued in this course's source map, verified 2026-08-14. This page covers:

✓Nasr, Carlini, Sitawarin, Schulhoff, Hayes, Shumailov, Terzis, Tramer et al., Oct 2025 - 12 recent defences bypassed at >90% ASRPart 1 · most had originally reported near-zero ASR · [P]
✓Zhan et al., NAACL 2025 Findings - all 8 agent indirect-injection defences bypassed, consistently >50% ASRPart 1 · [P]
✓Character injection against six production guardrails - up to 100% evasion success in some instancesPart 1 · zero-width, Unicode tags, homoglyphs, emoji smuggling · [P]
✓Spotlighting: >50% to <2% non-adaptively; TSR 0.529 in LLMail-Inject; DeepMind on adaptive attacksPart 2 + Part 3 · [P] both sides of the result
✓Instruction hierarchy: up to +63% robustness generalising to unseen attacks, with over-refusal regressionsPart 2 · [P] OpenAI
✓Constitutional Classifiers: 86% to 4.4% jailbreak success, 0.38% refusal increase, 23.7% compute overheadPart 2 · [P] Anthropic
✓CaMeL: 77% of AgentDojo tasks with provable security vs 84% undefendedPart 2 · [P] Google Research · a 7-point utility cost for a guarantee
✓LLMail-Inject (MSRC + IEEE SaTML 2025) - Phase 1 Level 4 Team Success Rates and the combined 0.166Part 3 · 370,724 + 90,916 submissions; end-to-end 0.8% then 0.3% · [P]
✓NIST AI 100-2e2025 §3.4.4 and §4.1.3 - assume injection is possible; compare on a Pareto plotPart 2 · [P]
✓CamoLeak - GitHub disabled image rendering in Copilot Chat entirely, 14 Aug 2025Part 3 · [P-researcher] · no CVE is cited: the circulating number is a different vulnerability
✓EchoLeak CVE-2025-32711 (CVSS 3.1 9.3 Critical) and the ChatGPT url_safe bypass, Tenable TRA-2025-06Part 3 · [P] both
◐ForcedLeak / Agentforce - expired allowlisted domain, re-registrable for $5Part 3 · [S] researcher rating, no NVD entry, no primary vendor advisory · used only for the shape of the control failure
◐Promptware against Gemini assistants - 73% High-Critical reassessed to Very Low-Medium after mitigationsPart 3 · [P] · shows severity moving, not a class closing
◐Beacon simulator figures (0.63 points, flat zero in the matrix)Discussion 2 · teaching model - the arithmetic is real, the inherent-risk weights encode the direction the literature reports
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · A vendor shows you a defence with a near-zero attack success rate. What is the first question, and why?

The near-zero number is usually real. It was measured against the attacks that existed when the defence was written, which is a different claim from the one it gets used to make. Latency and coverage are reasonable procurement questions, but they are questions about a defence that works; adaptivity is the question about whether it works at all. The follow-up for guardrail products specifically is how input is normalised before classification, because six production guardrails were evaded by character injection with up to 100% evasion success in some instances.

2 · In LLMail-Inject Phase 1 Level 4, the best single defence had a Team Success Rate of 0.318 and all four combined had 0.166. What is the correct reading?

Option A misreads the data, since 0.166 is meaningfully better than 0.318 and every individual defence was beaten by between a third and sixty percent of the teams that tried. Option B is the expensive error: 16.6% of teams still got through, and a control you would accept at that rate is not a control, it is a filter. The decision this supports is to keep the stack, monitor it, and separately bound what a successful attempt can reach.

3 · What do EchoLeak, CamoLeak, ForcedLeak and the ChatGPT url_safe bypass have in common once you look at the fixes?

This is the generalisation the whole session builds towards, and it is why the ordering is architecture, then detection, then instruction. A capability was removed in each durable case: image rendering, an egress allowlist, a domain that should never have been trusted. Note the two honesty flags that travel with this answer - do not cite a CVE for CamoLeak, because the circulating one describes a different vulnerability, and ForcedLeak's severity score is a researcher rating with no national database entry behind it.

Leader session 5 cheat sheet · pin this

The attacker moves second12 recent defences, most originally near-zero ASR, bypassed above 90%. Ask whether the evaluation was adaptive, every time.
Eight of eightAll 8 evaluated indirect-injection defences for agents bypassed, consistently above 50% ASR.
Character injectionSix production guardrails evaded by zero-width characters, Unicode tags, homoglyphs and emoji smuggling. Up to 100% in some instances. Ask how input is normalised.
Non-adaptive numbers decaySpotlighting: >50% to <2% non-adaptively, then a 0.529 Team Success Rate against real adaptive teams.
Every win has a billInstruction hierarchy +63% with over-refusal regressions. Constitutional Classifiers 86% to 4.4% at 23.7% compute. Keep the cost attached to the number.
CaMeL is the different trade77% of AgentDojo tasks with provable security vs 84% undefended. Seven points of utility for a guarantee, not for a rate.
0.600 · 0.529 · 0.440 · 0.318 · 0.166LLMail-Inject. Each defence beaten by a third to sixty percent of teams. Stacking cut it to 16.6%, not to zero.
Architecture beats detection beats instructionLeast privilege, human approval on irreversible actions, sandboxing, egress allowlists. Every durable incident fix cut a leg. None fixed the model.