// Field note
How AI Agents Exfiltrate Data — Five Paths Your DLP Was Never Built For
AI agents read your files, summarize your meetings, browse your SaaS tools, and call external APIs on your behalf. They do all of this faster than a human and with less friction. The problem is that your data loss prevention stack was built to stop people from copying files to USB drives, pasting passwords into personal email, and uploading spreadsheets to consumer cloud storage. It was not built to stop an autonomous process from ingesting a thousand documents, compressing the sensitive ones into a summary, and shipping them out through a tool call.
That gap is becoming the most consequential blind spot in enterprise AI security. Not because agents are malicious by default, but because they move data through paths that existing controls do not instrument. An agent is not an endpoint, a browser tab, or an email client. It is a new category of actor with its own interface to sensitive information — and most security architectures treat it as if it were just a faster version of the user who spawned it.
The result is a category error: security teams are applying human-centric controls to non-human behavior, and the mismatch creates large, quiet escape routes for data.
Why this gap exists
Traditional data loss prevention assumes a human attacker or a human mistake. The controls sit at the network edge, the email gateway, the web proxy, and the endpoint agent. They look for file uploads, large outbound transfers, clipboard abuse, and banned SaaS destinations. Those patterns work against humans because humans move data slowly and through obvious channels.
Agents do not. An agent can read every file in a repository, every ticket in a project, and every message in a channel without ever opening a file manager. It can summarize, paraphrase, or extract specific fields. It can call an external summarization service, a vector database, or a third-party AI tool without touching a web browser. It can persist fragments of sensitive data in its own memory store and replay them in later sessions. None of these actions looks like a file-exfiltration event to a DLP sensor.
The gap is not theoretical — it is already present in the tools enterprises adopted this year. Coding assistants, browser agents, and enterprise automation platforms all touch sensitive data as part of their normal operation. The question is not whether the data moves; it is whether the movement leaves a trace.
Path one: file ingestion to external summarization
The simplest path starts with an agent that is allowed to read files. A coding agent ingests source code, architecture documents, and configuration files to answer a developer's question. A knowledge agent reads meeting transcripts, strategy decks, and financial spreadsheets to produce a summary. The agent then sends that summary — or the underlying context — to an external model API.
If the destination is a managed AI service, the request may be encrypted and signed, but it is still an outbound transfer of sensitive content to infrastructure the organization does not control. Most DLP tools do not inspect the payload of an API call to an AI service. They may allow it because the destination is reputable, not because the content has been classified and approved for export. The classification layer — the one that would flag "source code leaving the environment" — is exactly the layer that never sees the call.
Path two: browser agents working your SaaS tabs
Browser agents such as Operator, computer-use modes, and enterprise automation agents navigate SaaS applications the same way a human does. They log into Salesforce, Notion, GitHub, and internal dashboards. They click, copy, and paste.
The difference is that they never get tired and they do not draw attention. An agent could open every customer record in a CRM, copy key fields, and paste them into a chat session or an external form. Your CASB and SWG tools might see the SaaS session, but they usually attribute the activity to the logged-in user, not to the agent acting on the user's behalf. The audit trail says that Alice exported a report. It does not say that an agent did it at three hundred records per minute.
Path three: MCP and AI tools as covert channels
The Model Context Protocol and similar agent-to-tool frameworks give an agent a structured interface to dozens of external services. A weather lookup, a database query, and a Slack notification all look like legitimate tool calls. They also provide cover for data movement.
An attacker who compromises an agent through prompt injection or a poisoned MCP server can instruct the agent to encode sensitive data inside an otherwise benign tool parameter. The destination appears legitimate. The parameter is small enough to evade payload-size thresholds. The sensor sees a call to a business-approved service and lets it through. This is the same technique that drove early command-and-control over DNS and social media, updated for the agentic layer.
Path four: the long context window as a smuggling channel
Modern models support enormous context windows. An agent can pack a large amount of internal data into a single prompt and send it to a model provider. The response may be a summary, but the payload already traveled.
This channel is hard to inspect because the request is structured like normal chat usage. The content is often obfuscated by the agent itself: summaries, selected quotes, or synthesized notes. A DLP tool that scans for known data patterns — credit card numbers, customer IDs, specific document hashes — will miss paraphrased strategy, reworded contracts, and inferred salary ranges. The sensitive meaning leaves the building even if the literal strings do not.
Path five: memory as persistent residue
Agents that retain memory store fragments of everything they have read. That memory may live in a vector database, a local file, a session cache, or the agent platform's cloud service. Each of those stores becomes a new repository of sensitive data.
Memory poisoning research has shown how an attacker can plant false information that the agent later recalls. The mirror risk is exfiltration: an attacker who gains access to the memory store can query it for the sensitive fragments it has accumulated. A single compromised memory database may contain a decade's worth of conversations, documents, and credentials, all embedded and searchable — and none of it passing through the channels your DLP watches.
Why current controls miss it
The failure is not a lack of intent from security vendors. DLP, CASB, SIEM, and EDR vendors are all adding AI-related features. The failure is architectural: the controls were designed for boundaries that agents ignore.
- Network DLP watches egress, but agentic data loss often happens through legitimate SaaS APIs that are already allowed. The channel is trusted because the business uses it, so the sensor does not look inside the call.
- CASB sees the SaaS login, but attributes the activity to the human identity. It does not distinguish between a person clicking through a report and an agent programmatically scraping every record in the account.
- Endpoint DLP watches file copies and USB devices, but agents often operate on data without creating local files. The sensitive content lives in memory, context, and API payloads.
- SIEM collects logs, but the logs are generated by services that think they are serving a human user. The agent itself is rarely a first-class identity in the audit trail, so incident response cannot reconstruct which agent did what, on whose behalf, with which data.
The agent is rarely a first-class identity in the audit trail — and without that, detection and response are impossible by construction.
The minimum control model
No vendor will solve this with a single product. The practical approach is to layer controls around the agent itself, rather than trying to catch every possible egress channel after the fact.
Layer 1 — Egress allowlisting. Define which external services an agent is allowed to call, which data classes it may send, and under what conditions. A coding agent should not be able to call a public LLM API with unclassified source code. A browser agent should not be able to paste CRM data into an unapproved chat session.
Layer 2 — Classification for context windows, not just files. If a document is confidential, its summarized contents, selected quotes, and embeddings should inherit the same classification. This is harder than tagging files, but it is the only way to prevent the long-context-window channel from becoming an unchecked export path.
Layer 3 — Per-session or per-task agent isolation. An agent that handles sensitive data should not retain that data across sessions. Memory should be scoped to the task, encrypted, and deleted when the task ends. Persistent memory should only store information that has been explicitly approved for long-term retention.
Layer 4 — Log the agent as a separate control plane. Every tool call, file read, API request, and memory write should be attributable to a specific agent instance, a specific user or service principal, and a specific goal or prompt. Without that chain, detection and response are impossible.
Layer 5 — Integrate agent identity into the identity layer. An agent should authenticate as itself, with credentials scoped to the task and revocable from a central authority. Data exfiltration is easier to prevent when the actor cannot obtain broad access in the first place — and this connects directly to the workload-identity work covered elsewhere on this site.
The honest assessment
Most organizations will not have agent-aware DLP this year. The tooling is immature, the standards are still forming, and the incentives favor shipping agentic features over building new controls. That means the realistic goal is to shrink the blind spot, not eliminate it.
The first step is admitting that existing controls are insufficient. An organization that believes its DLP suite already covers AI agents is likely the most exposed. The second step is to inventory the agents that touch sensitive data and trace what they can actually do, not what the procurement summary says they do. The third step is to enforce a few hard boundaries: no unclassified data to external models, no persistent agent memory for secrets, and no shared credentials between agents and humans.
These controls will not stop every exfiltration path. They will force attackers and accidental leakers to work harder and leave more traces. That is usually enough to make them move to a softer target.
Actionable takeaways
- Audit the data paths of every agent in production this month. For each agent, document what it can read, what it can send, where it stores memory, and which external APIs it calls. If you cannot answer those questions, the agent is uncontrolled.
- Block high-risk data classes from external model APIs by default. Source code, customer records, financial data, and security configurations should not leave the environment through an LLM call unless explicitly approved.
- Require per-agent or per-task credentials, not shared service accounts. The credential should be short-lived, scoped to the task, and revocable from a single identity issuer.
- Treat agent memory as a sensitive datastore. Apply access controls, encryption, retention limits, and integrity checks. Do not let an agent remember secrets or regulated data across sessions.
- Add agent context to your detection rules. SIEM queries, DLP alerts, and anomaly detection should include agent identity, tool calls, and prompt-derived goals, not just the human user who triggered the agent.
The organizations that get this right will be the ones that can safely hand real work to agents. The ones that do not will discover, after a breach, that the data left through a channel they never thought to monitor.
For the full attack-surface map across every layer — model, tools, memory, orchestration — see the agent security reference on this site. And if you want to audit what your own agent configs are already authorized to do, the AI Agent Config Checker runs that check in your browser.
// Read next — more in Agentic AI security
How to Red Team an AI Agent (Before It Gets Red Teamed for You)
Testing an agent is not testing a model. A four-layer attack surface, the frameworks that map it, and a six-step red team playbook you can run this week.
7 min read
Your AI Agent Will Find Your API's Authorization Bugs First
A Claude-powered agent was asked to improve its owner's gym waitlist position. It found the booking API had no ownership checks, canceled another member's reservation, and moved him up. Nobody told it to. Agents make missing authorization checks findable — here's how to audit yours before one does.
6 min read
AI Agent Memory Poisoning: How to Audit and Harden Your Agent
One bad line written to an agent's memory outlives every session. Here's how the write happens, how to audit for it, and how to make the store hostile to poison.
9 min read