On this page

Pattern: Adversarial Red-Team Suite

A versioned adversarial suite built from a threat taxonomy, run in CI or on a schedule, whose findings are triaged, recorded and fed back as tests.

Layer 03 · Evals & Red Teaming as Evidence In the chapter 05 catalogue

Summary: Maintain a versioned adversarial test suite, built from a threat taxonomy and run in CI or on a schedule, whose findings are triaged into fixes or accepted risks, recorded as evidence, and fed back into the suite. Where an Eval Gate proves a threshold still holds, the red-team suite is the standing adversary that keeps finding the inputs the threshold never anticipated.

Adversarial Red-Team Suite A workflow diagram generated by Archify. 01 / Threat taxonomy 02 / Layer 03 Evals & Red Teaming as Evidence 03 / Evidence EX / Accepted risk Build and version Run and triage Close and record Threat taxonomy · named techniques · Threat taxonomy › Build and version Threat taxonomy named techniques Red-team suite · versioned with model · Layer 03 Evals & Red Teaming as Evidence › Build and version Red-team suite versioned with model Run the suite · findings per technique · Layer 03 Evals & Red Teaming as Evidence › Run and triage Run the suite findings per technique Triage · fix / accept · Layer 03 Evals & Red Teaming as Evidence › Run and triage Triage fix / accept Fix shipped · regression case · Layer 03 Evals & Red Teaming as Evidence › Close and record Fix shipped regression case Evidence record · against registry · Evidence › Close and record Evidence record against registry Risk accepted · owner, rationale · Accepted risk › Close and record Risk accepted owner, rationale record record triage run derive accept fix Legend Agent logic Policy Context / trace External system
Adversarial Red-Team SuiteA versioned adversarial suite built from a threat taxonomy runs in CI or on a schedule, and every finding is fixed or accepted on the record and filed as evidence, with fixes feeding back into the suite. Treat red-team findings like test failures, with an owner and a deadline. Generated from the Body of Knowledge.Open interactive diagram (opens in a new tab)

Objectives

Turn adversarial testing from a one-off exercise into a maintained, versioned control that discovers failure modes before an attacker does and leaves a triaged, auditable record of every finding.

Target users

AI governance engineer, security engineer, ML engineer, red-team lead.

Impacted stakeholders

Model owners, users exposed to the system, incident responders, auditors, regulators.

Relevant principles

Start from a named failure mode or harm; give every control teeth.

Context

A model or agent whose exposure grows as it gains tools, prompts and reach, in an organisation that already runs an Eval Gate for regression and wants a standing adversary rather than a single pre-launch penetration test.

Problem

A one-off red-team is out of date the moment the system changes, and its findings, a slide of jailbreaks, leave no trace that they were fixed or accepted. Without a versioned suite and a triage record, the same attack is rediscovered every quarter and no one can prove which findings were closed.

Solution

Build the suite from a threat taxonomy rather than intuition: draw techniques from MITRE ATLAS’s adversarial tactics and techniques for AI systems 1 and the agentic attack classes in the OWASP Top 10 for Agentic Applications2, so each test traces to a named technique. Version the suite alongside the model and run it in CI or on a schedule against the registered version. Route each finding through triage (fix, or accept with a recorded rationale and owner) and file the outcome as a structured evidence record against the registry entry. Feed every confirmed finding back into the suite as a regression test, so a closed attack stays closed. The suite complements the Eval Gate: the gate enforces a threshold on each release, the suite is the adversary that generates the next one.

From threat model to test plan

A suite built from a taxonomy still needs a reason for each case. That reason is the threat model of the system as deployed, and the step that turns one into the other is written down, so a reviewer can see why the suite contains what it contains and what it leaves out.

  1. Decompose the system. Draw the data flows as they run: users, the application, retrieval, the model, the tools and their credentials, memory, and every downstream consumer of outputs. Mark each trust boundary, and mark which components you own and which a provider runs.
  2. Enumerate threats per element, by id. Walk each element against the AI-specific catalogues: the OWASP Top 10 for LLM Applications 2026 for the model as a component3, the OWASP Top 10 for Agentic Applications for tools, memory and delegation2, MITRE ATLAS techniques for the attacker’s path 1 and the NIST adversarial machine learning taxonomy for attacks on predictive and generative models, such as evasion, poisoning and privacy attacks4. NIST’s secure development profile for generative AI asks for exactly this: risk modelling that includes AI-specific vulnerability and threat types (PW.1.1)5. Record each threat with its external id, so the model reads LLM01:2026 or AML.T0051, not “injection risk”.
  3. Name the control and the test that proves it. For each threat in scope, write the control expected to stop it and the test that would fail if the control did not work. The test becomes a suite entry in the release’s test plan, which validates against test-plan.v1.json: a versioned suite id, the category (adversarial, security, privacy), the metric, a threshold fixed before testing, the failure mode it guards against and whether a failure blocks the release.
  4. Tag every case with its threat ids. A case carries the ids of the threats it exercises, and a finding inherits them, so a finding traces from technique to control to the eval that now guards it, and a coverage report can list the in-scope threats that no case exercises yet.
  5. Record what is out of scope, and why. A threat the system cannot face (no tools, no memory, no personal data) is closed with a reason; a threat you cannot test (a provider’s weights) is routed to the Vendor / Model Due-Diligence Gate as provider-attested evidence. Re-run the step when the data flows change: a new tool, a new corpus, a new model.

The threat bridge holds the result of steps 2 and 3 as open data: each row takes an external threat id to the patterns that control it, an example eval that tests it and the obligations the evidence helps satisfy.

# one entry of the test plan's `suites`, derived from a threat (illustrative)
suite_id: indirect-injection.v4
category: adversarial
metric: attack success rate on planted instructions in retrieved documents
threshold: "<= 0.02"
direction: lower_is_better
failure_mode: >-
  agent follows instructions found in retrieved content
  (LLM01:2026, ASI01, AML.T0051.001, NISTAML.015)
blocking: true

Consequences

Adversarial coverage grows over time instead of resetting each launch, and the triage record shows what was found, fixed or accepted. The cost is maintaining the taxonomy and suite, the compute to run adversarial cases often, and the discipline to triage every finding rather than let it lapse. The threat-model step adds its own upkeep: the model goes stale the day a tool or a corpus is added, so it has to be re-run on change, not once a year.

Eval Gate in CI; Runtime Guardrail; Continuous Assurance Telemetry; Incident Pipeline; Vendor / Model Due-Diligence Gate.

Maps to: EU AI Act Art. 9, Art. 15, Art. 55 (GPAI) · ISO/IEC 42001 · NIST AI RMF (Measure) · OWASP Agentic ASI01/ASI02 · Layer 03 Evals & Red Teaming as Evidence.

Threat IDs follow the OWASP Top 10 for Agentic Applications 2026 2 and function labels the NIST AI RMF6. Mappings are illustrative, not a claim of conformity.

Sources

  1. [1] MITRE ATLAS: adversarial tactics and techniques knowledge base for AI systems (incl. agents). MITRE. 2026. https://atlas.mitre.org/ (verified: primary)
  2. [2] Top 10 for Agentic Applications 2026 (ASI IDs). OWASP GenAI Security Project. 2025-12-09. https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/ (verified: primary)
  3. [3] OWASP GenAI LLM Top 10 2026 (LLM01 Prompt Injection to LLM10 Improper Output Handling; published 3 Aug 2026; canonical Markdown in github.com/GenAI-Security-Project/GenAI-LLM-Top10, 2026/final). OWASP GenAI Security Project. 2026-08-03. https://genai.owasp.org/resource/owasp-genai-llm-top-10-2026/ (verified: primary)
  4. [4] NIST AI 100-2 E2025, Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations (predictive and generative AI attack classes with NISTAML identifiers). NIST. 2025-03-24. https://csrc.nist.gov/pubs/ai/100/2/e2025/final (verified: primary)
  5. [5] NIST SP 800-218A, Secure Software Development Practices for Generative AI and Dual-Use Foundation Models: An SSDF Community Profile (recommendation R1 on SSDF 1.1 task PW.1.1: include AI model-specific vulnerability and threat types in risk modelling). NIST. 2024-07. https://csrc.nist.gov/pubs/sp/800/218/a/final (verified: primary)
  6. [6] AI Risk Management Framework (AI RMF 1.0; Govern, Map, Measure, Manage). NIST. 2023-01-26. https://www.nist.gov/itl/ai-risk-management-framework (verified: primary)
Edit this page on GitHub
Cite this pattern

García Aibar, J. (2026). Pattern: Adversarial Red-Team Suite. In AI Governance Engineering: The Thesis & Body of Knowledge (v0.5.0), chapter 05, Patterns. https://doi.org/10.5281/zenodo.22956197. https://aigovernanceengineer.com/patterns/adversarial-red-team-suite. CC BY 4.0

BibTeX

@misc{aige2026bok,
  author  = {Jorge García Aibar},
  title   = {{AI Governance Engineering: The Thesis \& Body of Knowledge}},
  chapter = {05. Patterns: Adversarial Red-Team Suite},
  year    = {2026},
  version = {0.5.0},
  doi     = {10.5281/zenodo.22956197},
  url     = {https://aigovernanceengineer.com/patterns/adversarial-red-team-suite},
  note    = {Version 0.5.0}
}
Share on LinkedIn