10. Verifying AI Applications: AISVS and LEARN

Introduction

You have shipped an AI feature. Your security lead asks a reasonable question: “How do we know it’s secure?”

Nothing you have learned so far answers that question in a form anyone can check. The Blueprint tells you what to deploy, layer by layer, and it is an infrastructure answer to an infrastructure question. Section 9’s loop tells you how to keep those controls aimed at arriving attacks. Both are about the platform around your application. Neither hands you a list of things a reviewer can walk through and mark pass or fail on the code you wrote.

That gap has a name, and until recently it was a genuine hole in the field: there was no application-level equivalent of the checklists that web application security has used for a decade. OWASP closed it on 24 June 2026 with the Artificial Intelligence Security Verification Standard (AISVS) 1.0 – 191 testable requirements across 12 chapters, every one phrased as “Verify that…”, modelled directly on the ASVS that web security already runs on.

This section teaches AISVS as the thing you actually verify against, and keeps LEARN – five letters covering the application-level practices this course has taught since Chapter 1 – as the recall aid that gets you to the right chapter when you are away from the document. The two do different jobs. A mnemonic is for remembering; a standard is for proving. Reach for the mnemonic in a design review and the standard in an audit.

Why this section changed shape

Earlier versions of this course taught LEARN alone. LEARN is a teaching device this course invented – useful for recall, and not something you can cite, hand to an auditor, or hold a supplier to. Now that a published, versioned, vendor-neutral standard covers the same ground in testable form, the standard is the spine and the mnemonic is the index to it. Where the two disagree, the standard wins.

What will I get out of this?

By the end of this section, you will be able to:

  1. Describe the shape of AISVS – its 12 chapters, its three verification levels, and its identifier scheme – and select the right level for a given system.
  2. Use LEARN to reach the right AISVS chapter for the five application-level practices developers most often own.
  3. State what LEARN does not cover, and name the AISVS chapters that have no mnemonic letter and are therefore the ones most often skipped.
  4. Verify an agent against a chapter of AISVS, working from a real incident to the specific requirements that would have caught it.
  5. Choose between Blueprint, LEARN and AISVS for a given question, and explain why the three are not competing.

What AISVS Is – and What It Is Not

AISVS is a catalogue of testable security requirements for AI-enabled systems. It does not tell you what can go wrong – that is the Top 10 lists’ job – and it does not tell you what product to buy. It tells you what to check.

The shape of it, as of version 1.0:

Property Value
Chapters 12, C1 through C12
Requirements 191, each phrased “Verify that…”
Verification levels 3, assigned per requirement
Identifier format C<chapter>.<section>.<requirement> – e.g. C9.4.3
Licence CC BY-SA 4.0
Status 1.0 folder locked; later work lands in a new version folder

The twelve chapters:

# Chapter What it verifies
C1 Training Data Integrity & Traceability Where the data came from and whether you can prove it
C2 Input Validation Everything entering the context, not just the user’s message
C3 Model Lifecycle Management & Change Control Versioning, approval and rollback of the model itself
C4 Infrastructure, Configuration & Deployment Security The stack the model runs on
C5 Access Control & Identity Who and what may reach each AI resource
C6 Supply Chain Security for Models Provenance of weights, adapters and dependencies
C7 Model Behavior, Output Control & Safety Assurance What comes out, and what it is allowed to trigger
C8 Memory, Embeddings & Vector Database Security Durable state: RAG corpora, memory, indices
C9 Orchestration & Agentic Security Agents, tools, budgets, approvals – 34 requirements, the largest chapter
C10 Model Context Protocol (MCP) Security MCP servers, tokens, transport, schemas
C11 Adversarial Robustness Behaviour under deliberate manipulation
C12 Monitoring, Logging & Anomaly Detection Whether you could reconstruct what happened

Note the weighting. C9 and C10 together are 57 of the 191 requirements – 30% of the standard, all of it agentic. That is the same conclusion Chapter 2 Section 5 reached from the attack side, arrived at independently by a different group of people.

Pin the version in every citation

AISVS identifiers are stable within a version and may move between versions. OWASP’s own guidance is to write v<version>-C<chapter>.<section>.<requirement> – so v1.0-C9.4.3, not C9.4.3 – and to treat a bare identifier as meaning “whatever is current,” which is exactly the ambiguity that breaks a document two years later.

This is the durable habit, not a formatting preference

This course has been bitten by the unpinned-identifier problem twice already. The OWASP LLM Top 10 renumber moved eight of ten identifiers between the 2025 and 2026 editions, and LLM07: System Prompt Leakage became LLM08: Hidden Context Exposure – every unpinned reference in the course silently became wrong. A control document that says “we satisfy C9.2.5” is a document nobody can check after the next release. One that says “we satisfy v1.0-C9.2.5” is checkable forever.

What AISVS explicitly is not

OWASP is unusually direct about the boundaries, and they matter for how you use it:

  • Not a governance framework. NIST AI RMF and the EU AI Act cover that ground, and Section 11 is where this course does.
  • Not a risk management framework. AISVS supplies the technical controls a risk process points at; it does not tell you how to assess risk.
  • Not a tool recommendation list. It is vendor-neutral, which is precisely why it is the right thing to hold a supplier to.

Where it sits among the frameworks you already know

Chapter 2 Section 1 taught you to pick a framework by the question it answers. AISVS adds a fourth question, and OWASP positions it as supplying “the detailed controls to mitigate” the two Top 10 lists:

Framework The question it answers
OWASP LLM Top 10 What can go wrong?
OWASP Agentic Top 10 What can go wrong when it acts?
MITRE ATLAS How do adversaries actually operate?
OWASP AISVS What do I verify, and how would someone confirm it?
Security for AI Blueprint What do I deploy, and who owns it?

The first three describe threats. AISVS and the Blueprint describe responses – AISVS at the application, the Blueprint at the platform. A finding from the Top 10 lists becomes an AISVS requirement to verify and a Blueprint layer to deploy.


Choosing Your Level

Every AISVS requirement carries a level, and the level is the mechanism that stops a 191-item list from being unusable.

Level Scope Applies to
1 Essential baseline every AI system should meet All AI applications, including internal tools
2 Standard controls for sensitive data or consequential decisions Production and customer-facing systems, anything handling personal data
3 Advanced controls for high-assurance environments Safety-critical, regulated, high-value targets

OWASP’s guidance is that most production systems should target Level 2. The distribution is deliberately front-loaded: of the 191 requirements, 51 are Level 1, so a team starting from nothing has a bounded first target rather than an aspirational one.

Level selection is a decision about consequence, not about effort

The temptation is to pick Level 1 because Level 2 looks expensive. Read the level definitions again and note that they key on what the system can do to someone, not on how much work the controls are. An internal tool with a write-capable tool binding is making consequential decisions, whatever its user count. The question Section 9 asks of a scan finding is the same one to ask here: not how sophisticated the attack is, but what it could reach.

The ownership split is the same one running through all of Chapter 3. A platform team can satisfy C4 (Infrastructure) and much of C5 (Access Control) on your behalf, and no platform team can satisfy C2, C7 or C9 for you – those are properties of the application you wrote. Run Section 9’s ownership table alongside your level choice and mark each chapter ours, theirs, or shared before you start evidencing anything.


LEARN: The Recall Overlay

Five letters, covering the application-level practices this course has taught across all three chapters. Each one is an index into AISVS, not a substitute for it.

Letter Remember Verify against
L Linguistic Shielding – everything entering the context is untrusted v1.0-C2 Input Validation
E Execution Supervision – bound what the agent may do and undo v1.0-C9 Orchestration & Agentic Security
A Access Control – separate, scoped credentials per function v1.0-C5 Access Control & Identity
R Robust Prompt Hardening – test the prompt, do not trust it v1.0-C11 Adversarial Robustness, v1.0-C7 Model Behavior
N Nondisclosure – inspect what leaves v1.0-C7 Model Behavior, v1.0-C2.2 Content & Policy Screening

L – Linguistic Shielding

Treat every element of the context window as untrusted input, not just the user’s message.

What actually works, and each item maps to a requirement:

  • Normalise before inspecting – v1.0-C2.1.1 requires input normalisation before tokenization or embedding, and v1.0-C2.1.2 requires that encoding and representation smuggling be detected and mitigated. This is Chapter 2’s filter-evasion finding turned into a check: a filter that tokenizes differently from the model is inspecting a different string.
  • Screen every steering input, not the prompt field – v1.0-C2.1.3 requires that “all inputs that could steer model behavior” be treated as untrusted and screened. Retrieved documents, tool outputs, agent messages, uploaded files.
  • Reject over-length input rather than truncating – v1.0-C2.1.4 is explicit that controls “must reject inputs that exceed token limits rather than truncating them”, because silent truncation decides for you which half of a payload survives.
  • Encode reserved special tokens as literals – v1.0-C2.1.7, which closes the special-token injection route Chapter 1 Section 4 describes.
Two corrections to how this used to be taught

Delimiters are labelling, not a boundary. Wrapping user content in <user_input> tags does not create a privilege level – Chapter 2 Section 2 is built on the fact that the context window has none. Delimiters are useful only if the content cannot close its own envelope, which means stripping any delimiter sequence the content itself contains before assembly. A delimiter strategy without that escaping step is decoration.

An instruction hierarchy is real, and you do not implement it in application code. v1.0-C2.1.6 requires that “the system enforces an instruction hierarchy in which system and developer messages override user instructions and other untrusted inputs, even after user instructions have been processed” – note it says the system, not your code. The mechanism is training-time: Wallace et al. (2024) trains models on a synthetic hierarchy so they learn to privilege system and developer instructions. You satisfy this requirement by selecting a model that has one – a Layer 2 decision – and by supplying the provenance labels it consumes, as Layer 5 describes. Writing code that asserts the hierarchy satisfies nothing, and evaluations find compliance is partial and degrades under conflict.

And carry Chapter 2’s verdict on the whole letter: input filtering is a cost-raiser, not a boundary. v1.0-C2 is worth every requirement in it, and the measured residual on the best production guardrail on record is still low single digits.

E – Execution Supervision

Bound what the agent may do, and what it may do irreversibly. This is v1.0-C9, the largest chapter in the standard, and the one where AISVS is most obviously ahead of common practice.

  • Budgets and circuit breakers – v1.0-C9.1.1 and C9.1.2 require per-tool quotas and per-execution budgets (recursion depth, token use, monetary spend) enforced by the runtime, and C9.1.3 requires a swarm-level kill switch.
  • Approval gates on the irreversible subset – v1.0-C9.2.1 requires the runtime to block privileged, high-impact or irreversible actions pending verified human approval. This is Layer 4’s human-in-the-loop enforcement expressed as a check.
  • Reversibility classification – v1.0-C9.2.3 requires each high-impact action to carry a trusted classification (read-only, reversible, externally reversible, irreversible), and C9.2.4 requires the runtime to act on it. This is the structural version of the advice Chapter 2 keeps giving: gate the irreversible subset, not everything.
  • Isolate untrusted data from tool-calling – v1.0-C9.3.5 requires that “components processing untrusted data are isolated from tool-calling capabilities, ensuring that compromised data processing cannot trigger unauthorized tool invocations.” That single requirement breaks the lethal trifecta at its third leg without needing to detect anything.
  • Verify externally-named resources before invoking them – v1.0-C9.3.7 requires that resources named in model output be checked against an allow-list before the agent installs or invokes them.
Correction: what the Cursor MCP cases actually show

This section previously said Cursor’s MCP exploitation succeeded “without supervision” and that an approval workflow would have blocked it. Both Cursor CVEs say the opposite, and the difference is the lesson.

CurXecute (CVE-2025-54135): Cursor executed newly added MCP entries immediately, before the approval prompt. The approval existed. It ran too late. That is v1.0-C9.2.1’s word “until” doing real work – a gate that fires after execution is not a gate.

MCPoison (CVE-2025-54136): the approval was bound to the server’s name rather than its contents, so a teammate’s genuine approval carried over to a silently swapped command. The judgement was sound and the approved thing changed. That is v1.0-C9.2.8, which requires approvals to be “cryptographically bound to action parameters, requester identity, execution context, and a unique single-use nonce.”

Neither case is fixed by adding an approval step. One needs the gate to precede execution; the other needs the approval bound to what was approved. “Add human approval” is not a control until you specify when it fires and what it is bound to.

A – Access Control

Separate, scoped credentials per function, enforced outside the model. v1.0-C5, with the agentic identity requirements in v1.0-C9.4.

  • Default-deny on every AI resource – v1.0-C5.2.1 covers datasets, endpoints, vector collections, embedding indices and compute instances with explicit allow-lists.
  • Carry the end user’s authorization into retrieval – v1.0-C5.2.2 requires retrieval pipelines to enforce the end-user’s authorization context at each retrieval and assembly stage “rather than relying solely on” the service’s. This is the single most commonly missed requirement in RAG systems, and it is the mechanism behind most “the assistant showed me someone else’s document” incidents.
  • Filter after inference too – v1.0-C5.2.4 requires post-inference filtering to prevent responses including data the requester is not authorised to receive, because retrieval scoping and generation are different failure points.
  • Agents are principals – v1.0-C9.4.1 requires each agent instance to hold a unique cryptographic identity and authenticate as a first-class principal downstream. An agent borrowing a shared service account is unattributable by construction.
  • Isolate the policy decision point – v1.0-C5.2.5 requires the agent’s authorization decision point to sit outside the agent’s execution environment. An agent that can reach its own policy engine has no policy engine, which is the same structural error as CVE-2025-53773 below.

Credentials never go in the system prompt, the conversation, or memory. Chapter 2 established that anything in the window is reachable by anyone who can talk to the model.

R – Robust Prompt Hardening

Here the honest framing has changed most, and it is worth being blunt: you are testing the prompt, not trusting it.

The earlier version of this section taught role boundaries “the model cannot be talked out of.” Chapter 2 Section 2 exists to disprove exactly that. Alignment and role adherence are probabilistic, phrasing-sensitive, provider-set properties, and no wording makes a system prompt a boundary. Prompt hardening raises cost. It does not hold.

What survives, and what to verify:

  • Adversarial testing as a standing requirement – v1.0-C11 Adversarial Robustness is a chapter, not a technique, and this is where prompt hardening earns its place: you measure whether your phrasing survives, you do not assert it. ATLAS names the same practice AML.M0035 AI Red Team, and Section 9’s loop is how the results stop decaying.
  • Output format enforcement – v1.0-C7.1 treats structure as a control: an output constrained to a schema cannot carry a paragraph of leaked instructions.
  • Detect hidden and encoded content in outputs – v1.0-C7.3.4 covers homoglyphs, formatting, metadata and structured fields, which is the return path of the evasion families in Chapter 2.

The practical rule: keep the system prompt short, put nothing in it that would hurt if published, and hold your defence in the action scope rather than the wording.

N – Nondisclosure

Inspect what leaves, and constrain what the output can trigger.

  • Block system prompt and backend disclosure – v1.0-C7.3.2 requires output filters that detect and block responses disclosing system prompt content or backend data. This is LLM08: Hidden Context Exposure, covered as an attack in Chapter 2 Section 6.
  • Classify every response – v1.0-C7.3.1 requires automated classifiers on every response against defined harmful content categories.
  • Prevent output from triggering outbound requests – v1.0-C7.3.3, and this one deserves attention out of proportion to its length. It is the EchoLeak control: the exfiltration leg of that attack was a rendered image request to an allowlisted proxy. An output that cannot cause a fetch cannot exfiltrate through a renderer.
  • Propagate classification labels downstream – v1.0-C5.2.7 carries data classification into embeddings, prompt caches and model outputs, which is Layer 1’s discipline extended to the artifacts your application creates.

What LEARN Does Not Cover

This is the section that justifies the standard, and leaving it out is how a mnemonic quietly becomes a ceiling.

LEARN’s five letters reach five chapters. Six of the twelve have no letter at all:

Uncovered chapter Why it has no letter Where the course has already met it
v1.0-C1 Training Data Integrity Not usually the app developer’s artifact – but it is somebody’s Layer 1, Chapter 2 Section 3
v1.0-C3 Model Lifecycle & Change Control Feels like MLOps, fails like security: an unreviewed model swap changes behaviour under a passing test suite Layer 2, Section 9’s re-scan triggers
v1.0-C6 Supply Chain for Models Weights, adapters and dependencies Layer 2, nullifAI in Chapter 2 Section 3
v1.0-C8 Memory, Embeddings & Vector DB The biggest gap. Durable state is where WarningASI06: Memory and Context Poisoning lives Layer 1, Layer 5
v1.0-C10 MCP Security 23 requirements. The course teaches three MCP incidents and had no verification counterpart Chapter 2 Section 5
v1.0-C12 Monitoring & Logging You cannot investigate what you did not record Layer 6, AML.M0024

Two of these deserve singling out because the course has spent real time on the attacks and never on the checks.

Memory (v1.0-C8). Chapter 2 Section 5 rates ASI06 the worst agentic category to already have – both invisible to the user and indefinitely persistent. The chapter is small and specific: C8.1.3 requires retrieval operations to enforce scope constraints, C8.1.2 makes document metadata tags immutable after the initial write, C8.3.2 requires that memory can be reset, and C8.3.3 requires quarantined content to be retained but excluded from retrieval. That last pair is the incident-response capability for a poisoned memory, and most systems discover they lack it during the incident.

MCP (v1.0-C10). Three of this course’s case studies are MCP incidents – CurXecute, MCPoison, and the postmark-mcp rug pull. The chapter answers them directly: C10.1.2 allow-lists MCP servers, C10.1.3 requires locally launched servers to run in a least-privilege sandbox, C10.2.5 requires access control on every tool invocation validating both the tool and the specific argument values, and C10.2.7 forbids passing client tokens through to downstream APIs.

The gap is the point

A mnemonic covers what its letters spell. That is its strength for recall and its weakness as a checklist, and the failure is silent – nobody notices the chapter that has no letter. Use LEARN to remember; use the chapter list to be complete. If you take one habit from this section, make it running the twelve-chapter list rather than the five-letter one when the question is “what have we missed?”


Worked Example: Verifying an Agent Against v1.0-C9

Take the incident Section 9 closes on and run it the other way – from the attack to the requirements that would have failed the review.

The incident. Injected text in repository content caused GitHub Copilot to write "chat.tools.autoApprove": true into .vscode/settings.json, disabling every confirmation prompt, after which it executed arbitrary commands with the developer’s privileges. Wormable, because the payload could be committed back.

What a v1.0-C9 review would have flagged, before the CVE existed:

Requirement The check Verdict on Copilot as shipped
v1.0-C9.2.5 “any self-modification capability (e.g., prompt rewriting, tool-list changes, parameter updates) is restricted by enforceable boundaries” Fail. The agent could rewrite the file governing its own approvals
v1.0-C9.2.1 Runtime blocks high-impact actions until approval is received and verified Fail. The settings write took no approval at all
v1.0-C9.3.5 Components processing untrusted data isolated from tool-calling Fail. Repository content was read into the same context that held file-write capability
v1.0-C9.2.3 Each high-impact action carries a reversibility classification Fail. A config write that disables approvals is the most consequential write in the system and was classified as an ordinary file operation

Four Level 1 and Level 2 failures, all findable at design review, none requiring knowledge of the specific attack. That is the argument for a verification standard in one table: C9.2.5 was not written in response to CVE-2025-53773 – it describes the class, and any agent that can edit its own approval configuration fails it whether or not anyone has published an exploit yet.

Compare that with what Section 9’s loop could do here. SCAN would have found that the agent follows instructions in files it reads. PROTECT could not have caught the payload as text, because it was an ordinary sentence about a configuration setting. The loop finds the susceptibility; the standard names the structural control. Neither replaces the other, and this incident needed both.


Section 10 → OWASP Mapping

Application-level verification is not a layer, so it does not own categories the way Layers 1-6 do. What it does is give each category a checkable counterpart, which is what the master mapping has been pointing at all along.

Category Verify against What still cannot be verified here
LLM01: Prompt Injection v1.0-C2.1 – normalisation, smuggling detection, screening of all steering inputs That the filter holds. The residual is a design assumption, not a checkbox
LLM02: Sensitive Information Disclosure v1.0-C5.2.4 post-inference filtering, v1.0-C7.3.2 disclosure blocking Memorised training data – that is v1.0-C1 and Layer 1, upstream of the application
LLM03: Excessive Agency v1.0-C9.2 approvals and reversibility, v1.0-C9.3 isolation and tool authorization Nothing structural – this is the category AISVS covers best and the one LEARN covered worst
LLM08: Hidden Context Exposure v1.0-C7.3.2 output filters for system prompt content That the context stays secret. Keep nothing in it that would hurt if published
LLM09: Vector and Embedding Weaknesses v1.0-C8.1 retrieval scope and tenant isolation, v1.0-C8.2 embedding sanitisation Corpus curation upstream – Layer 1
LLM10: Improper Output Handling v1.0-C7.1 format enforcement, v1.0-C7.3.3 no output-triggered outbound requests The sink’s own encoding. Each consumer encodes for itself
WarningASI01: Agent Goal Hijacking v1.0-C9.3.5 untrusted-data isolation, v1.0-C9.1 budgets and circuit breakers Detection of the hijack itself – Layer 6 sees consequences
WarningASI03: Identity and Privilege Abuse v1.0-C9.4.1 per-agent cryptographic identity, v1.0-C5.2.5 isolated policy decision point Human misuse of legitimate access – Layer 4
WarningASI04: Agentic Supply Chain Vulnerabilities v1.0-C10.1 MCP component integrity and allow-listing, v1.0-C6 model supply chain A rug pull after approval – v1.0-C10.1.2 bounds it, nothing eliminates it
WarningASI06: Memory and Context Poisoning v1.0-C8.1.2 immutable metadata, v1.0-C8.3.2 memory reset, v1.0-C8.3.3 quarantine A poisoned entry that reads as an ordinary preference. Nothing here flags it

Read the third column and the pattern matches every layer section in this chapter: verification establishes that a control exists and is correctly built. It never establishes that the control cannot be beaten. A fully-passing AISVS Level 2 assessment is a strong statement about your engineering and not a statement about your adversary.


Blueprint, LEARN, AISVS: Which to Reach For

You are… Reach for Because
Designing the platform Blueprint It is organised by what you deploy and who owns it
In a design review, from memory LEARN Five letters you can hold in your head, indexing the right chapter
Writing or reviewing application code AISVS, at your target level Testable, specific, and someone else can check your answer
Answering a supplier questionnaire AISVS with pinned identifiers Vendor-neutral and citable; “we meet v1.0-C9 Level 2” means something
Deciding what to fix first The Top 10 lists, then AISVS Threat prioritisation first, then the requirement that addresses it
Keeping any of it current Section 9’s loop Verification is a point-in-time statement; the loop is what stops it ageing

The last row is the one to internalise, and it is why this section sits after Section 9 rather than before it. An AISVS assessment is true on the day it is signed. The model gets updated, a retrieval source is added, a tool binding changes – and requirements that passed now describe a system you no longer run. Verification and the continuous loop are the same discipline seen from two ends: the standard tells you what “correct” means, and the loop tells you whether you are still it.

Checking this section is still current

AISVS 1.0 was published 24 June 2026 and its 1.0 folder is locked, so every identifier cited here is stable. Later releases land in new version folders and may renumber – a 1.01-dev folder is already open in the repository, which is exactly why the version belongs in the citation rather than in a footnote. Before relying on a citation in your own documents, check the OWASP AISVS repository for the current version, and keep the v1.0- prefix on anything you have already written – that is what makes an old document readable rather than wrong.

Requirement counts quoted in this section come from data/frameworks.yaml, the course’s single source for framework versions, and were verified against the locked 1.0/en folder. Be wary of secondary summaries: several widely-circulated write-ups state chapter and requirement counts that do not match the standard.

Framework versions and counts on this page were verified on 17 August 2026. Counts and versions were checked against each project's own repository or release on the date shown. All of them move; the distinctions they encode do not. Re-check before quoting a number in an audit or a risk register.

Getting started: a first pass at Level 1

A team with no prior assessment should not start at requirement C1.1.1. Start where consequence lives.

  1. Mark ownership per chapter – ours, theirs, shared. C4 and much of C5 usually belong to a platform team. C2, C7 and C9 never do.
  2. Run v1.0-C9 first if you have an agent. It is the largest chapter, it is where the incidents in this course actually happened, and C9.2 alone will usually produce your first real finding.
  3. Then v1.0-C2 and v1.0-C7 – the input and output boundaries of the thing you wrote.
  4. Then v1.0-C8 if you have memory or RAG, and v1.0-C10 if you have MCP. These are the chapters LEARN never pointed you at.
  5. Record evidence, not assertions. “Verified” with no artifact is the thing an auditor will delete first. A test that fails when the control is removed is the evidence.
  6. Feed every failure into the loop as a regression test, so the finding cannot silently return.
Key Takeaways
  • AISVS 1.0 is the application-level answer the Blueprint does not give – 191 testable requirements across 12 chapters at 3 levels, vendor-neutral and citable, published 24 June 2026.
  • Pin the version in every citation. v1.0-C9.2.5, never bare C9.2.5. Identifiers move between versions, and this course has already been through one Top 10 renumber that silently broke every unpinned reference.
  • LEARN is a recall aid, not a checklist. Its five letters reach five of twelve chapters; six have no letter, and the two that matter most are Memory (C8) and MCP (C10) – exactly where this course’s agentic case studies live.
  • An instruction hierarchy is a model property you select, not code you write. v1.0-C2.1.6 requires the system to enforce it; the mechanism is training-time, so you satisfy it by choosing the model and supplying provenance labels.
  • “Add human approval” is not a control until you say when it fires and what it is bound to. CurXecute’s approval ran after execution; MCPoison’s was bound to a name instead of contents. Both had approvals.
  • v1.0-C9.2.5 describes the class, not the CVE. Any agent that can edit its own approval configuration fails it, published exploit or not – which is what a verification standard buys you over an incident list.
  • A passing assessment is a statement about your engineering, not about your adversary, and it is true only on the day it is signed. Section 9’s loop is what keeps it true.

Test Your Knowledge

Ready to test your understanding of AISVS and LEARN? Head to the quiz to check your knowledge.


Up next

You now have the threat lists, the Blueprint, the continuous loop, and a verification standard to hold it all to. What remains is the part no framework can supply: the people. In Section 11 you’ll cover AI red-teaming, incident response for AI systems, and the regulatory frameworks – NIST AI RMF and the EU AI Act – that turn all of this into an organizational practice rather than a project.