Securing the AI Supply Chain: Poisoned Models, Malicious Pickles, and Provenance

Chris Rees
25+ years in IT · Pluralsight author, 4.6/5 across 2,000+ ratings

www.skillthropic.comAlmost nobody trains a frontier model from scratch. A modern AI system is an assembly: a base model pulled from a public hub, datasets scraped or bought, a tower of open-source libraries, and a growing ring of plugins and tool connectors. Every one of those pieces is someone else's code and someone else's judgment — which makes the supply chain attack the quietest way into an AI system. OWASP ranks it third on the LLM Top 10 (LLM03), and CompTIA SecAI+ Domain 2 expects you to reason about it end to end. Here's the full attack surface, and the controls that actually hold.
Your AI stack is mostly imported
Trace where the pieces of a typical LLM application actually come from, and the trust problem becomes obvious:
Classic software had this problem too — but AI adds a twist the exam wants you to articulate: model weights are opaque. You can read source code; you cannot read a billion floating-point numbers and spot the backdoor. A tampered library fails a code review. A tampered model passes every functional test you throw at it and misbehaves only on the trigger its attacker chose. That asymmetry is why supply chain thinking matters more for AI than for ordinary software.
This is not hypothetical
The pattern has a track record. In December 2022, the PyTorch project disclosed that its nightly builds had been compromised through dependency confusion: an attacker uploaded a malicious package named torchtriton to the main Python registry, where it shadowed the real dependency from PyTorch's own index — and everyone who installed a nightly build that week also installed code that harvested SSH keys and environment secrets. Nothing about the model was attacked; the stack underneath it was enough.
The model hubs have their own rap sheet. Security researchers scanning public repositories have repeatedly surfaced malicious model files — payloads tucked into pickle checkpoints that open reverse shells on load, uploaded under plausible names and inflated download counts. And the broader software world keeps supplying warnings about how patient supply chain attackers are: the 2020 SolarWinds compromise shipped a backdoor through a vendor's own signed build pipeline, and the 2024 XZ Utils incident came within weeks of planting a maintainer-trust backdoor in half the internet's SSH stack. AI teams inherit all of these dynamics at once — registries, build pipelines, maintainer trust — plus the opaque-weights problem that is uniquely theirs.
Attack surface 0: the data you inherit
Before a model ever reaches you, its training data went through the same untrusted pipeline. Web-scale datasets are lists of URLs and snapshots, and researchers have shown both ends can be gamed: buy expired domains that a popular dataset still points at, and you control what future training runs download from those URLs (split-view poisoning); or time malicious edits to public wikis just before a known snapshot date. The dataset's curators audited one view of the web; the training run saw another. Add licensing and IP contamination — data the publisher had no right to train on — and "where did the data come from" stops being a compliance nicety and becomes a security question, which is exactly how SecAI+ frames data provenance in Domain 1.
Attack surface 1: the model file itself
The bluntest attack doesn't touch the weights at all — it rides in the file format. For years the dominant format for sharing models was Python's pickle serialization, and pickle has a famous property: loading a file can execute arbitrary code. A model shared as a pickle isn't data — it's a program you run by opening it. Malicious models planted on public hubs have carried reverse shells and credential stealers in exactly this wrapper; scanners have flagged thousands of suspicious model files across public repositories.
The fix is structural, not vigilance: prefer safetensors or similar weights-only formats that physically cannot embed code, load anything legacy in a sandbox, and treat "just open the checkpoint" with the suspicion you'd give a random .exe.
Attack surface 2: the model's behavior
The subtler attack ships a model that is exactly what it claims to be — a working model — with hostile behavior inside:
- Backdoored models. A backdoor is trained-in: the model performs normally on every benchmark, but a trigger phrase flips its behavior — misclassifying, leaking, or following injected instructions. Our data-poisoning deep dive covers how these get planted; the supply chain lens adds where: you inherit every poisoned example the model's publisher trained on, knowingly or not.
- Typosquatting and impersonation. Attackers upload models (and Python packages) named one character off from famous ones, or clone a real organization's page. Download counts and stars are trivially inflatable.
- Poisoned fine-tunes. A clean base model, fine-tuned by a third party on data you never see, is a new model wearing a trusted name.
Attack surface 3: everything around the model
The rest of the AI supply chain is classic software supply chain, amplified by the ecosystem's speed:
- Libraries and frameworks. The ML stack is deep — serving engines, tokenizers, CUDA layers, orchestration frameworks — and each has shipped real vulnerabilities. A compromised or vulnerable dependency can exfiltrate every prompt and response that passes through it.
- Plugins, tools, and MCP servers. Every connector you attach to a model is code from someone else that acts with the model's authority. A malicious or compromised tool server doesn't need to attack the model — the model will call it, feed it data, and trust its responses. Walk the chain once and it clicks: a team installs a community "document tools" server; its tool descriptions — text the model reads on every turn — carry injected instructions; the assistant, following what looks like tool documentation, quietly forwards conversation context to an attacker-controlled endpoint on its next call. That's prompt injection delivered through the supply chain, meeting excessive agency at the worst possible spot.
- Hosted APIs. Using a vendor's model outsources the whole stack — and inherits their breach, their retention policy, and their subprocessors. Vendor assessment (SecAI+ Domain 4's third-party evaluations) is the supply chain control for models you never touch.
The defense: provenance, verification, least privilege
No single control fixes an inherited stack; the pattern that works is a pipeline — verify what comes in, record what you run, and constrain what it can do.
The vocabulary the exam attaches to those gates:
| Risk | Control that answers it |
|---|---|
| Tampered download | Checksum verification and digital signatures on artifacts |
| Unknown origin | Provenance records and model cards |
| Invisible dependencies | An AI-BOM (the ML extension of an SBOM), so you know what to patch when a CVE drops |
| Executable model files | Weights-only formats (safetensors), sandboxed loading, artifact scanning |
| Malicious connectors | Vetting and pinning plugins/MCP servers; scoping their permissions like any privileged account |
| Vendor exposure | Third-party risk assessments, contractual data-handling terms |
A word on what "verify" means at each strength level, because the exam likes the gradient. A checksum proves the bytes you got are the bytes the mirror served — but a mirror serving malware serves a matching checksum for it. A digital signature is stronger: it binds the artifact to the publisher's key, so a compromised mirror can't forge it (the same signature math from PKI, pointed at model files). Strongest is a signature plus a public transparency log — an append-only record of what was signed and when, so even a stolen publisher key can't rewrite history unnoticed. Modern artifact-signing ecosystems in the software world work exactly this way, and ML registries are steadily adopting the pattern.
Operationally, mature teams put one structure in front of all of it: an internal model registry — a curated mirror that is the only source production systems may pull from. Nothing lands there without passing the pipeline above, developers lose the ability to "just download it real quick," and the registry's inventory doubles as the AI-BOM. It's the AI version of the golden-image discipline ops teams have used for decades.
One mindset shift ties the table together: pin and verify, don't track "latest." Every silent auto-update — of a model, a library, a connector — is an unreviewed supply chain event. The teams that survive supply chain attacks are the ones who can answer, within an hour of a disclosure, "do we run that, where, and at what version?" That answer is the AI-BOM. And because a backdoor can outlive every intake gate, the last control is temporal: re-scan the inventory when new detection techniques land, and keep behavioral canary evaluations running in production so a model that changes its behavior announces itself.
Key takeaways
- Four of five layers of an AI app are imported — models, data, libraries, connectors — and each import is a trust decision (OWASP LLM03).
- Model weights are opaque: a backdoored model passes functional tests; provenance and behavioral testing are the only levers.
- Pickle-style serialization executes code on load — prefer safetensors, sandbox legacy formats, scan artifacts.
- Watch the edges: typosquatted models and packages, poisoned fine-tunes, and malicious plugins/MCP servers acting with the model's authority.
- The control pattern is a pipeline: verify → scan → test → record (AI-BOM) → deploy least-privilege, re-run on every update.
Supply chain security is where SecAI+ Domain 2's technical controls meet Domain 4's vendor governance. See how the poison actually gets into training data in data poisoning explained, map the attacker's playbook with MITRE ATLAS, or go end to end with our SecAI+ Domain 2 study guide.
#SecAIplus #AISecurity #SupplyChainSecurity #LLMSecurity #ModelProvenance #AIBOM #OWASP #MLSecOps #CompTIA #CyberSecurity
Keep reading
AI Model Theft Explained: Extraction, Inversion, and Membership Inference
Attackers don't need your weights file to steal your model. How model extraction, model inversion, and membership inference attacks work through a normal prediction API — and the defenses CompTIA SecAI+ expects you to know.
Read AI attacks & defensesAI-Assisted Security: Tools, AI-Enabled Attacks & Automation — SecAI+ Domain 3
How security teams use AI-enabled tools, how attackers weaponize AI (deepfakes, automated attack generation), and how to automate security work safely. A practical, objective-by-objective guide to CompTIA SecAI+ Domain 3 (AI-assisted Security).
Read AI attacks & defensesMITRE ATLAS, Explained: The Threat Matrix for AI Systems
MITRE ATLAS is the adversarial threat knowledge base for machine-learning systems — the AI-native cousin of ATT&CK. What it is, how its tactics progress, and how it fits alongside OWASP and NIST for CompTIA SecAI+.
ReadEnjoyed this? Get the AI security news that matters.
Join The AI Security Brief — the top AI security news, plus what's important to the C-suite. Free, straight to your inbox.
No spam. Unsubscribe anytime.
This is 40% of your exam
Securing AI Systems is the single biggest SecAI+ domain — more than twice any other. Master it with our Domain 2 guide.
Get the Domain 2 guide