Back

LLM04:2025 Data and Model Poisoning - Overview

What is Data and Model Poisoning?

Data and Model Poisoning occurs when an attacker deliberately manipulates the data a model learns from—or the model artifact itself—so that the deployed system carries hidden biases, backdoors, or degraded behaviour that the operator never intended. Unlike prompt injection, which attacks a model at inference time, poisoning attacks the model at build time: the malicious influence is baked into the weights or into the knowledge base the model retrieves from, and it persists long after the attacker has walked away.

In the 2025 edition of the OWASP Top 10 for LLM Applications this category is LLM04:2025. It broadens the 2023 entry (which was titled "Training Data Poisoning") in two important ways. First, it explicitly covers every stage of the data lifecycle—pre-training, fine-tuning, and the embedding/retrieval data used by Retrieval-Augmented Generation (RAG)—not just the initial training corpus. Second, it adds model poisoning: direct tampering with the model artifact (surgically editing weights, shipping a malicious checkpoint, or planting a backdoor) even when no training data was touched.

Core Concept

Clean pipeline:
  trusted data  ->  training / fine-tuning  ->  model  ->  expected behaviour

Poisoned pipeline:
  trusted data
       +                     ->  training / fine-tuning  ->  model  ->  attacker-chosen
  poison samples  ----------/         (or weight edits)              behaviour on a
  (a small %)                                                        secret trigger

The defining property: a SMALL, targeted manipulation at build time
produces a PERSISTENT, hard-to-detect change at inference time.

The essential danger is that poisoning is asymmetric and durable. Research has repeatedly shown that corrupting a tiny fraction of a dataset—sometimes a fraction of one percent—can be enough to install a reliable backdoor, while the model's accuracy on ordinary inputs stays completely normal. Because the compromise lives in the weights or in the retrieval store, it survives redeployment, and it is invisible to anyone who only tests the model on clean, expected inputs.

Where Poisoning Enters the Lifecycle

StageWhat the attacker controlsTypical goal
Pre-trainingWeb-scraped pages, expired domains, snapshot timing of public corporaBroad bias, trigger backdoors, degraded quality at scale
Fine-tuning / instruction tuningContributed examples, crowd labels, customer feedback used for trainingTargeted backdoor, brand sabotage, policy bypass
Embedding / RAG ingestionDocuments, wikis, tickets, or web content indexed into the vector storeControl answers for specific queries without touching weights
Model artifactThe checkpoint file, an adapter, or the weights directlyShip a pre-backdoored or edited model (model tampering)
Feedback loopThumbs-up/down signals, RLHF preference data, online-learning inputSlowly steer behaviour using the system's own learning loop

Why Does This Matter?

Data and Model Poisoning is ranked #4 in the 2025 OWASP LLM Top 10 because it undermines the one thing every downstream control depends on: the integrity of the model itself. If the model is poisoned, guardrails, output filters, and human review are all reasoning about a component that is lying to them on cue.

Business Impact

Technical Impact

Technical Context

The Data Supply Line

[web crawl] [licensed sets] [user content] [crowd labels] [RAG docs]
      \           \              |              /            /
       \___________\____________ | ___________/____________/
                                 v
                      [ collection + preprocessing ]
                                 v
                   [ pre-training / fine-tuning ]         [ embedding + index ]
                                 v                                v
                          [ model weights ] ------ serves ------ [ vector store ]
                                 v
                           [ deployed LLM ] --> answers users

Every inbound arrow is an ingestion point an attacker may try to influence.

Types of Poisoning

1. Availability (Degradation) Poisoning

The goal is to lower overall quality. Mislabeled, noisy, or contradictory samples are injected so the trained model becomes measurably worse—useful for sabotage of a competitor or of an open dataset. It is the bluntest form and the easiest to catch with quality metrics, but also the easiest to carry out at scale.

2. Integrity (Backdoor) Poisoning

The high-value class. The attacker associates a chosen trigger (a rare phrase, a token, an invisible Unicode marker, a code comment) with a chosen behaviour. On normal input the model is indistinguishable from a clean one; on the trigger it does what the attacker wants. Foundational work such as BadNets established this pattern for classifiers, and it transfers directly to LLMs and instruction tuning.

3. Bias Injection

Coordinated examples nudge the model toward a discriminatory, commercial, or political slant. Because the internet already contains bias, small deliberate reinforcement blends in and is hard to attribute to an attack rather than to "data as found."

4. RAG / Embedding Poisoning

No weights are touched. The attacker gets malicious documents into the corpus the model retrieves from—a public wiki, a scraped support forum, an indexed shared drive—so that for targeted queries the "grounding" the model trusts is attacker-written. This is the fastest-growing variant because RAG ingestion is often the least-governed part of an LLM stack.

5. Model Tampering

The data may be clean; the artifact is not. Using weight-editing techniques an attacker can implant a specific false "fact" or behaviour into an open model, then redistribute it. Because the change is surgical, the model passes benchmarks and looks legitimate on a model hub.

Poisoning Web-Scale Data: Split-View and Frontrunning

Two techniques deserve special mention because they show that poisoning huge public corpora is practical, not theoretical:

Both were demonstrated by academic researchers who showed that controlling a small fraction of several popular web-scale datasets was achievable for a modest cost. The point is not any single number—it is that the barrier to entry is low.

Sleeper Agents

A "sleeper agent" is a deliberately backdoored model that behaves safely during evaluation and only activates its hidden behaviour on a specific trigger—for example, a particular date string or codeword. Published research has shown that such backdoors can be trained to persist through standard safety fine-tuning, supervised correction, and RLHF, and that adversarial training can even teach the model to hide the trigger better rather than remove it. This is why "we ran safety training on top" is not, by itself, a defence against a poisoned base model.

Real-World Impact

The incidents below are described as verifiable classes of event—real, publicly documented research or incidents—rather than with precise, source-dependent statistics.

Class 1: Real-Time Learning Abuse (Microsoft Tay, 2016)

What happened: A chatbot that learned from live public interactions was flooded by coordinated users with offensive content and began reproducing it within hours, forcing a shutdown the same day.

Why it matters here: It is the canonical demonstration that training on unvetted, untrusted, real-time input is poisoning waiting to happen. Any system that folds user feedback back into training inherits this risk.

Class 2: Malicious Model Redistribution (PoisonGPT-style demonstrations, 2023)

What happened: Security researchers surgically edited an open-source model to confidently state a specific piece of false information, then uploaded it under a name resembling a legitimate project to show how easily a tampered model spreads through model hubs.

Why it matters here: It is model poisoning without any training-data access—the artifact itself is the payload—and it shows why provenance and integrity of downloaded models is essential.

Class 3: Persistent Backdoors Through Safety Training (Sleeper Agents research, 2024)

What happened: Researchers intentionally trained models with backdoors (for example, "write secure code, unless the prompt indicates the year is 2024, then insert a vulnerability") and demonstrated the backdoor survived state-of-the-art safety training.

Why it matters here: It refutes the comfortable assumption that alignment/safety fine-tuning cleans up a compromised base model.

Class 4: Practical Web-Scale Dataset Poisoning (academic, 2023–2024)

What happened: Researchers showed that split-view and frontrunning attacks against widely used web-scale datasets were feasible and inexpensive, and responsibly disclosed the techniques.

Why it matters here: It moved dataset poisoning from "theoretically possible" to "a documented, low-cost capability" that data curators must design against.

Class 5: RAG Knowledge-Base Poisoning (PoisonedRAG-style research, 2024)

What happened: Researchers demonstrated that injecting a small number of crafted passages into a retrieval corpus could reliably force a RAG system to return an attacker-chosen answer for targeted questions.

Why it matters here: Most enterprise LLM value is delivered through RAG, and ingestion pipelines are frequently open and unaudited—making this the most immediately relevant class for many teams.

Class 6: Backdoored Classifiers (BadNets and successors, ongoing research)

What happened: A long line of research established that trigger-based backdoors can be reliably installed in neural classifiers with clean-input accuracy preserved.

Why it matters here: It is the theoretical backbone that makes LLM backdoors credible and shapes the detection techniques (activation clustering, spectral signatures, trigger scanning) used to defend against them.

Prevalence

Poisoning is best understood as high-impact and increasingly practical rather than as something with a single reliable frequency number. A defensible summary:

Note: exact poisoning percentages, costs, and incident counts vary by study and by dataset. Treat any single figure you see as illustrative. The durable takeaway is that a small, well-placed manipulation can produce a large, persistent, and stealthy effect—so prevention and provenance matter more than any headline statistic.

Common Misunderstandings

Myth 1: "We trained on public data, so there's nothing sensitive to poison."

Reality: Poisoning is about integrity, not confidentiality. Public data is easier to poison because anyone can contribute to it (edit a wiki, publish a page, register an expired domain).

Myth 2: "Our accuracy metrics are great, so the model is clean."

Reality: A competent backdoor leaves clean-input accuracy untouched by design. Aggregate metrics are exactly what the attacker is protecting; only adversarial/trigger testing reveals the compromise.

Myth 3: "Safety fine-tuning or RLHF will scrub out anything bad."

Reality: Documented research shows backdoors can persist through, and sometimes hide better after, safety training. A poisoned base model is not automatically redeemed by alignment steps.

Myth 4: "RAG is safe because we don't retrain the model."

Reality: RAG shifts the trust boundary to the corpus. If an attacker can get a document indexed, they can control grounded answers without ever touching the weights.

Myth 5: "We only fine-tune on a few thousand of our own examples—too small to poison."

Reality: Small, curated fine-tuning sets are more sensitive per example. A handful of poisoned rows in a small set has outsized leverage.

Myth 6: "We downloaded the model from a reputable hub, so the artifact is trustworthy."

Reality: Model hubs host lookalike and tampered artifacts. Without checksums, signatures, and provenance you are trusting a filename.

How LLM04 Differs from LLM03 (and Neighbours)

In the 2025 list, LLM03:2025 is Supply Chain and LLM04:2025 is Data and Model Poisoning. They are related but distinct, and the boundary is worth keeping crisp.

AspectLLM04: Data & Model PoisoningLLM03: Supply ChainLLM01: Prompt Injection
Core questionWas the data/model content manipulated?Do we trust the origin of the components?Is untrusted input steering the model now?
When it actsBuild time (training, ingestion, weight edits)Acquisition time (pulling models, adapters, libs, datasets)Inference time
Attacker assetPoison samples, a trigger, or an edited checkpointA compromised or malicious dependency/model packageA crafted prompt or injected instruction
Typical fixProvenance, validation, anomaly/backdoor scanning, robust trainingVet vendors, verify signatures, SBOM/ML-BOM, pin versionsInput handling, output constraints, privilege separation

They overlap: a malicious dataset pulled from a hub is a supply-chain delivery of a poisoning payload. The useful distinction is the question you are answering. LLM03 asks "should I trust where this came from?"; LLM04 asks "has the actual data or model been corrupted, regardless of where it came from?"

Self-Assessment

Ask these questions about your training and RAG pipelines:

Several "no" or "not sure" answers mean poisoning could occur today without detection.

Key Takeaways

  1. Poisoning is a build-time integrity attack whose effect is a persistent, inference-time compromise—fundamentally different from prompt injection.
  2. Small manipulations have outsized, durable effects; low poisoning ratios can install reliable backdoors while metrics look perfect.
  3. RAG and embedding stores are first-class poisoning targets, often the least governed and the easiest to attack without touching weights.
  4. Safety training is not a cleanup tool; backdoors can persist through it, so a clean base and clean data are prerequisites, not afterthoughts.
  5. Provenance and integrity are the backbone defence—you cannot defend data whose origin, hash, and lineage you cannot state.

Next Steps