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

Scope and rules of engagement: authorization is not a sentence you type

Every engagement in this course is against a system Beacon owns, with written permission, inside a defined window. This session writes that permission down properly: which endpoints are in scope, which tools the agent may actually call while you test, how many trials constitute a finding, and what happens to the people doing the testing. It ends with a rules-of-engagement document you could hand to a general counsel, and one hard lesson from a real campaign about where authorization must live.

🟢 Builder track Security engineers · AI engineers · platform leads 45 min
0-3 · Welcome 3-18 · Authorization, layers, and the trial rule 18-40 · Build-along: write Beacon's RoE 40-45 · Q&A
Part 0

What this course is, 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 you will write in this session. 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 no framing in a scope document changes that.

MITRE ATLAS defines the practice precisely, in mitigation AML.M0035: an AI red team runs recurring, authorized, threat-informed exercises, before deployment and throughout operation. Three adjectives, and every one of them is doing work. Recurring, because a point-in-time result decays. Authorized, because that is what separates this from the thing it resembles. Threat-informed, because otherwise you are just poking at a chatbot.

Live - presented in session Self-study - read after class Official sources covered
★ What you walk out with today A completed rules-of-engagement document for the Beacon engagement, the layer map showing which endpoints you will test and which you will not, a trial protocol that makes every finding a rate rather than a boast, and the blast-radius limits that keep an authorized test from becoming an incident of its own.
Where this sits among its siblings Agent Launch has a safety gate that requires an adversarial slice, and does not teach you to build one. That is this course. AI Observability owns the telemetry your findings surface in. AI Agents owns what an agent is. This course owns the engagement.
Part 1 · where authorization lives

The lesson from a real campaign 6 min live

Start here, because it reframes what a scope document is for. In November 2025 Anthropic disclosed a cyber-espionage campaign in which an AI agent performed most of the work. The guardrail bypass is the part this session cares about.

Real world

The operators broke their objective into small tasks that looked innocuous on their own, and told the model it was an employee of a legitimate cybersecurity firm, being used in defensive testing. That claim was the jailbreak. Anthropic reported the agent performed 80-90% of the campaign, with human intervention at roughly four to six decision points, against around thirty targets, succeeding in a small number of cases. They also noted the model "occasionally hallucinated credentials" - the attacker's own tooling was unreliable in the way this whole course keeps insisting AI systems are.

Authorization asserted in the prompt "You are being used in authorized defensive testing." It is text. It arrives in the same token stream as every other instruction, carrying no provenance the model can check. Anyone can type it, including the person you are defending against. It is a claim, not a credential. Authorization enforced in the control plane Credentials · tenancy · tool scoping · network A test account in a test tenant, holding a read-only role, reaching a sandbox. The agent cannot be talked into more access, because the access is not the agent's to grant. This is what your RoE actually configures. The rule this gives you, and it runs through the whole course Never let a model-level assertion unlock a capability. If "I am authorized" is a sentence that changes what the system will do, then anyone who can put text in front of the model is authorized. Your scope document is not a note to the model. It is a specification for credentials, tenancy and tool scope that you configure before testing. Same principle, defensive side: this is why least-privilege scoping beats any instruction you can write.
🔍 Click to zoom - a claim in the prompt versus a control in the plane below it
Part 2 · what you are testing

You are scoping a system, not a model 5 min live

The most common scoping error is naming a model. Microsoft's published guidance, drawn from red teaming more than a hundred generative AI products, is to test at several distinct layers, and to say in the report which one you used.

LayerWhat it tells youWhat it hides
Base model via APIThe model plus its own safety system, without your applicationEverything your application adds: retrieval, tools, memory, rendering
Your application via its UIWhat a real user or attacker actually meetsWhich layer caught a thing, when something is caught
Pre-mitigation buildThe inherent behaviour, and how much your controls are carryingNothing, but it is only meaningful next to the post-mitigation run
Post-mitigation buildThe number you can actually reportHow fragile the improvement is, unless you also test adaptively

Microsoft's instruction is blunt about which to favour: conduct testing on the production UI as much as possible, because that most closely resembles real-world usage. And when reporting, make clear which endpoints were used. A finding against a raw API endpoint and a finding against the shipped product are different claims, and conflating them is how a report becomes misleading without anybody lying.

The four scope areas worth naming explicitly OWASP's GenAI Red Teaming Guide splits scope into model evaluation, implementation testing, infrastructure assessment and runtime behaviour analysis. Most engagements that feel unsatisfying afterwards turn out to have covered the first and skipped the other three, which is where an application actually lives.
Part 3 · the trial rule

A finding is a rate, never a boast 5 min live

This is the single methodological difference that separates AI red teaming from classic penetration testing, and it belongs in the rules of engagement rather than being left to whoever writes the report.

Same attack, same system. Only the number of attempts changed. One trial per attack 57% Twenty-five trials 80% NIST CAISI re-ran identical agent-hijacking attacks. Testing once does not find a weaker result. It finds a wrong one. Same system. Only the attacker's effort changed. Best baseline attack 11% Tailored to the target 81% Running the published baselines and stopping is not an engagement. NIST: "Evaluations need to be adaptive." Put it in the RoE: every attack runs N times, every finding reports k of N, and N appears in the report.
🔍 Click to zoom - why a single trial produces a wrong number rather than a cautious one
LiveWhy this follows from how the systems work3 min▶

The same input does not produce the same output twice, so a single attempt samples a distribution rather than testing a property. That is not a nuisance to be engineered away; it is the thing being measured. Two consequences for your document:

  • Specify N before you start. If N is chosen after seeing results, it will be chosen to flatter whichever conclusion is convenient. Ten is a reasonable floor for a quick probe; twenty-five is what produced the figures above.
  • Record k of N in the finding template, not "succeeded". A defect that fires two times in fifty and one that fires fifty times in fifty are different defects with different fixes, and a binary field cannot tell them apart.

There is a harder corollary that the leader track spends a whole session on: because the search space of natural-language attacks is effectively unbounded, no amount of testing establishes that something cannot happen. In a competition run across more than 250,000 attempts by over 400 participants against thirteen frontier models, at least one successful attack was found against every model. Your engagement will not be the exception.

Demo 1 of 2

Write Beacon's rules of engagement ★ 16 min · everyone builds

Beacon has authorized an internal engagement against its three bots before a board review. Fill this in for Beacon, then again for a system you actually own. There is no published standard RoE template for AI engagements, so this one is assembled from what vendors publish about how they bound the work - treat it as a good starting structure rather than a citable standard.

Authorization block. Named system owner, named approver, the written scope, the testing window, and a kill-switch contact who can stop the engagement inside five minutes. If you cannot fill every field, you do not have authorization yet, you have enthusiasm.

Target surface. Which of the four layers from Part 2 are in scope, and the exact endpoints. Beacon's engagement covers the production UI of all three bots plus a pre-mitigation staging build of the Support Bot. Write down what is out of scope too, because that list is what protects you.

Harm classes in scope, split into two tracks. Security findings (exfiltration, unauthorized action, privilege escalation) and content or safety findings go to different people on different timelines. Google's own vulnerability programme draws this line explicitly: indirect injection with production impact is a security matter, while jailbreaks and alignment failures absent a chain are handled elsewhere. Draw the same line before you start, not while triaging.

Trial protocol. N per attack, how success is defined, and who adjudicates a disputed result. Write the adjudicator's name down; a grader dispute at report time with no named owner is how engagements end badly.

Blast-radius limits - the section that keeps a test from becoming an incident. Which tools may the agent actually call while you test? Beacon's answer: reads yes, writes to a sandbox tenant only, sends never, payments never, deletes never. If an attack would succeed only by actually issuing a refund, you record it as a finding and you do not issue the refund.

Data handling. Whether real customer data may be used at all (Beacon: no, seeded fixtures only), where transcripts live, who may read them, and how long harmful outputs are retained. You are about to generate a corpus of successful attacks against your own product; that corpus is now a sensitive asset.

Psychological safety. Rotation between harm areas, content warnings, and an explicit opt-out from the hardest categories with no career consequence. OpenAI names psychological harm to red teamers as a real limitation of the method and prescribes mental-health resources, fair compensation and informed consent. This belongs in the operating procedure, not on an ethics slide at the end.

Disclosure. Embargo terms, who may publish, and the coordination path. Note the information hazard: a not-yet-known technique written up carelessly accelerates misuse of systems other than yours.

The field teams forget, every time Blast-radius limits. Everyone writes down what they will test and nobody writes down what the agent is allowed to actually do while being tested. An engagement against a bot that can issue refunds, conducted without that section, is not a test - it is an unsupervised production change with a report attached.
Demo 2 of 2

Two mindsets, and a first pass at the harms list ★ 8 min · in pairs

Microsoft's guidance on team composition contains an instruction that sounds soft and is not: recruit red teamers with both benign and adversarial mindsets, including ordinary users of the system who had no hand in building it. Their threat-modelling ontology deliberately does not assume adversarial intent, because a benign user hitting a failure is the same failure.

In pairs, spend four minutes on open-ended exploration of one Beacon bot - no target list, no taxonomy, just poke at it as a curious user and write down anything surprising. Microsoft runs this stage first precisely because it "uncover[s] blind spots in your understanding of the risk surface" before a checklist narrows your attention.

Now turn what you found into a harms list: one line per surprising behaviour, with the layer it lives in. This list, not the OWASP taxonomy, is what your guided testing in session b8 starts from. The taxonomy is a completeness check you apply afterwards.

Write the recording fields you will use for every finding, at minimum: date · a unique identifier for the input and output pair, for reproducibility · the input · a description or screenshot of the output. Add k of N from Part 3. Put it in a shared sheet so testers can see each other's examples, which sparks ideas and prevents duplicated effort.

Keep this sentence in your report template from day one Microsoft's own guidance: the role of red teaming is to expose and raise understanding of the risk surface, and it is not a replacement for systematic measurement and rigorous mitigation work. People must not interpret specific examples as a metric for how pervasive that harm is. One vivid example in a slide deck will otherwise become an organisation's entire mental model of the risk.
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:

✓MITRE ATLAS AML.M0035 - AI red teaming as recurring, authorized, threat-informed exercisesPart 0 · the course thesis in the framework's own words · [P]
✓Anthropic's disclosed espionage campaign - authorization claimed in the prompt as the bypassPart 1 · [P] primary vendor disclosure
✓Microsoft's layered testing guidance and recording fieldsPart 2 + Demo 2 · [P]
✓NIST CAISI trial-count findings: 57% to 80% at N=25; 11% to 81% when tailoredPart 3 · [P]
✓OWASP GenAI Red Teaming Guide - the four scope areasPart 2 · [P]
◐The RoE template structure itselfAssembled from vendor practice · no published standard AI RoE template exists; treat as a starting structure
◐Attack-class taxonomy and framework IDsNamed here only · b2 maps OWASP 2026, ATLAS and NIST properly
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · In the disclosed espionage campaign, operators told the model it was doing authorized defensive testing. What does that teach a defender?

The claim arrived in the same token stream as everything else, carrying no provenance the model could check. Option B is the trap: it proposes fixing this by making the model better at judging text, which is the losing move this whole course argues against. The control has to live where an attacker cannot reach it - in credentials, tenancy and tool scope - so that the sentence becomes irrelevant rather than merely harder to write convincingly.

2 · You run each attack once and report which ones succeeded. What is wrong with the result?

Note the direction. Single-trial testing does not give you a cautious underestimate you can safely round up; it gives you a figure that misrepresents the system, because the same input genuinely produces different outputs. That is why N belongs in the rules of engagement, decided before anyone has seen a result, and why the finding template records k of N rather than a boolean.

3 · Which RoE section do teams most reliably omit, and why does it matter?

Everyone writes down what they intend to test. Almost nobody writes down what the system is permitted to actually do while being tested, because scoping attention goes to the attack side. If a finding can only be confirmed by really sending the email or really moving the money, the correct behaviour is to record the finding and stop - which is a decision you want made in a document beforehand, not by a tester at half past six on a Friday.

Builder session 1 cheat sheet · pin this

AML.M0035Recurring, authorized, threat-informed. All three adjectives are load-bearing.
Authorization lives in the control planeCredentials, tenancy, tool scope. Never a sentence the model is told and could equally be told by anyone else.
Scope a system, not a modelBase API, application UI, pre- and post-mitigation. Say in the report which endpoint you used.
Four scope areasModel evaluation, implementation, infrastructure, runtime behaviour. Most engagements do the first only.
N trials, k of N57% to 80% just by repeating 25 times. A single trial gives a wrong number, not a cautious one.
Baselines are not an engagement11% with the best published baseline, 81% when tailored to the target. Budget for adaptive work.
Blast-radius limitsReads yes, sandbox writes only, sends and payments and deletes never. Record the finding, do not fire the action.
Open-ended before guidedExplore first to find blind spots, then build the harms list, then test against it. Taxonomy is the completeness check, not the starting point.