SecuritySeptember 28, 2026·George Schildge·13 min read

Poisoned pipelines: securing the B2B AI supply chain in RevOps

The AI supply chain in a revenue stack drawn as five links: models, data, tools, credentials, and actions. The data link is marked as poisoned, and the contamination travels down the chain to the action.

A poisoned pipeline is a revenue workflow in which one upstream input has been tampered with, so that everything downstream acts on it in good faith. The AI supply chain in a revenue stack has five links: models, data, tools, credentials, and actions. Three incidents disclosed in 2025 attacked three different links, and none required breaking into the company that was harmed. Securing the chain takes seven controls, a written split of ownership between RevOps and security, and about 30 days to establish.

Revenue teams know the word pipeline as a number. It is also a description of how their systems are built. A lead arrives through a form, is enriched by one vendor, scored with data from another, and written to the CRM, where another system reads it and drafts a message. Each step trusts what the previous step produced.

That was tolerable when the last step was a person. A sales rep who sees a strange note in a lead record ignores it. An AI agent reads the same note as text to be processed, and if the note is written as an instruction, the agent may follow it. The agent also holds credentials, so it can act on what it read.

The systems did not get worse. The reader at the end of the pipeline changed, and the inputs were never designed for that reader.

What the AI supply chain is in a revenue stack

In software, a supply chain is everything you ship that you did not write. For an AI agent doing revenue work, it is everything the agent depends on that someone else supplied. There are five links, and each has its own way of being poisoned.

The five links of the AI supply chain in a revenue stack, what flows through each, how each is poisoned, and the matching category in the OWASP Top 10 for LLM Applications 2025.
LinkWhat flows through itHow it is poisonedOWASP category
1. ModelsThe reasoning itself, supplied by a model provider.Tampered training or fine-tuning data that builds in a hidden behavior.Data and model poisoning
2. DataWeb forms, email replies, enrichment and intent records, CRM fields.Instructions hidden in content the agent was asked to read.Prompt injection
3. ToolsConnectors, packages, and servers the agent calls to do work.A dependency that behaves well until an update changes what it does.Supply chain
4. CredentialsOAuth tokens and API keys that let one system act inside another.A token stolen from a supplier and replayed against your systems.Supply chain
5. ActionsSends, CRM writes, and anything a customer or prospect can see.More authority than the task needs, exercised on a bad input.Excessive agency

The categories come from the OWASP Top 10 for LLM Applications, whose 2025 edition lists prompt injection first, supply chain third, data and model poisoning fourth, and excessive agency sixth. NIST covers the same ground in its adversarial machine learning taxonomy, published in March 2025. Neither document is written for revenue teams. Both describe their stack precisely.

The links fail independently, but the damage travels. A poisoned input at link two does nothing until it reaches a credential at link four and an action at link five. That is where the defense lives: the contamination has to stop before it becomes an action.

Three incidents, three links in the chain

Three disclosures from the second half of 2025 each attacked a different link, and each landed in the revenue stack. The vendors involved are not named here. They are identified in the linked sources, which also report that each issue was remediated.

Credentials: tokens stolen from a supplier

In August 2025, Google’s Threat Intelligence Group reported that an actor it tracks as UNC6395 had used OAuth tokens belonging to a third-party sales application to reach the CRM instances of that application’s customers. The activity ran from August 8 to August 18. The actor queried accounts, opportunities, users, and cases, then searched the exported data for cloud access keys, passwords, and data warehouse tokens.

The advisory stated that the issue did not stem from a vulnerability in the core CRM platform. Nothing was broken. The tokens were valid and the queries were permitted. Two days later the scope widened, and customers were advised to treat every token connected to the application as potentially compromised. People paste credentials into CRM records, and the actor knew it.

Data: instructions hidden in a web form

In September 2025, Noma Security disclosed a vulnerability chain in a CRM-native AI agent, rated 9.4 on the CVSS scale. The researchers submitted a web lead form with instructions written into the description field, which accepted up to 42,000 characters. Nothing happened until an employee asked the agent to review that lead. The agent treated the hidden text as part of its task and returned CRM data inside an image address pointing at a domain on the platform’s allowlist.

That domain was still trusted, but its registration had lapsed. The researchers bought it for five dollars. The vendor enforced trusted-address controls before public disclosure. The attacker needed no access, only a form that anyone can fill in. Every B2B company has one.

Tools: a connector that changed its behavior

Also in September 2025, Snyk reported a package on a public registry that presented itself as an email-sending connector built for the Model Context Protocol, which agents use to call tools. Fifteen versions worked as described. The sixteenth added a blind-copy field, which sent a copy of every outgoing email to an address controlled by the publisher. An agent using it would have sent exactly the emails it was asked to send, and every test would have passed.

Registries: code that arrives as data

Public registries are downloaded from on trust. In February 2024, JFrog reported about 100 models in a public model repository that carried harmful payloads. Most were built with a framework that stores models in Python’s pickle format, which can run code when a file is loaded. In December 2025, JFrog disclosed three vulnerabilities, each rated 9.3, that let a malicious model pass a widely used open-source scanner. A fix had shipped three months earlier.

In February 2026, Koi Security audited 2,857 skills in a public registry for an AI agent and found 341 that were malicious. Most belonged to one campaign and posed as finance and productivity tools. The payload was not in the code. The documentation told the user to install a prerequisite, and the prerequisite was the malware.

Infographic: the anatomy of the poisoned pipeline. Three attack routes are shown: the pickle model format, malicious agent skills with the figures 12% and 341, and three bypasses of a model scanner. A side panel lists three defenses: a non-executable model format, pinned and hash-verified downloads, and network-isolated sandboxing.
How model repositories and skill registries are attacked, and three ways to harden them. The 95% figure is the share of about 100 malicious models, in one 2024 scan, that were built with a pickle-based framework. The 12% figure is 341 malicious skills among 2,857 audited in one registry. The scanner flaws have been fixed. See sources 7 to 10.

Models: the link that is hardest to inspect

Poisoning can also happen before a model file exists. In October 2025, researchers from Anthropic, the UK AI Security Institute, and the Alan Turing Institute reported that a small, roughly constant number of malicious documents was enough to plant a backdoor in a language model, regardless of its size.

250

Malicious documents that were enough to backdoor language models ranging from 600 million to 13 billion parametersSource: Anthropic, UK AI Security Institute, and Alan Turing Institute (October 2025)

The caveats belong with the number. The backdoor tested made a model produce meaningless text on a trigger phrase, and the authors say it is unclear whether the pattern holds for larger models or more harmful behaviors. It matters if you fine-tune a model on records that outsiders can write into.

Why the revenue stack is the soft target

The revenue stack has three properties that make it attractive. It is built to accept input from strangers. A lead form, a reply-to address, and an event list upload all exist to let people you have never met put text into your systems.

It holds broad credentials. A typical revenue stack is a CRM with a long tail of connected applications, each granted access when someone needed a feature and rarely reviewed afterwards.

It acts in public. A poisoned instruction in a back-office analytics job produces a wrong chart. The same instruction in a revenue workflow produces a message to a customer under your domain, or a quiet change to the data your forecast is built on.

Exposure to untrusted content, access to private data, and the ability to communicate externally: any two are manageable. All three in one workflow is how the web form incident worked.

Poisoning without a breach

Not every poisoned pipeline involves an attacker. Intent data is derived from behavior, and behavior can be manufactured. Review content, firmographic records, and job postings all feed scoring, and all are written by parties with their own interests. When they are wrong, an agent prioritizes the wrong accounts and the sending domain’s reputation pays for it. Nothing was breached, so nothing alerts.

Two design choices limit this. Compute scores with deterministic code, so a score can be traced to the records that produced it. Source signals through licensed providers, so someone is accountable for provenance. CRM data debt used to cost effort. With an agent reading the record, it is a control problem.

Seven controls, mapped to the chain

None of these controls is new. What is new is that they apply to the revenue stack, and that RevOps owns several of them.

Seven controls for the AI supply chain in a revenue stack, the link each protects, who owns it, and the evidence that shows it is in place.
ControlLinkOwnerEvidence
1. Inventory every integration and tokenCredentialsRevOpsA list of connected applications with scopes, owner, and last-used date
2. Give every agent its own scoped identityCredentials, ActionsSecurityPer-agent entitlements that can be listed and revoked one at a time
3. Treat every inbound field as untrustedDataVendor, SecurityExternal content separated from instructions and labelled as such
4. Pin and verify tools and connectorsToolsSecurityPinned versions, a named publisher, and a bill of materials
5. Restrict where agent output can goData, ActionsVendor, SecurityAn allowlist of destinations that is reviewed, including for expired domains
6. Put a person or a written policy in front of consequential actionsActionsRevOpsA governance mode recorded for each action class
7. Log as it happens, and rehearse revocationAll fiveSecurity, RevOpsA ledger with before-and-after state, and a timed revocation drill

Inventory. For each connected application, record what it does, who asked for it, which scopes it holds, and when it was last used. Remove what nobody can explain. This control decides whether an incident at a supplier costs you an afternoon or a quarter.

Identity. An agent running under a shared service account cannot be revoked without collateral damage. OWASP lists least-privilege access among its mitigations for prompt injection, because an injected instruction can only use the access the agent already has.

Inputs and tools. Form fields, replies, and enrichment records are content, not instructions. Test the separation with a harmless instruction in a sandbox. Pin connector versions and review updates before production: the change in the connector incident arrived in a routine release. For model files, prefer a format that cannot run code on load, such as Safetensors, and do not rely on a single scanner.

Infographic: securing the AI supply chain. The upper half shows the threat: the pickle model format, malicious agent skills, and marketplaces that rely on reputation signals. The lower half shows three defenses: adopt a non-executable model format, keep an AI bill of materials, and move beyond a single scanner.
The same findings as a defense checklist. Figures carry the scope stated under the first graphic.

Egress. Exfiltration needs a destination. Review the list of addresses agent output can reach, and check it for lapsed domains.

Authority. OWASP recommends human approval for high-risk actions. Revenue teams need two modes, because approving every action does not scale and approving none is not a control.

Human-in-the-loop (HITL). The action is drafted and held. It does not execute until a named person on your team approves it.

Human-on-the-loop (HOTL). The action executes under a standing policy your team sets. A named person supervises and keeps intervention, override, and revocation authority.

Your team chooses the mode for each action class, based on its risk tolerance, and can change it at any time.

Every action, in either mode, is recorded to the audit ledger with its rationale, before-and-after state, and the approver or policy behind it.

Every action class starts in human-in-the-loop until your team changes it.

Approval has limits. A reviewer can reject a message that looks wrong. They cannot see data leaving through a channel nobody reviews, which is why this control sits beside egress and not in place of it.

Evidence. A record reconstructed after an incident is an estimate. A ledger written at the moment of each action is evidence. Then run the drill: revoke one integration, rotate what it touched, and time it.

Who owns it: RevOps and the CISO

The controls fail at the boundary between two teams, so the boundary has to be written down. Security owns the standard and the review of any new integration. RevOps owns the inventory and the governance decisions, because it is the only team that knows which integrations exist and why. Neither usually holds a current list of what is connected to the CRM, with what scope, on whose authority. When a supplier’s tokens are stolen, that list is the difference between an afternoon of revocation and a search.

The vendor owns what happens inside its own platform. You cannot operate those controls, but you can ask for them in writing. The governance questions to ask an AI agent vendor and the items a security review actually checks are a working list.

One meeting settles most of this. Put the head of RevOps and the CISO in a room with the connected-applications export, and go through it line by line.

A 30-day plan

Days 1 to 7: inventory. Export connected applications and tokens from the CRM and the email platform. Record scope, owner, and last use. Revoke what is unused. Search case and note fields for pasted credentials and rotate any you find.

Days 8 to 15: inputs and tools. List every place an outsider can put text into your systems. For each AI feature or agent that reads those fields, ask the vendor how external content is separated. Pin connector versions and record publishers.

Days 16 to 23: authority. List the action classes your agents can take. For each, decide the governance mode and name the owner. Narrow any scope that is wider than the task.

Days 24 to 30: evidence. Confirm that actions are logged as they happen, with before-and-after state. Run one timed revocation drill. Write down what took longest, and fix that first.

Two-question supply chain check

Which link in your revenue stack is weakest?

01Which part of your revenue stack would you be least able to describe to an auditor today?

Where governed digital labor fits, and where it does not

MatrixLabX builds PrescientIQ™, so it is fair to ask what our own platform does about the chain. Each agent runs under its own least-privilege identity. Scores are computed by sandboxed deterministic code. External systems are reached through typed, scoped tool integrations, and inbound surfaces are treated as untrusted input. Every action, in either mode, is recorded to the audit ledger with its rationale, before-and-after state, and the approver or policy behind it.

A platform like ours is also a link in your supply chain. If you connect it to your CRM, it holds credentials to your system of record, and everything in this article applies to us. Ask for the scopes, the sub-processors, and the data-handling terms in writing.

PrescientIQ is hosted and operated by MatrixLabX on Google Cloud. SOC 2, ISO 27001, and PCI DSS attestations are held by Google Cloud, which operates the underlying infrastructure. They are not MatrixLabX certifications. MatrixLabX application-layer SOC 2 is in progress.

No platform removes supplier risk, and governance does not detect a poisoned input on its own. It changes how far the contamination travels. What we claim, and what we do not, is on the AI trust and governance page. The Agentic Readiness Audit scores governance, non-human identity, data readiness, and the evidence trail, which are the dimensions these controls fall under.

The revenue stack became a supply chain gradually, one integration at a time, and nobody decided it should be one. The work now is to treat it as what it is.

Frequently Asked Questions

What is the AI supply chain in RevOps?
It is everything an AI agent depends on to do revenue work: the models it reasons with, the data it reads, the tools and connectors it calls, the credentials it holds, and the actions it is allowed to take. Each link is supplied by someone else, and an agent trusts each one by default unless you design it not to.
What is a poisoned pipeline?
A poisoned pipeline is a revenue workflow in which one upstream input has been tampered with, so that everything downstream acts on it in good faith. The input can be training data, an enrichment record, a web form field, a software package, or a stolen token. The pipeline keeps running, which is why it is hard to notice.
How is indirect prompt injection different from data poisoning?
Data poisoning corrupts what a model learns from, so the flaw is built in before the model is ever used. Indirect prompt injection corrupts what a model reads while it works, by hiding instructions in content it was asked to process. In a revenue stack the second is the more immediate risk, because anyone can submit a form.
Who should own AI supply chain security, RevOps or the CISO?
Both, with a written split. Security owns the control standard, the review, and incident response. RevOps owns the inventory, because it is the only team that knows which integrations exist and why. The failure mode is each team assuming the other has the list of connected applications and the scopes they hold.
Does a human approval step stop a prompt injection attack?
It limits what a successful injection can do, which is different from stopping it. A person reviewing a held action can reject an outbound message that looks wrong. They cannot see data that left through a channel nobody reviews. Approval is one control among several, alongside least privilege and restricted egress.
What should we ask an AI agent vendor about its supply chain?
Ask which models and sub-processors it depends on, how agent identities are scoped, what an agent can reach if an input is hostile, where agent output is allowed to go, how tokens are stored and rotated, and whether actions are logged as they happen. Then ask for the data-handling terms in writing.

Related Reading

Sources

  1. Google Threat Intelligence Group, advisory on data theft through OAuth tokens for a third-party CRM integration, August 26, 2025, updated August 28, 2025. Link
  2. Noma Security, ForcedLeak disclosure, September 25, 2025: severity score, the web form entry point, the lapsed domain, and the remediation timeline. Link
  3. Snyk, report on a malicious Model Context Protocol server package on a public registry, September 25, 2025. Link
  4. Anthropic, UK AI Security Institute, and Alan Turing Institute, research on poisoning language models with a small number of samples, October 9, 2025. Link
  5. OWASP, Top 10 for LLM Applications 2025: category names, and the mitigations listed for prompt injection and supply chain. Link
  6. National Institute of Standards and Technology, Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations (NIST AI 100-2), March 24, 2025. Link
  7. JFrog Security Research, report on models carrying harmful payloads in a public model repository, February 27, 2024. Link
  8. Security Boulevard, coverage of the JFrog research, February 29, 2024: the split of malicious models by framework. Link
  9. JFrog Security Research, disclosure of three vulnerabilities in an open-source model scanner, December 2, 2025, fixed in a release dated September 2, 2025. Link
  10. The Hacker News, report on the Koi Security audit of an agent-skill registry, February 2, 2026: 2,857 skills audited, 341 malicious. Link

Incident details are reported as published by the sources above and were checked against them on September 28, 2026. The vendors involved are identified in those sources and are not named in the text of this article. The two infographics name public registries and a scanner as their sources do, and their headline figures carry the scope stated in the captions. Product names are trademarks of their owners. MatrixLabX is not affiliated with any of them. The controls, the ownership split, and the 30-day plan are the author’s recommendations. This article is not security or legal advice for your environment.

See where your own execution effort is going

The Autonomous Audit Report models where your team's execution capacity is currently spent, what your configuration is actually paying for, and what the governed alternative looks like on your own data — before any commitment.

Get your free AAR benchmark