Safeguard
AI Security•

How do you check an AI agent for excessive agency? Three cause checklist

Excessive agency comes from too much functionality, permission or autonomy. A checklist of questions for one agent, with what a good answer looks like.

Safeguard Security Team
3 min read

Check three things for each agent: does it have more functionality than the task needs, more permission than each function needs, and more autonomy than the impact of its actions allows? OWASP names these as the typical root causes of excessive agency, and each has its own fix.

The three causes

OWASP's guidance lists excessive functionality, excessive permissions and excessive autonomy. They are different problems. An agent can have a tiny tool list with admin credentials (permissions), or tight credentials with a tool for everything (functionality), or both well scoped but no human check on a destructive call (autonomy).

Checklist

CauseQuestion to askA good answer
FunctionalityWhich tools does the agent hold that its task never calls?None, or each has a written reason
FunctionalityAre any tools open ended, such as shell or fetch any URL?No, or sandboxed
PermissionsWhat account does each tool use downstream?A narrow account for that agent
PermissionsDoes the tool act as the user or as a shared account?As the user where possible
AutonomyWhich actions run with no human check?Only undoable, low impact ones
AutonomyIs there a cap on calls, spend or volume?Yes, with an alert

Steps to run the check

  1. Pick one agent and gather its tool list, credentials and approval settings.
  2. Walk the table with the owner and write the actual answer, not the intended one.
  3. For every weak answer, assign a fix: remove a tool, narrow a credential, add an approval.
  4. Fix functionality first, because removing a tool removes its permission and autonomy issues too.
  5. Re-run the check after changes and keep the before and after as evidence.

Reading the results

Teams usually find the largest gap in permissions, because a convenient shared credential sits behind many tools. OWASP recommends executing extensions in the user's context with minimal privileges, for example OAuth with the narrowest scope. Where that is not possible, give the agent its own narrow account.

Do it per agent

Aggregate scores hide the dangerous one. Run the check on each agent, starting with the ones that read untrusted content or touch customer data.

Safeguard offers MCP Guardrail and agent identity for applying this kind of policy to agent tool calls, and you can run a free scan of your own repositories at gold.safeguard.sh/scan. Autonomous fix pull requests are off by default, and every category starts on Manual.

Quick check

Which cause should I fix first?

Functionality. Removing an unneeded tool removes the permissions and autonomy risk attached to it.

How often should I rerun the check?

At each access review and whenever the tool list or prompt changes materially.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.