Skip to main content
Stop Treating AI Agents Like DevelopersGeneral
4 min readFor Compliance Teams

Stop Treating AI Agents Like Developers

The Conventional Wisdom

Your compliance program already manages non-human access. Service accounts get reviewed quarterly, API keys rotate every 90 days, and you've got privileged access management tools tracking everything. When developers ask for AI agent credentials, you might just slot them into the existing service account workflow and consider it done.

Why This Approach Falls Short

This method assumes AI agents behave like traditional service accounts. They don't.

A service account runs the same query, hits the same endpoints, and follows the same pattern every time. You can audit it once and understand its behavior indefinitely. An AI agent, however, makes decisions, chains actions together, and interprets natural language requests, translating them into API calls you didn't explicitly authorize.

Here's what that looks like: 71% of AI agents in production can access sensitive information. Not "theoretically could if misconfigured," but they actively have access right now. And 40% of developers grant these agents persistent credentials that don't expire until someone remembers to rotate them.

The gap isn't just technical. When 1Password surveyed organizations using AI agents, they found something more concerning than access patterns: nobody knows who's accountable when an agent does something it shouldn't. Is it the developer who deployed it? The team that approved the initial access request? The security team that didn't flag the risk? The answer varies.

The Evidence

Let's look at what's actually happening. 46% of developers run AI agents in production. These agents handle real workloads with real credentials.

And 33% of those developers have already seen a breach or security incident tied to overprivileged non-human identities. These aren't hypothetical issues; they're confirmed incidents.

The problem shows up in your logs, except it doesn't. Traditional service account logging captures what happened: which endpoint, what timestamp, which credential. But when an AI agent chains three API calls together to answer a user's question, your logs show three separate events with no context linking them. You can't reconstruct the decision path or determine if the agent stayed within its intended scope.

Jason Meller highlights the core issue: you need secure practices for managing AI agents' credentials, not just credential management. The difference matters. A secure practice means you can answer "why did this agent have access to customer PII?" with something better than "the developer requested it six months ago."

What to Do Instead

First, separate the access request from the deployment approval. When a developer wants to deploy an agent, they're asking two different questions:

  1. Can this code run in production?
  2. Should this code have access to these specific data sources?

Your current workflow probably treats those as the same question. Split them. The deployment review checks for code quality, error handling, and rate limiting. The access review checks against data classification requirements and validates the business justification.

Second, make AI agent access time-bound by default. Not "we'll rotate the credential every 90 days." Make the access grant itself expire. If the agent needs to keep running, someone has to actively renew the approval. This creates natural checkpoints where you ask, "does this agent still need customer database access, or has the use case changed?"

Third, implement request-level authorization instead of credential-level authorization. Don't give the agent a database password. Give it a token that specifies: "You can query customer records where customer_id matches the authenticated user's ID, and you can only retrieve these specific fields." The agent can't escalate its own privileges because the authorization happens at the data layer, not the authentication layer.

For logging, you need correlation IDs that span the entire agent session. When an agent makes five API calls to answer one user question, tag all five with the same session identifier. Include the original user prompt (sanitized) in the audit log. Six months from now, when you're investigating an incident, you need to reconstruct not just what the agent did, but why.

Finally, assign clear ownership. Create a RACI matrix specifically for AI agents: who's Responsible for the deployment, who's Accountable for the access grant, who gets Consulted before changes, and who gets Informed when incidents happen. Put names in those boxes, not team aliases.

When the Conventional Wisdom Is Right

Your existing service account controls aren't useless. They're just insufficient.

The quarterly access reviews? Keep doing them. They catch credential sprawl and abandoned accounts. The credential rotation policies? Still necessary. The privileged access management tools? You need them for enforcement.

The conventional approach works fine for agents that operate in tightly scoped, deterministic ways. If you've built an agent that runs a specific SQL query every hour and dumps the results to a CSV, treat it like a service account. The risk profile matches.

The conventional approach also works when you've got mature data classification and your systems enforce authorization at the data layer. If your database already restricts queries based on the caller's token claims, and your API gateway validates every request against a policy engine, then AI agents inherit those controls automatically.

But if you're relying on "the developer promised the agent won't access PII" as your control, you're not doing compliance. You're doing hope-based security. And 33% of organizations have already learned what happens when hope meets production.

Topics:General

You Might Also Like