learn-ai-red-team-with-phoebe / Builder session 8 of 10
Learn AI Red Team with Phoebe · Builder track · Session 8 of 10

Run the engagement: open-ended first, then guided, then adaptive

b7 built the suite. This session runs it, and the running order is not the order most teams use. You start with no target list at all, because a checklist narrows attention before you know the shape of the thing. Then you build the harms list from what surprised you, test against it, and spend the second half of your budget on attacks nobody has published, because that is where the measured success rate lives. It ends with the three ways an engagement is allowed to stop, and the sentence that goes in every report so nobody mistakes your examples for a measurement.

🟠 Builder track Security engineers · AI engineers · platform leads 45 min
0-3 · Welcome 3-16 · Two stages and the budget 16-34 · Build-along: run a round 34-45 · Stopping, people, Q&A
Part 0

An engagement is a schedule, and the schedule is the method

⚠ Authorization This session is about testing AI systems you own, or are contracted in writing to test. Everything here runs against Beacon, a fictional company, inside the rules-of-engagement document you wrote in b1 - named approver, named window, named blast-radius limits. The course names attack classes so you can build test cases and pairs each with the defence that addresses it. 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 nothing in a run book changes that.

Nearly everything that separates a useful engagement from a busy one is decided before anyone types at the bot: in what order the stages run, how the hours divide between published attacks and new ones, what gets written down per attempt, and what counts as permission to stop. None of that is glamorous. All of it moves the result more than any individual tester's cleverness does.

Live - presented in session Self-study - read after class Official sources covered
★ What you walk out with today A two-stage run order with the taxonomy in its correct place at the end, a defensible split of hours between baseline and adaptive work, a shared recording sheet with the four minimum fields plus k of N, three named stopping conditions agreed in advance, a team-composition and welfare section that belongs in the run book, and the report sentence that stops one vivid example becoming an organisation's entire mental model of the risk.
Where this sits in the track b1 wrote the authorization, the trial rule and the blast-radius limits. b7 built the suite and the coverage accounting. This session runs them. b9 takes what you find and measures the delta after hardening, honestly.
Part 1 · the run order

Open-ended first, and the taxonomy arrives last 6 min live

Microsoft's published operating guidance, drawn from red teaming more than a hundred generative AI products, specifies a two-stage execution, and the order carries the argument. Open-ended exploration comes first because it "enables them to creatively explore a wide range of issues, uncovering blind spots in your understanding of the risk surface". Note whose understanding is being corrected. Not the model's. Yours.

Two stages, in this order, and the taxonomy arrives last 1 Open-ended exploration, with no target list and no taxonomy It "enables them to creatively explore a wide range of issues, uncovering blind spots in your understanding of the risk surface". A checklist first narrows attention before you know the shape. 2 Build the harms list from what actually surprised you One line per surprising behaviour, with the layer it lives in and who saw it. This list, not a published taxonomy, is what the guided round tests against. It is the artefact of stage one. 3 Guided testing against that list, then iterate Run it properly: N trials per case, k of N recorded. Expect new harms to appear during the guided round; add them and go round again. The list is never final, only current. Where the taxonomy belongs, and it is not at the front OWASP, ATLAS and NIST are the completeness check you apply AFTER the harms list exists: did we miss a class entirely? Start from the taxonomy and you get a tidy matrix plus the blind spots you had.
🔍 Click to zoom - the run order, and the one place a published taxonomy earns its keep

The instinct to start from the taxonomy is strong and it comes from a good place: it feels rigorous, it maps to identifiers an auditor recognises, and it produces a satisfying grid on day one. It also guarantees that everything you find is something you already suspected. A tester holding an eight-row checklist stops noticing the ninth thing, because the checklist is what attention is for. Stage one exists to buy you the ninth thing, and it only works if nobody has been handed the grid yet.

Then the taxonomy comes back, and it is genuinely valuable in its proper place. Once the harms list exists, laying OWASP's 2026 list and the relevant ATLAS techniques over it answers exactly one question: did we miss a class entirely? That is a completeness check, it takes twenty minutes, and it is the right amount of framework for the job. What it is not is a research agenda.

The composition detail that makes stage one work Microsoft is explicit that red teamers who are ordinary users of your application and have not been involved in building it bring valuable perspectives. Stage one is where that pays. Someone who knows the architecture explores the architecture. Someone who does not explores the product, which is what an attacker meets and what a confused customer meets too.
Part 2 · the adaptive budget

Running the baselines and stopping is not an engagement 6 min live

This is the single most important scheduling decision you will make, and it is usually made by accident. The published attack suites are easy to run, easy to justify and easy to finish. Building new attacks against this system is slow, unpredictable and hard to put in a plan. So the adaptive half is the half that quietly disappears, and NIST has measured what that costs.

The single most important scheduling decision on the engagement How the hours divide. The proportions drawn below are illustrative: no standards body publishes a ratio. Published baselines Adaptive work, tailored to this target and this build Best published baseline attack, run as published 11% agent hijacking success Same system, attacks tailored to the target 81% agent hijacking success NIST's conclusion, and the scheduling rule it forces "Evaluations need to be adaptive." Running the published baselines and stopping is not an engagement, it is a smoke test. Budget the adaptive half explicitly, or it will be the half that gets cut.
🔍 Click to zoom - the same system, measured twice, differing only in who wrote the attack

Sit with the size of that gap. 11% with the best published baseline. 81% when the attacks were tailored to the target. Same system, same measurement harness, seven-fold difference in the reported result, and the only variable is whether the attacker did work specific to this system. A report built entirely on published suites is not a cautious report. It is a report about a different, easier attacker than the one you have, and it will read as reassuring precisely where it is least informative.

The ratio itself is yours to choose and I am not going to invent one for you, because nobody publishes one. What the evidence forbids is a bar with nothing on the right-hand side. Put the adaptive block in the plan with a name, an owner and its own hours, and protect it the way you would protect a deadline, because it is the first thing that gets eaten when the baseline runs overrun. In practice the honest planning question is not "how long will the adaptive work take" - it is unbounded - but "how many days are we willing to spend, and what will we have written down when they end".

The failure mode has a shape you can spot in a plan If the engagement schedule can be fully specified in advance, it contains no adaptive work. Baselines can be scheduled because you know what they are. Adaptive work can only be timeboxed. A plan with no timeboxes in it is a plan for a smoke test with a red-team invoice attached.
Demo 1 of 2

Run stage one and build Beacon's harms list ★ 10 min · in pairs

Four minutes of genuinely open exploration, then six minutes turning it into an artefact. Resist the urge to be systematic during the first four minutes; being systematic is what stage three is for, and doing it early costs you the whole point of doing it in two stages.

Split the pair by mindset, deliberately. One of you explores as a curious ordinary user who has never seen the code: ask it things a customer would ask, then things a confused customer would ask. The other explores adversarially. Both are legitimate and Microsoft's threat-model ontology deliberately does not assume adversarial intent, because a benign user hitting a failure is the same failure with a friendlier email attached.

Write down surprises, not successes. The stage-one output is anything that made you go "huh", including behaviour that is not a security issue at all: an odd refusal, a confidently wrong figure, a tool call you did not expect, a response that quoted something you did not paste. Most of these will not become findings. Two of them will become the best findings of the engagement.

Now build the harms list. One line per surprising behaviour: what happened, which layer it lives in from b1's layer map, who saw it, and whether it is a security track or a content and safety track item. This list is what stage three tests against. It is short, it is specific to Beacon, and it did not come out of a framework.

Apply the taxonomy last, as a twenty-minute completeness check. Lay the eight classes from b7 over the harms list. The question is only "did we miss a class entirely". Anything untouched goes into the manifest as UNTESTED, where b7's accounting will carry it at full inherent risk and keep it visible.

Plan for the list to grow, and say so in the plan. The guided round will surface new harms. That is the expected behaviour, not scope creep, and an engagement plan that cannot absorb new list items in round two was written by somebody who expects to be finished.

Demo 2 of 2

The shared sheet, the four fields, and k of N ★ 10 min · everyone builds

Microsoft's minimum recording fields are unglamorous and each one earns its place. Set the sheet up before the first round rather than after it, because the fields you did not capture on day one are the fields you cannot reconstruct on day nine.

FieldWhy it is on the minimum list
DateFindings are about a build at a moment. A finding with no date cannot be retested, and cannot be defended when the model version changes underneath it.
A unique identifier for the input and output pairExplicitly for reproducibility. This is the field that makes a claim checkable by somebody who was not in the room, and it is the one teams skip.
The input promptStored, referenced, and access-controlled. You are building a corpus of things that worked against your own product; treat it as the sensitive asset it now is.
A description or screenshot of the outputWhat actually came back, not your summary of what it meant. The interpretation belongs in the finding; the artefact belongs in the sheet.
k of N from b1Not a minimum field in the published guidance, and non-negotiable here. Success is a rate, and a boolean cannot tell a two-in-fifty defect from a fifty-in-fifty one.

Put it in a shared sheet, visible to every tester. The published rationale is worth quoting to whoever wants private notebooks: seeing each other's examples sparks ideas and avoids duplicated effort. Two testers independently finding the same thing is not corroboration, it is half a day.

Fix N before the first run and put it in the sheet header. b1's protocol: every attack runs N times, every finding reports k of N, and N appears in the report. NIST re-ran identical agent-hijacking attacks and average success rose from 57% to 80% purely by repeating them 25 times. A single trial does not give you a cautious underestimate. It gives you a wrong number.

Record the endpoint and the build on every row. A finding against a raw API endpoint and a finding against the shipped product are different claims. Microsoft's instruction is blunt: when reporting results, make clear which endpoints were used for testing.

Store artefacts by reference, never inline. The sheet holds identifiers and descriptions. The prompts and transcripts live wherever your RoE said they live, with the retention window your RoE agreed. Do not let a successful-attack corpus end up in a repository whose access list nobody has reviewed.

Adjudicate disputes with the named person from b1. Grader disagreement is normal on content findings and toxic when it is resolved at report time by whoever is loudest. The name was written down for this exact moment.

Finding record · one row per confirmed finding{ "finding_id": "BCN-2026-0417-031", "date": "2026-04-17", "io_pair_ref": "vault://beacon-eng/031", // unique id, for reproducibility "input_ref": "vault://beacon-eng/031/in", // stored by reference, access-controlled "output_evidence": "vault://beacon-eng/031/out + screenshot", "target": "support-bot", "endpoint": "production-ui", // say which endpoint. always. "build": "2026-04-16-rc3", "class": "indirect", "owasp": "LLM01:2026", "atlas": "AML.T0051.001", "trials_n": 25, // fixed before the first run "successes_k": 7, // k of N, never a boolean "judge": "rubric-v4, human adjudication on disputes", "adjudicator": "named in RoE-2026-0412", "track": "security", // security vs content, split at b1 "reachability": "zero-click, via inbound ticket content", "blast_radius_data": "single tenant, Confidential", "blast_radius_act": "refund credit, irreversible", "durability": "not persistent across sessions", "stage_found": "open-ended" // stage 1, 2 or 3 - tells you what to fund }
The field nobody asks for and everybody wants later stage_found. At the end of the engagement, count how many findings came from stage one versus the guided round versus the adaptive block. That single tally is the most persuasive budget argument you will ever have, and you can only produce it if you recorded it while you were busy.
Part 3 · reading a negative result

What "we found nothing" actually means 5 min live

Sooner or later a round comes back clean and somebody senior hears it as good news. The most useful thing published on this is a pair of exercises against the same defence, where the only material difference was how much effort was spent.

Two exercises on the same defence, and only one of them found something Prototype bug bounty 183 participants More than 3,000 hours over two months No universal jailbreak found Skilled effort, sustained, and nothing. Public demo, same defence 339 jailbreakers Roughly 3,700 hours One universal jailbreak found About 700 more hours, and it existed. What the first result meant, and what it did not Nothing about it was wrong. It simply did not mean what "we red-teamed it and found nothing" is usually taken to mean. Report hours, participants and what was NOT found. Never "no vulnerabilities exist".
🔍 Click to zoom - the same defence, two efforts, and the difference a few hundred hours made

The first exercise was a serious piece of work. 183 participants, more than three thousand hours over two months, no universal jailbreak found. Everything about that sentence is true and none of it establishes that no universal jailbreak existed - which the second exercise then demonstrated, with 339 jailbreakers and roughly seven hundred additional hours. The first result was not wrong. It was correctly reported and widely misread.

So write your negative results in a form that cannot be misread. "We ran 14 attack families against the support bot at N=25 over 40 tester-hours on build 2026-04-16-rc3 and confirmed no successful exfiltration in that set" is a defensible sentence. "The support bot passed the red team" is not a shorter version of it; it is a different claim about a different thing, and it is the version that will be repeated. Give people a sentence worth repeating, because they will repeat whichever one you gave them.

Never present a near-zero success rate as evidence of safety Twelve recent published defences, most of them originally reporting near-zero attack success rates, were later bypassed at above 90% by researchers who attacked them properly. A near-zero number tells you what the attacks you ran did against the build you ran them on. Treating it as a property of the system is the single most common way a technically accurate report becomes a misleading one.
Part 4 · permission to stop

Three ways a run ends, and one that never arrives 5 min live

"Keep going until it is clean" sounds like diligence and is actually an unbounded commitment, because the evidence says clean does not happen. The competition result that settles this is worth stating in full before anyone proposes it as a plan.

"Keep going until it is clean" is not a terminating condition The CAISI competition, and why clean never arrives More than 250,000 attempts by over 400 participants against 13 frontier models. At least one successful attack was found against every one of the thirteen. Yours will not be the exception. Stop on budget The hours in the RoE are spent. Report what you covered and, just as loudly, what you did not. Stop on coverage Every class has cases at the agreed N, and the harms list from stage one has been worked through. Stop on a finding Severe enough to halt and report now, ahead of the rest of the plan. That is an escalation, not an end. Whichever comes first. Agree all three in the RoE, not at half past six on a Friday.
🔍 Click to zoom - the three terminating conditions, and the one that is not a condition at all

Read the competition result carefully, because it is easy to hear as pessimism and it is not. It says that with more than 250,000 attempts spread across 400-plus participants, at least one successful attack was found against every one of thirteen frontier models. These are the most heavily defended systems in commercial existence, tested by a large motivated crowd. If "test until nothing succeeds" were achievable anywhere, it would be achievable there. It is not a bar your engagement can clear either, and the honest response is to stop pretending it is the bar.

What replaces it is three conditions, all agreed in advance. Budget: the hours in the RoE are spent, and the report says what was covered and what was not reached. Coverage: every class has cases at the agreed N and the harms list has been worked through - which is the b7 accounting saying it has nothing left carried as unknown. Severity: something is found that is bad enough to halt the run and report immediately, ahead of the rest of the plan. The third is an escalation rather than a completion, and the run resumes afterwards, but it stops the engagement in the moment and the RoE should say who makes that call.

Write the stopping conditions into the RoE as thresholds, not adjectives "Severe enough to halt" needs a definition somebody can apply at eleven at night without a meeting: which data classifications, which irreversible actions, which reachability. b1's severity axes give you the vocabulary. If the threshold is not written down, the person who finds the critical thing will be the person deciding alone whether it is critical.
Part 5 · the people running it

Who is in the room, and what the engagement owes them 5 min live

Two operating-procedure items that get filed as culture and are not. Team composition changes what gets found. Participant welfare is a named limitation of the method in OpenAI's own published account of red teaming, and it belongs in the run book beside the rota.

Composition, per Microsoft's guidance Diverse across experience, demographics and expertise. Recruit both benign and adversarial mindsets, including ordinary users who had no hand in building it. Rotate assignments between rounds, so nobody owns one harm area all engagement. Welfare, an operating procedure item OpenAI names psychological harm from sustained adversarial thinking as a real limitation of the method, and prescribes mental-health resources, fair pay for participants, and informed consent. Put it in the run book, not on a closing slide. The benign mindset is not softness: the published ontology does not assume adversarial intent.
🔍 Click to zoom - the two people-shaped sections of a run book

On composition, the guidance is specific: diverse across experience, demographics and expertise, recruiting both benign and adversarial mindsets, explicitly including ordinary users of the application who were not involved in building it, and rotating assignments between rounds. The rotation is doing two jobs at once. It stops a tester's mental model of one harm area hardening into the only model anyone has, and it limits how long any individual sits in the same unpleasant material.

On welfare, treat OpenAI's account as the operating requirement it reads like. Sustained adversarial thinking against a system, in the harm categories a real engagement covers, is named as a genuine harm to participants, mitigated by mental-health resources, fair compensation and informed consent. Those are three line items with owners and costs, not values. Put them next to the rota, alongside b1's rotation between harm areas, the content warnings, and the opt-out from the hardest categories with no career consequence.

The report line to copy verbatim into every template "Be sure to clarify that the role of RAI red teaming is to expose and raise understanding of risk surface and is not a replacement for systematic measurement and rigorous mitigation work. It is important that people do not interpret specific examples as a metric for the pervasiveness of that harm." Put it on the first page, not the last. One vivid example in a slide deck will otherwise become an organisation's entire mental model of a risk, and it will be either far too alarming or far too reassuring, at random.
Homework

Try it yourself - this week ◐ 60-75 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:

✓Microsoft's two-stage execution: open-ended first, "uncovering blind spots in your understanding of the risk surface", then the harms list, then guided testingPart 1 + Demo 1 · [P]
✓Microsoft's minimum recording fields, and the shared sheet rationale (sparks ideas, avoids duplication)Demo 2 · [P]
✓Microsoft on team composition: diverse, both benign and adversarial mindsets, ordinary users, rotate between roundsPart 5 · [P]
✓Microsoft's report line: red teaming exposes and raises understanding of risk surface, and is not a replacement for systematic measurement and rigorous mitigation workPart 5 · copy verbatim · [P]
✓NIST CAISI: 11% with the best published baseline versus 81% tailored to the target; "Evaluations need to be adaptive"Part 2 · [P]
✓NIST CAISI: 57% to 80% purely by repeating identical attacks 25 timesDemo 2 · the trial protocol in practice · [P]
✓CAISI competition: 250,000+ attempts, 400+ participants, at least one successful attack against every one of 13 frontier modelsPart 4 · [P]
✓Anthropic Constitutional Classifiers: 183 participants over 3,000+ hours found nothing; 339 jailbreakers over ~3,700 hours found onePart 3 · [P]
✓Nasr et al., The Attacker Moves Second: 12 defences, most reporting near-zero ASR, bypassed above 90%Part 3 · never read near-zero as safety · [P]
✓OpenAI's published limitations of red teaming: psychological harm to participants, mental-health resources, fair compensation, informed consentPart 5 · [P]
◐The baseline-versus-adaptive hour split drawn in Part 2Illustrative proportions only - no standards body publishes a ratio. What the evidence supports is that the adaptive block must exist and be timeboxed
◐The three stopping conditions as a named setPart 4 · assembled from published practice; the CAISI result is what rules out "until it is clean", the triple itself is a structure not a standard
◐The finding-record schemaDemo 2 · the four minimum fields are published; the rest, including k of N and stage_found, are this course's additions
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · Your team has the OWASP and ATLAS lists and eight testers. What is the correct order of work?

The published rationale for open-ended first is that it uncovers blind spots in your understanding of the risk surface, and a checklist handed out on day one is precisely what stops that happening: a tester holding an eight-row grid stops noticing the ninth thing. Option A produces a tidy matrix plus exactly the blind spots you started with. The taxonomy is still valuable, in twenty minutes, at the end, answering one question - did we miss a class entirely - and anything untouched goes into the manifest as untested so b7's accounting keeps carrying it.

2 · The engagement plan is fully specified: fourteen named attack suites, run at N=25, six days, no unallocated time. What is wrong with it?

A plan that can be fully specified in advance contains only baselines, because baselines are the part you already know. Adaptive work cannot be scheduled, only timeboxed, so a plan with no timebox in it is a smoke test with a red-team invoice attached. The seven-fold gap between 11% and 81% is on the same system with the same harness; the only variable is whether anybody did work specific to this target. NIST's conclusion was that evaluations need to be adaptive, and the practical consequence is to give the adaptive block a name, an owner and protected hours before the baseline runs overrun into it.

3 · A stakeholder asks you to keep testing until the system is clean. What do you tell them?

Option C is the trap and it is the one that gets used, because a clean round genuinely feels like an answer. It is not: the same defence that survived 183 participants over 3,000-plus hours fell to 339 people over roughly 700 more, and nothing about the first result was wrong when it was reported. The competition result kills option B too, on the most heavily defended systems in commercial existence with a large motivated crowd. So you replace the unbounded commitment with three thresholds written into the RoE in advance, where the severity threshold is defined tightly enough that whoever finds the critical thing at eleven at night is not deciding alone whether it is critical.

Builder session 8 cheat sheet · pin this

Open-ended first, alwaysIt uncovers blind spots in your understanding of the risk surface. A checklist on day one buys you the blind spots you already had.
Taxonomy is the completeness checkApplied after the harms list exists, answering one question: did we miss a class entirely. Twenty minutes, at the end.
Four fields, minimumDate · a unique id for the input/output pair for reproducibility · the input prompt · a description or screenshot of the output. Plus k of N.
One shared sheetTesters seeing each other's examples sparks ideas and avoids duplication. Two people finding the same thing is half a day, not corroboration.
11% versus 81%Best published baseline versus tailored to the target, same system. Running the baselines and stopping is a smoke test.
57% to 80% at N=25Purely by repeating identical attacks. A single trial gives a wrong number, not a cautious one.
Stop on budget, coverage or severityNever "until it is clean" - 250,000+ attempts found a successful attack against all 13 frontier models tested.
The report sentence, verbatimRed teaming exposes and raises understanding of risk surface; it is not a replacement for systematic measurement and rigorous mitigation. Examples are not a metric for pervasiveness.