TKOResearch
Menu
Back to insights
AI Agent SecurityAI Agent SecurityTechnical guide

AI Agent Tool Permissions: Read, Write, Delete, Send, Execute, Deploy

A framework for classifying AI agent tool permissions by business impact, authorization boundary, required controls, and production readiness.

Last reviewed May 4, 20269 min read

The Point

AI agents become dangerous when tool permissions are broader than the business task requires.

The model is not the authority. The tools are.

A safe AI agent program needs a tool permission model that answers:

What can the agent read, write, delete, send, execute, deploy, approve, or persist, and under whose authority?

OWASP identifies excessive autonomy, tool abuse and privilege escalation, data exfiltration, memory poisoning, and sensitive-data exposure as major agent risks. Its LLM Top 10 also warns that unchecked autonomy, insecure plugin design, and insecure output handling can lead to severe downstream impact.

Why Tool Permissions Matter More Than Model Behavior

People often ask whether the model is safe.

For production agents, the sharper question is:

What can the agent do if the model behaves unsafely?

A model that produces a bad answer is one type of risk. A model that produces a bad API call, shell command, email, record update, or deployment is a different risk class.

Tool permissions define blast radius.

The Core Action Classes

Every AI agent tool should be classified by action type.

Action ClassDescriptionExample ToolsDefault Control
ReadAccess or retrieve information.Search docs, query ticket, read CRM.Authorize and log.
DraftPrepare output without executing externally.Draft email, draft ticket reply.Human review.
WriteCreate or modify non-critical records.Create issue, update note.User attribution and policy check.
DeleteRemove records, files, users, or state.Delete file, remove contact.Deny by default or explicit approval.
SendCommunicate externally or internally.Send email, post Slack, notify customer.Draft-first or approval.
ExecuteRun commands, code, scripts, queries, workflows.Shell, Python, SQL, CI job.Sandbox or deny.
DeployChange production systems.Deploy app, change config.Manual gate.
ApproveAuthorize money, access, legal, security, or policy action.Refund, permission grant, approval workflow.Human authority only.
RememberPersist memory or state.Long-term memory write.Scope, review, expiry.
ChainUse one tool's output as another tool's input.Search -> summarize -> send.Policy and egress controls.

A tool inventory without action classification is not enough.

Least Privilege For AI Agents

OWASP's AI Agent Security Cheat Sheet recommends minimizing the number of tools available to an agent, scoping permissions per tool, separating tools by trust level, and requiring explicit authorization for sensitive operations.

For agents, least privilege means:

Design QuestionSafer Pattern
Does the agent need write access?Prefer read or draft access first.
Does it need all records?Scope by tenant, user, role, and resource.
Does it need direct send?Use draft-first workflows.
Does it need shell execution?Deny or sandbox with strict allowlists.
Does it need admin APIs?Almost never.
Does it need persistent memory?Scope, expire, and review memory.
Does it need service credentials?Prefer user-scoped authorization.

The agent should get the minimum tool set needed for the workflow, not the maximum tool set available in the environment.

Permission Matrix Template

Use a matrix like this for every agent.

ToolAction ClassData TouchedCredential UsedRequired ScopeRiskRequired Control
search_docsReadInternal docsUser OAuthTenant + roleMediumAuthorized retrieval + logging.
summarize_ticketRead/DraftSupport ticketUser OAuthAssigned ticketsMediumSource attribution.
draft_emailDraftEmail contentUser OAuthCurrent threadMediumHuman review.
send_emailSendExternal emailUser OAuthApproved recipientsHighExplicit approval.
update_customerWriteCRM recordUser OAuthAssigned accountHighPolicy check + audit.
delete_fileDeleteFilesService tokenBroad storageCriticalRemove or human approval.
run_shellExecuteRuntime/filesystemLocal processHost permissionsCriticalSandbox or deny.
deploy_appDeployProductionCI/CD tokenProduction environmentCriticalManual gate.

This matrix should exist before production.

Read Permissions Are Not Always Low Risk

Read-only tools can still create high impact.

Read ToolRisk
Search customer recordsPII or confidential business data exposure.
Query internal docsStrategy, architecture, or secret process leakage.
Read codeSupply-chain or vulnerability discovery.
Read ticketsCustomer-sensitive events or credentials.
Read calendar/emailPersonal, legal, or privileged information.
Read logsTokens, secrets, IPs, operational details.

Read access should still be scoped, authorized, and logged.

Write Permissions Require Policy

Write tools create integrity risk.

A manipulated agent may update the wrong customer record, add false internal notes, create misleading tickets, modify workflow state, change classifications, persist poisoned data, or create durable business confusion.

Write tools should require:

ControlPurpose
User-scoped authorizationAgent can only act as the correct user.
Resource-level authorizationAgent can only modify allowed resources.
Schema validationParameters must be typed and bounded.
Business-rule validationAction must make sense in workflow.
Audit trailChange must be reconstructable.
Undo/rollbackMistakes should be recoverable where possible.

The model can propose a write. The backend should decide whether the write is valid.

Delete, Execute, Deploy, And Approve Are Critical Actions

Some actions should be treated as critical by default.

Critical ActionDefault Stance
Delete records or filesDeny unless explicitly needed.
Run shell commandsDeny or strict sandbox.
Execute generated codeDeny or isolated sandbox.
Deploy to productionManual gate.
Modify IAM or permissionsHuman approval.
Approve payments/refundsHuman approval.
Send legal/customer commitmentsHuman review.
Change security policyManual process.

For these actions, "the model decided it was appropriate" is not a valid control.

Send Permissions Deserve Special Treatment

Sending is dangerous because it crosses an organizational boundary.

A send-capable agent can email customers, message employees, post to Slack or Teams, submit forms, open external tickets, contact vendors, notify regulators, or publish content.

Safer pattern:

Generate draft
  -> validate recipient and content
  -> require human approval
  -> send through attributable user identity
  -> log full decision path

For many enterprise agents, draft-first is the right default.

Tool Chaining Is Where Risk Hides

A single tool may look safe. A chain may not.

search_customer_records
  -> summarize_sensitive_context
  -> draft_external_email
  -> send_email

Each step may appear defensible. Together, they create a data-exfiltration path.

Chain PatternRisk
Read -> SendData exfiltration.
Read -> WriteUnauthorized derived updates.
Web -> ToolExternal content influences internal action.
Tool output -> Tool inputUntrusted output drives next action.
Memory -> ToolPoisoned memory changes behavior.
Search -> ExecuteRetrieved content affects command/code.

Tool-use review should analyze chains, not just individual tools.

Credentials Determine True Authority

A tool's permission is determined by its credential.

Credential PatternRisk
User-scoped OAuth tokenBetter attribution and scope.
Shared service accountBroad authority and weak accountability.
Admin tokenCritical blast radius.
Long-lived API keyDurable compromise.
Local environment secretEndpoint compromise path.
Cloud roleInfrastructure-level impact.

MCP security guidance highlights token passthrough, session handling, local server compromise, and scope minimization as MCP-specific security areas.

A safe design minimizes broad service credentials and avoids exposing secrets to the model.

Required Logs For Tool Permissions

Every tool call should produce an audit trail.

FieldPurpose
User IDWho initiated the workflow.
Tenant IDBoundary applied.
Agent/workflow IDWhich agent acted.
Tool nameWhat capability was used.
Action classRead/write/delete/send/execute/etc.
ParametersWhat the model requested.
Authorization resultWhy it was allowed or blocked.
Approval eventWho approved high-impact action.
Credential typeUser token, service token, role, etc.
Downstream targetSystem/resource affected.
ResultSuccess/failure/partial.
Trace IDCorrelates prompt, retrieval, tool call, and output.

Without logs, tool permission mistakes become difficult to assess and hard to defend in diligence.

Tool Permission Review Checklist

QuestionGood Answer
Do we have a complete tool inventory?Yes.
Is every tool classified by action type?Yes.
Are read/write/send/delete/execute tools separated?Yes.
Are credentials user-scoped where possible?Yes.
Are broad service tokens avoided?Yes.
Are high-impact actions gated?Yes.
Are tool parameters validated outside the model?Yes.
Can tool output trigger another tool without policy review?No.
Are tool calls logged with authorization artifacts?Yes.
Can risky tools be disabled quickly?Yes.

What A Tool-Use Review Should Leave Behind

The review should make every tool's authority explicit: what it can touch, what credential gives it access, what control gates it, and what trace proves it ran correctly.

DeliverableDescription
Tool Inventory MatrixLists all tools, actions, credentials, and data touched.
Action Classification TableSeparates read, write, send, delete, execute, deploy, approve, remember.
Credential Scope ReviewIdentifies overbroad tokens, service accounts, and missing attribution.
Tool Chain Abuse-Case MatrixShows how low-risk tools can combine into high-risk outcomes.
Destructive-Action Control PlanDefines approval, policy, sandbox, and deny-by-default controls.
Blast-Radius Reduction PlanPrioritizes least privilege and high-impact risk reduction.

Final Thought

AI agent security is not only about prompts. It is about permissions.

If an AI agent can touch production tools, customer data, SaaS systems, code, infrastructure, email, or workflows, then every tool should be treated like an API surface with business impact.

Before production, ask:

What can this agent do, what credential lets it do that, what policy authorizes it, and what artifact shows it happened correctly?

If you cannot answer those questions, the agent has unknown blast radius.

What TKOResearch Reviews

TKOResearch performs MCP & Tool-Use Blast-Radius Reviews for teams connecting AI agents to SaaS tools, internal APIs, RAG systems, code execution, production workflows, and sensitive business data.

Request Tool-Use Blast-Radius Review

Sources