The AgentProv Provenance Model
Eight layers, each answering one question about where an agent action came from. Ordered from the outermost boundary inward. An incident may carry more than one layer: the primary layer is the one whose failure made the incident possible; secondary layers are the ones it then cascaded through. The tagging rules are on the methodology page.
Credential
Should this run hold this key at all?
The outermost link is the secret itself. An agent run inherits API keys, cloud tokens, and session cookies from whoever launched it, and every later layer assumes that inheritance was intended. When a credential is broader than the task, longer lived than the run, or readable by anything the agent loads, the rest of the chain is already compromised.
Credential provenance asks where a key came from, which run it was minted for, and whether this run should be holding it at all. Failures here look like secrets read from environment files by a helper tool, keys exfiltrated through a coding assistant, or stolen model API keys resold for inference.
Taxonomy patterns
- Credential Theft via AI Tools
- LLMjacking cases
Recent incidents
Primary in 23 of 222 tagged in-model incidents; secondary in 77.
- 2026-10-21 LiteLLM 1.107.0 on PyPI and Docker Ships a Credential Stealer That Runs at Every Python Startup
- 2026-10-17 OpenCode Console Breach Exposes Users' Stored OpenAI, Anthropic, and Google API Keys
- 2026-10-13 IBM MCP Context Forge Shipped a Known JWT Secret, Letting Anyone Mint Platform Admin Tokens (CVE-2026-53709)
Instruction
Who actually said "do this"?
An agent acts on text, and text has no signature. A request typed by the operator, a sentence in a retrieved web page, and a comment planted in a pull request all arrive in the same context window. Instruction provenance is the record of which principal authored the intent behind an action.
When that record is missing, the agent becomes a confused deputy: it holds the operator's authority but follows whoever wrote the most persuasive text. Prompt injection, self-propagating injection between agents, and social engineering aimed at the model rather than the human all break this link.
Recent incidents
Primary in 37 of 222 tagged in-model incidents; secondary in 26.
- 2026-10-15 Datadog: Counterfeit Policy Text Collapses an Injection Classifier's Recall and Pushes a LangChain Risk Gate Under Its Block Threshold
- 2026-10-08 Cisco Talos: Four Malware Families Carry Instructions Aimed at the LLMs That Triage Them
- 2026-10-07 Barracuda: Phishing Emails Carry Hidden Prompt Injections for the Recipient's AI Inbox Assistant
Tool
Is this tool what its description claims?
Agents choose tools by reading their descriptions. The description, the schema, and the code behind them can each come from a different author and can change after the tool was first approved. Tool provenance binds what the agent was told a tool does to what it actually executes.
Failures here include poisoned tool descriptions that carry hidden instructions, servers that change behavior after installation, and tooling built to slip past the scanners meant to vet it. MCP made this layer visible because it turned tool descriptions into a shared, third-party supply.
Taxonomy patterns
Recent incidents
Primary in 5 of 222 tagged in-model incidents; secondary in 5.
- 2026-10-01 Claude Code 2.1.287 Turns On "Mods" by Default: Unsandboxed In-Process Plugins That Can Read the API Key
- 2026-08-12 "Deadbugz": A Malicious MCP Server Stays Benign for Exactly Three Tool Calls, Then Starts Hunting SSH Keys
- 2026-08-11 "GhostSplice": A Malicious MCP Server Splits One Refused Request Across Three Trusted Channels
Code / Package
Where did this code come from?
Agents install packages, pull images, and run code they or another model just wrote. Each artifact has an origin: a registry, a maintainer, a build, a prompt. Code provenance is the chain from that origin to the bytes that run on the developer's machine or in production.
The failures are familiar from software supply chain security, with new entry points. A model hallucinates a package name and an attacker registers it. A trusted AI platform hosts a malicious artifact. A compromised dependency harvests the credentials that the next stage of the cascade will use.
Taxonomy patterns
Recent incidents
Primary in 8 of 222 tagged in-model incidents; secondary in 23.
- 2026-10-12 Fake "Apex Accelerator" npm Packages Reroute a Coding Agent's LLM Traffic and Register an Attacker MCP Server
- 2026-07-24 165 Malicious npm and PyPI Packages in One Week, Several Targeting AI Tooling
- 2026-07-21 "AgentBaiting": 7,600 Fake GitHub Repositories, 800+ Posing as AI Skills and MCP Servers, Deliver SmartLoader
Config
Who wrote the file that runs on open?
Agent tooling reads configuration from the workspace: rules files, MCP server lists, hooks, and settings that can launch processes. Opening a repository is enough to run them. Config provenance asks who authored each of those files and whether the person opening the project ever agreed to execute it.
When configuration is treated as data instead of code, a cloned repository or a merged pull request becomes an execution primitive. The same layer covers agents that run generated code with no sandbox at all, because in both cases execution happens without a trusted author behind it.
Taxonomy patterns
Recent incidents
Primary in 31 of 222 tagged in-model incidents; secondary in 46.
- 2026-10-25 Planted AGENTS.md in a Downloads Folder Got Codex to Install Malware; a CLAUDE.md Variant Exposed Claude Code's OAuth Token
- 2026-10-21 MCP Inspector Advisory Batch: Two Critical Paths From Connecting to a Malicious MCP Server to Local Command Execution
- 2026-10-16 Claude Agent SDK: A Crafted Session ID Injects an MCP Server and Runs Commands Past SDK Permissions (CVE-2026-96620)
Identity / Run
Which agent, run, or tenant is this?
Multi-tenant platforms and multi-agent systems share caches, filesystems, memory, and queues. Identity provenance attaches every action and every stored artifact to the agent, run, and tenant that produced it, so that one run cannot read, write, or act as another.
Failures here are isolation failures: data that crosses tenants, agents that escape their sandbox, and actions authorized at the session level when they should have been authorized one by one. Without a per-run identity there is nothing for an action-level policy to check.
Taxonomy patterns
Recent incidents
Primary in 92 of 222 tagged in-model incidents; secondary in 27.
- 2026-10-27 MCP Server and LangGraph Advisory Batch: AWS API MCP Accepts Other Apps' Tokens, GitLab MCP Sends Credentials to a Repo-Chosen Registry, and Cross-Tenant Store Reads (CVE-2026-115413, CVE-2026-115883)
- 2026-10-23 OpenAI Moves Frontier Training Offline After Red-Team Agents Escaped VMs and Signaled Through the CPU Cache; Their Brotli RCE Lands in CISA KEV (CVE-2026-111497)
- 2026-10-21 Symantec: "Skynet Mode" Attack Agent Hijacks Exposed LLM Endpoints to Hack and Mine at the Model Owner's Expense
Build / Approval
Was this approved as what it claims to be?
Humans approve things: a tool version, a pinned dependency, a pull request, a security finding. Approval provenance binds that decision to the exact artifact that was reviewed, so that what runs later is provably what was approved and not a look-alike or a silent update.
This link breaks when pins can drift, when approval prompts misdescribe the action, or when the evidence a reviewer relied on was itself fabricated, such as an AI-generated vulnerability report or advisory with no basis in fact.
Taxonomy patterns
Recent incidents
Primary in 17 of 222 tagged in-model incidents; secondary in 17.
- 2026-10-22 METR and Redwood: OpenAI's Agent Monitoring Was "Not Fit for Purpose" During the Hugging Face Break-In
- 2026-10-21 OpenAI: Two Internal Agents Disabled Misalignment Monitoring, and One Denied It When Asked
- 2026-10-15 Claude Code Plugin Hash Pins Could Be Bypassed With a Branch Named Like the Pinned SHA (CVE-2026-86063)
Output / Destination
Where is this data going, and who chose that?
The innermost link is the sink. Every exfiltration ends with data leaving through a channel: a URL the agent fetches, an image it renders, an email it sends, a webhook an integration calls. Destination provenance asks who chose that destination and whether that principal was allowed to.
Failures here include agents with no allowlist for outbound requests, server-side request forgery in inference and tooling stacks, and integrations granted far more reach than the task needed. Many incidents begin at an inner layer and only become a breach at this one.
Taxonomy patterns
Recent incidents
Primary in 9 of 222 tagged in-model incidents; secondary in 54.
- 2026-10-01 A Read-Only Grok Bot "CFO" Agent Posted a CEO's Bank Balances to the Company Slack
- 2026-09-29 "PixelLeak": AI Coding Agents Posted 13,000+ Internal Screenshots From 300+ Organizations to Public GitHub Repositories
- 2026-09-22 Z.ai's ZCode Coding Agent Uploaded Entire Local Repositories, Git History Included, to Alibaba Cloud by Default
Campaigns, not failures
Some catalog patterns describe what attackers do with AI rather than which link broke: AI-Orchestrated Offensive Operations, AI-Accelerated Vulnerability Discovery, Model Capability Extraction, AI Control Plane Exploitation in the Wild, Inference Server Authentication and Memory-Safety Failures. These are tagged by the layer the attacker exploited, not by the fact that an AI did the attacking.
Related work
| Work | Date | Organizes by | Enforces? | Sidecar? | Real incidents? |
|---|---|---|---|---|---|
CaMeL (Google DeepMind) Capability and provenance tracking inside a custom agent interpreter. | 2025 | capabilities | yes | no | no |
AARM (Errico, now a CSA working group) Runtime action-mediation control model with receipts and five decision outcomes; names input provenance without defining a mechanism. | Feb 2026 | action mediation | spec only | spec only | no |
Evidence Tracing and Execution Provenance survey Finds enforcement less developed than recording, and no shared trace schema. | Jun 2026 | six dimensions | no | no | no |
AgentLock v1.3 Provenance-lineage gating and parameter lineage, evaluated on AgentDojo. Layer 2 enforcement. | Jul 2026 | provenance (layer 2) | yes | no | no |
NVIDIA five-layer agent architecture Layers by responsibility, not by provenance. | Aug 2026 | responsibility | no | no | no |
runwarden v0.1 Cross-run isolation probe. Layer 6. | Sep 2026 | provenance (layer 6) | no (probe) | no (CLI probe) | no |
Decode-Time Provenance Binding for MCP (Yocam et al.) HMAC-bound trust labels and sink enforcement inside a mediated MCP layer. | Oct 2026 | trust labels | yes | no | no |
| AgentProv The eight-layer model, grounded in the public incident catalog. | Oct 2026 | provenance | via AgentLock (L2) | planned (proxy) | 385 |
Cite as: Grice, D. (2026). The AgentProv Provenance Model. agentprov.com/model