A published taxonomy. Not a regulation.
One paragraph from the abstract carries the load. The document is a taxonomy and a set of terminology. It is descriptive, not prescriptive. It does not say thou shalt. It says if your AI system is attacked, this is the vocabulary auditors and engineers should be using when you describe what happened and what you did about it.
The lineage matters, and it is usually told wrong. The 2019 draft was a different publication in a different series: NISTIR 8269, A Taxonomy and Terminology of Adversarial Machine Learning, October 2019. The first edition under the AI 100-2 identifier is NIST.AI.100-2e2023, published January 2024, and it already carried both taxonomies — predictive AI in § 2, generative AI in § 3. There is no 2024 edition; the identifier NIST.AI.100-2e2024 resolves to nothing. NIST.AI.100-2e2025 (March 2025) restructured the generative-AI material into supply chain, direct prompting and indirect prompt injection, and dropped abuse as a category.
What it is not. It is not an EU harmonised standard. It is not a NIST-issued conformity scheme. It is not, in itself, a defence in any litigation. What it is, in operational terms, is the closest thing engineering teams currently have to a shared dictionary for AI-specific attacks. That makes it the lowest-friction way to translate Article 15(5) of the EU AI Act into a per-decision evidence pattern.
The taxonomy is organised across three axes. The ML method axis distinguishes predictive AI from generative AI. The life-cycle axis separates training-time attacks from inference-time attacks. The attacker-goal axis names what the attacker is trying to achieve, whether that is integrity violation, availability violation, or privacy violation. The attack classes sit at the intersection of those axes — three for predictive AI in § 2, three for generative AI in § 3.
Evasion · adversarial inputs at inference time.
An evasion attack is an inference-time attack on a predictive AI system. The model is already trained. The training pipeline is untouched. The attacker modifies the input so that the model's output is wrong in a way that benefits the attacker.
The canonical example is the adversarial image. A photograph of a stop sign with a precisely calibrated perturbation invisible to humans, classified by a vision model as a speed-limit sign. The mathematics generalises. Tabular features in a credit-scoring model. Tokenised text in a sentiment classifier. Network packets in an intrusion-detection system.
NIST AI 100-2 names the attacker's knowledge on a three-step ladder — § 2.1.4, "There are three main types of attacks: White-box … Black-box … Gray-box". Capability is a separate axis, § 2.1.3, and it has six entries rather than three: training data control, model control, testing data control, label limit, source code control, query access. White-box assumes the attacker has the model architecture and weights. Gray-box assumes partial knowledge, often the architecture but not the weights, or a known training corpus. Black-box assumes only query access through the production interface.
The engineering implication for the evidence record is direct, and it is a target rather than a description of anything shipped — Warrant carries no such field today, which § 8 states plainly. For any predictive decision an agent takes, an evidence record worth the name would carry the input that produced the decision and a typed indicator of whether that input passed an adversarial-input check. The check itself is layered. Statistical detection on input distribution. Distance from training-set neighbours. Optionally, a model-specific certified-bound check.
What the trace must not claim is immunity. NIST AI 100-2 is explicit that no current defence eliminates evasion. The honest signal is detection coverage with a known false-negative rate, not a binary passed.
Poisoning · training-time attacks.
Poisoning is the training-time counterpart to evasion. The attacker has access to the training data, or to some part of it, or to the pipeline that ingests it. The poisoning is in the corpus, not in the request.
NIST AI 100-2 separates poisoning by attacker goal, and the section headings are the names to use. Availability poisoning degrades the model's accuracy generally (§ 2.3.1). Targeted poisoning causes incorrect outputs for specific inputs while leaving general accuracy intact (§ 2.3.2) — NIST's term is targeted, and the phrase "integrity poisoning" occurs nowhere in the publication. Backdoor poisoning installs a hidden trigger pattern such that any input carrying the trigger is misclassified to an attacker-chosen label (§ 2.3.3). Model poisoning modifies the trained parameters directly (§ 2.3.4).
The relevant capability is NIST's training data control — "control of a subset of the training data" (§ 2.1.3) — with label limit distinguishing clean-label from regular poisoning. Full corpus control is the textbook case. Partial contamination is the realistic one in 2026 supply chains: a few percent of an open dataset, or a single internet source that gets scraped.
Supply chain is deliberately absent from that grid. In e2025 the AI supply chain is a top-level class of the generative-AI taxonomy, § 3.2, sitting alongside direct prompting and indirect prompt injection rather than underneath poisoning. Poisoning that arrives through a foundation model, a third-party dataset or a fine-tune from an unknown source is a supply-chain attack in NIST's structure, and the provenance gap is the vulnerability.
The evidence pattern for poisoning is upstream of the per-decision trace. It lives in metadata about the model, not the request. Training-data provenance, dataset hashes, source attestation for fine-tune corpora, the integrity of any retrieval-augmented index. NIST AI 100-2 does not prescribe the artefacts. It names the class so that auditors can ask the right question.
For a 2026 generative-AI deployment, the operational reality is that almost no provider can prove the absence of poisoning in a foundation model. The defensible posture is documented provenance for everything inside the deployer's control, and a contractual chain of attestations for everything outside it. That is the cybersecurity posture Article 15(5) asks for, read alongside the technical documentation under Annex IV.
Privacy · extracting from the model.
The third class is privacy attacks. The attacker is not trying to misclassify an input or corrupt the training pipeline. The attacker is trying to extract information about the training data, the model parameters, or the individuals whose data was used to train.
NIST AI 100-2e2025 organises § 2.4 into four numbered sub-sections: Data Reconstruction (§ 2.4.1), Membership Inference (§ 2.4.2), Property Inference (§ 2.4.3) and Model Extraction (§ 2.4.4). Its own enumeration of privacy attacks adds training data extraction and attribute inference as named terms. Model inversion is not one of NIST's classes — it is the Fredrikson 2015 attack discussed inside Data Reconstruction, where NIST records that it "cannot directly reconstruct the training data of the model".
Capability ranges from query-only access through full model-weights access. Against privacy attacks, differential privacy is the mitigation with the strongest formal guarantee — NIST calls it "a rigorous notion of privacy" that protects against membership inference and data reconstruction — at a measurable cost in utility. It is not the taxonomy's only formal guarantee: certified defences give provable bounds elsewhere, for evasion and for data poisoning. Everything else in the privacy column is empirical hardening: query rate-limiting, output filtering, post-hoc memorisation audits.
The record that would carry this is narrow: whether the action touched a privacy-sensitive surface, and if so, which differential-privacy or output-filtering control was active. No such field exists in a Warrant package today (§ 8). Stated as a design target rather than a feature: an artefact of this kind would not claim the model is private — it would record what privacy posture was in force at the time of the decision.
The prompt surface · where the GenAI attacks live.
This is the material the generative-AI half of the taxonomy has carried since e2023, and in the 2025 edition it occupies two numbered sections rather than one class. With generative AI in widespread production, the attacker stopped trying to break the model and started trying to instruct it.
What these sections cover is adversarial use of generative AI systems. The model is functioning correctly in the predictive-AI sense. The vulnerability is that functioning correctly for a chat or agent system means doing what the input asked. When the input is hostile, the model executes the hostile instruction. The threat surface is the prompt.
A note on the label. The 2025 edition does not organise this material under a heading called Abuse — that word appears in its keyword list and nowhere in its section structure. The taxonomy splits the same ground into § 3.3 Direct Prompting Attacks and § 3.4 Indirect Prompt Injection Attacks, each carrying its own availability, integrity and privacy sub-cases. Jailbreak is not a third peer class; NIST places it inside direct prompting. Cite the section numbers, not the informal name.
Indirect prompt injection is the same instruction delivered through content the model reads from somewhere else. NIST ties it to runtime context assembly: these attacks "depend on the attacker's ability to modify external sources of information that will be ingested into the model context, even if not provided directly by the primary system user" — § 3.1 Attack Classification, not § 3.4. A retrieved document, a tool's return value, an email body, a web page.
The capability story differs from predictive AI. Black-box is the default. The attacker rarely needs weights. They need the prompt surface, plus, increasingly, any path through which untrusted content reaches the model. For a retrieval-augmented agent, every retrieval source is a prompt-injection vector. For a tool-using agent, every tool's return value is.
The mitigation story is empirical and unsettled. System-prompt hardening, instruction-tuning for resistance, content classifiers on inputs, content classifiers on outputs, structural separation between trusted system instructions and untrusted user or retrieved content. NIST AI 100-2 enumerates the techniques without ranking them. The 2026 honest engineering answer is layered defence with structured per-decision evidence of which defences were in force.
Mitigation taxonomy · what defences map to what attacks.
NIST AI 100-2 pairs the attack taxonomy with a mitigation taxonomy. Three observations matter for engineering teams.
First. Mitigations have capability and knowledge requirements of their own. Adversarial training requires retraining the model on adversarially perturbed examples. Certified defences require model architectures amenable to formal bounds and impose accuracy costs. Differential privacy requires bounded privacy budgets and reduces utility. Data sanitization — NIST's term, alongside label sanitization and model sanitization; "input sanitisation" appears nowhere in the publication — requires distributional knowledge of legitimate inputs. Output filtering requires a classifier downstream of the model.
Second. No mitigation generalises across all six attack classes. A defence that hardens evasion may have no effect on poisoning. A defence that mitigates membership inference may be irrelevant to prompt injection. The taxonomy is explicit on this point.
Third, and most useful for an attestation discipline. The mitigation taxonomy is the natural home for per-decision evidence. The audit question is rarely do you defend against evasion. The audit question is which evasion defence was in force when this decision was taken on this person on this date, and what did it produce. That maps to a structured field in a trace, not a marketing claim in a product page.
Article 15(5) · three subparagraphs.
The technical solutions aiming to ensure the cybersecurity of high-risk AI systems shall be appropriate to the relevant circumstances and the risks.
The technical solutions to address AI specific vulnerabilities shall include, where appropriate, measures to prevent, detect, respond to, resolve and control for attacks trying to manipulate the training data set (data poisoning), or pre-trained components used in training (model poisoning), inputs designed to cause the AI model to make a mistake (adversarial examples or model evasion), confidentiality attacks or model flaws. Regulation (EU) 2024/1689 · Article 15(5), all three subparagraphs · applies from 2 December 2027 (Annex III high-risk)
Three subparagraphs, three jobs. The first, attempts by unauthorised third parties to alter their use, outputs or performance by exploiting system vulnerabilities, is the threat surface. The second, appropriate to the relevant circumstances and the risks, is the proportionality test the regulator will apply when the provider's defence is challenged. The third is the enumeration, and it is the only operative provision in the Regulation that names AI-specific attack types.
The dating matters. Article 15 sits in Chapter III, Section 2, and applies from 2 December 2027 for AI systems classified as high-risk under Article 6(2) and Annex III, and from 2 August 2028 for Article 6(1) / Annex I systems, under Article 113, third paragraph, point (c), as replaced by Regulation (EU) 2026/1744, Article 1(40)(b). The Annex I limb is subject to the limitation inserted as Article 2(13) by Article 1(3) of the same Regulation, which entered into force 27 July 2026. As of 6 August 2026, Article 15 is not yet in application: everything below is preparation for a duty with a date, not compliance with a live one. Source of record for the deferral status: Warrant's regulation corpus at digest 6871ee8b.
The Regulation names attack families in the third subparagraph but does not define the system vulnerabilities behind them, and it cannot: the literature evolves quarterly. So it points to harmonised standards under Articles 40 and 41 to fill in the technical content over time. Until those harmonised standards are published in the Official Journal, providers and notified bodies fall back on the recognised state of the art.
NIST AI 100-2 is one widely recognised statement of that state of the art for AI-specific threats. It is not cited by name in the Regulation. It is not declared by the Commission to confer presumption of conformity. It is, in 2026, the most defensible single document an engineering team can point to when an auditor asks what system vulnerabilities they have in fact considered.
The other side of the bridge is not a recital — it is the third subparagraph of Article 15(5) itself, quoted in full above. Crediting that enumeration to Recital 76 downgrades operative Article text to a non-binding recital, which is the error that costs most. Across the whole Regulation, adversarial examples, model evasion, confidentiality attacks and model flaws each occur exactly once, all four on the single line that is Article 15(5), third subparagraph, and zero times in Recital 76. Recital 76 is narrower: it gives data poisoning and adversarial attacks or membership inference as examples of attacks that leverage AI-specific assets. The Article 15(5) list maps onto the NIST vocabulary almost without translation — data poisoning and model poisoning to § 2.3, adversarial examples and model evasion to § 2.2, confidentiality attacks to § 2.4. For the wider Article 15 obligation (accuracy, robustness, and cybersecurity together), see the Article 15 reading filed alongside. For the application-layer companion taxonomy, see the OWASP LLM Top 10.
What Warrant records today — and what it does not.
Warrant defines no typed evidence field for the NIST attack classes. There is no such field path in any Warrant schema, in any of the four pipeline stages, or in any receipt, and the sample package linked below carries none. What follows is what the code does record, read on 6 August 2026.
The § 6 argument holds: the mitigation taxonomy is the natural home for per-decision evidence, and the audit question is which defence was in force when this decision was taken. What Warrant can show today is one narrow slice of that, plus a provenance record of its own analysis. An auditor reading a Warrant package can verify which obligations were mapped to which action, against which corpus, by which models. They cannot read an evasion, poisoning or privacy posture out of it, and this page will not say otherwise until a field exists.
One thing about the package linked below: it is not evidence for the section above it. It is a specimen from a different domain — an EU lending trace from a Frankfurt bank's lending agent, binding EU AI Act Article 12 and Article 13 and FCA Principle 12 among the five regimes it cites. It maps no Article 15 obligation and carries no adversarial-check field of any kind. It is linked here because the shape of the record is the point, not the regime — per-action obligations with named citations, the corpus digest they were judged against, and a verdict a third party can check without contacting Warrant.
Cross-reference · NIST taxonomy versus OWASP LLM Top 10.
The OWASP LLM Top 10 is the parallel artefact most engineering teams know by name. The two documents serve different functions. NIST AI 100-2 is the taxonomy. OWASP LLM is the prioritised practitioner list.
Version first, because the identifiers move. The item numbers below belong to the original 2023-24 OWASP Top 10 for Large Language Model Applications. OWASP has published two lists since — a 2025 edition on 17 November 2024, and a 2026 edition on 3 August 2026 — and both renumber. Read what follows as a mapping of that original list, and see the OWASP entry filed alongside for the 2025 list item by item. LLM01 prompt injection sits squarely inside NIST § 3.3 and § 3.4. LLM02 insecure output handling intersects those sections and, where outputs feed downstream classifiers, NIST Evasion. LLM03 training-data poisoning is a one-to-one with NIST Poisoning, § 2.3. LLM06 sensitive information disclosure maps to NIST Privacy, § 2.4.
What OWASP adds that NIST does not, and vice versa, is a useful filter. OWASP is more applied: each item is a category of finding an engineer can fix in code or configuration this quarter. NIST is more structural: each class is a frame an auditor can apply across an entire system. A 2026 posture cites the current OWASP GenAI LLM Top 10 alongside the NIST taxonomy, and states which version of each it is citing.
Once Article 15(5) is in application — 2 December 2027 for Annex III high-risk systems — an auditor is likely to accept either as evidence the team considered AI-specific threats systematically. A team that cites neither will be asked which published reference they did consider. The answer cannot be silence.
Questions a security officer asks first.
Read the source directly.
- NIST AI 100-2e2025 · Adversarial Machine Learning · Taxonomy and Terminology of Attacks and Mitigations · PDF
- NIST CSRC publication landing page · NIST.AI.100-2e2025
- ISO/IEC 27090 · Cybersecurity — Artificial Intelligence — Addressing security threats and compromises to artificial intelligence systems · FDIS, not yet published as of 2026-08. Catalogue entry 56581; 56582 is ISO/IEC 27091, a privacy standard.
- Regulation (EU) 2024/1689 · Article 15 · EUR-Lex CELEX:32024R1689
- OWASP project page · Top 10 for Large Language Model Applications · the list has three generations — the original 2023-24 list whose numbering § 09 maps, a 2025 edition published 17 November 2024, and a 2026 edition published 3 August 2026. State which one you are citing.
- Article 15 · the regulator-side reading filed alongside
Authored by Warrant Engineering, the engineering function at Warrant. [email protected]. Editorial commentary on a published technical taxonomy. Not legal advice. The publication identifier NIST.AI.100-2e2025 and the title Adversarial Machine Learning · A Taxonomy and Terminology of Attacks and Mitigations reflect the NIST CSRC final release of March 2025 — Editorial Review Board approval 2025-03-20, with a corrected PDF uploaded 2025-04-01. No NIST source gives a day-precise 24 March date. Where the taxonomy text is paraphrased or summarised, the canonical source is the PDF linked above. Corrected 28 July 2026: § 05 previously carried a quotation block holding a paraphrase marked as unverified. It has been replaced with verbatim text from § 3.3 of the publication, checked against the NIST PDF at nvlpubs.nist.gov on 28 July 2026, and the section is renamed to the numbered headings NIST actually uses — the 2025 edition has no section headed Abuse. Corrected again 6 August 2026, after a clause-by-clause re-verification against the enacted instruments: the four-class framing was replaced with NIST's actual structure (three predictive-AI classes in § 2, three generative-AI classes in § 3); the abstract quotation was restored verbatim; the privacy sub-types, the knowledge-versus-capability axis, the poisoning sub-type names and the mitigation names were corrected to NIST's headings; the edition lineage was corrected (there is no 2024 edition, e2023 published January 2024, the 2019 draft was NISTIR 8269); Article 15(5) is now quoted in all three subparagraphs, and the enumeration of data poisoning, model poisoning, adversarial examples, model evasion, confidentiality attacks and model flaws is attributed to that third subparagraph rather than to Recital 76, which contains none of those four terms; the Article 15 application dates were added; the Article 12(2) per-decision obligation claim was withdrawn; the ISO/IEC 27090 link was repointed from catalogue 56582 (which is ISO/IEC 27091) to 56581 and relabelled as an unpublished draft; the OWASP mappings were dated to the archived v1.1 list; and § 08 was rewritten — it previously described four typed evidence fields that exist in no Warrant schema, pipeline or receipt. Corrected 7 August 2026: the sample-package card in § 08 was labelled only by its counts, which left it open to being read as evidence of the adversarial checks discussed above it. The linked package is an EU lending trace mapping EU AI Act Article 12 and Article 13 and FCA Principle 12 — a different domain to this page's subject — and it is now labelled as such, at the count of five regimes the receipt carries. The OWASP cross-reference in § 09 was relabelled the same day: its item numbers belong to the original 2023-24 list, and the claim about what the OWASP project page currently serves was removed as unquotable.