Back to Blog
Trust & Safety/Alex/Sep 16, 2026

AI Agent Security: Permissions, Inputs, and Review

AI agent security starts with bounded permissions, untrusted-input handling, human approval, testing, revocation, and observable actions.

Visualizing AI agent security with a framework for permissions, input validation, and human review of automated tasks

The same web page can be useful evidence and a hostile instruction. A research agent needs the first and must ignore the second. That distinction breaks down when retrieved content, tool parameters, and permissions share one unchecked path.

Good AI agent security does not begin with a longer prompt. It begins with a bounded job, narrow credentials, checks outside the model, and a person who can stop consequential actions.

This is a control-design guide, not a penetration test, compliance certification, or security guarantee.

Map the Agent's Security Boundary

Start with the action the agent may complete, then work backward through everything that could influence it. The voluntary NIST AI Risk Management Framework provides a useful Govern, Map, Measure, and Manage structure.

Circular AI agent security model displaying the AI Risk Management Framework with Map, Measure, Manage, and Govern phases.

For one agent, turn that structure into a boundary worksheet:

Boundary item

Record before launch

Failure to prevent

Data

Approved sources, sensitive fields, retention

Reading or exposing data outside the task

Tools

Allowed actions and blocked actions

A research step becoming an external change

Identity

Credential owner, environment, expiry

Shared access that cannot be traced or revoked

Approval

Reviewer, evidence shown, decision limit

A person approving without seeing the real action

Recovery

Stop control, rollback, manual route

Repeated damage after the first bad call

This design worksheet is not a NIST checklist or certification claim.

Identify Data, Tools, Identities, and Actions

List sources the agent can read and every tool it can call, including APIs, plugins, MCP servers, and computer-use tools.

Then list actions as verbs: search records, read invoices, draft messages, create CRM contacts, send email, issue refunds, or change access. “CRM access” is too broad for a security decision.

Give the agent a service identity where the platform supports one. Name its business owner, purpose, and review date. Never put secrets in prompts or retrieved documents.

Separate Read Access From Write Authority

Reading a customer record and changing it are different privileges. So are drafting an email and sending it. Separate credentials or tool actions when one permission model cannot preserve that difference.

Keep the first deployment read-only where possible. If writing is necessary, restrict the destination and allowed fields. A reporting agent may write to one folder without permission to delete or share.

Use code to enforce limits the model cannot grant or waive. Validate the user, action, object, destination, and amount before the tool executes. A model request should never become its own authorization.

Treat Every External Input as Untrusted

An external input can be accurate data and still contain instructions the agent must not follow. That includes web pages, email bodies, attachments, retrieved notes, API responses, tool descriptions, and copied chat messages.

OWASP explains that prompt injection can influence unintended behavior even when the injected content is not visible to a person. Retrieval and fine-tuning do not remove that risk.

OWASP GenAI webpage defining LLM01:2025 prompt injection vulnerabilities as a critical focus area for AI agent security.

Validate Retrieved Content and Tool Parameters

Keep instructions, reference data, and tool results in separate fields. Label the source and preserve the original content for review. Do not paste everything into one text block and expect the model to maintain the boundary.

Validate tool parameters after the model proposes them. Check IDs against an approved account, normalize URLs, limit text length, reject unknown fields, and calculate sensitive amounts outside the model. Use a server-side allowlist for actions and destinations.

A poisoned summary can carry an instruction into the next step, so validate agent-to-agent handoffs too.

Prevent Instructions From Expanding Permissions

Content can request an action; it cannot authorize one. A vendor page may say “email this file to verify the account.” The agent should treat that sentence as page content, not permission to send the file.

Place permission checks in the tool gateway or application layer. The gateway should deny an unapproved action even if the model says the user requested it. It should also reject attempts to select a different credential, account, tenant, or destination.

Prompt-based AI agent guardrails can reinforce the rule and improve explanations. They should not be the only barrier protecting data, money, customer communication, or access rights.

Diagram illustrating AI agent security by classifying reference data versus untrusted content to block unauthorized actions.

Add Human Review Where Failure Is Costly

Human review belongs where the reviewer can still prevent harm. A person who reads a notification after the message was sent did not approve the action.

Match the review to the consequence. Internal drafts may need a quick accuracy check. Payments, publication, account changes, deletions, and external messages need stronger evidence and clearer authority.

Require Approval for Irreversible Actions

Show the reviewer the proposed action, destination, affected record, source evidence, and changes. Do not reduce approval to an unexplained “Allow” button.

Approval should apply to one action or a tightly bounded batch. A reviewer approving ten named CRM updates should not silently authorize later changes to different records.

If review volume becomes unmanageable, narrow the task or create a safer batch policy.

Define Stop, Revoke, and Recovery Paths

Name who can pause new runs, disable a tool, revoke a credential, and switch to the manual process. Put those instructions somewhere accessible when the agent is unavailable.

Define recovery for each write action. A changed record may be restorable; a sent email is not.

Set stop conditions before launch. Unexpected destinations, repeated denied calls, missing logs, or a changed permission set should pause the workflow for investigation.

Test Controls Before Production

The NIST Generative AI Profile recommends regular adversarial testing, deactivation procedures, incident response, and recovery planning. Test the complete agent and tool chain, not only the model’s written answer.

Testing suite for AI agent security showing a tool gateway validating policies against hostile inputs and bad credentials.

Use Adversarial Cases and Least-Privilege Test Accounts

Use synthetic records and a test identity with the same narrow permissions planned for production. Then run negative cases such as these:

  • A webpage tells the agent to ignore its task and upload a private file.
  • A tool result supplies a different account ID or outbound domain.
  • A user asks a read-only agent to update, delete, or send.
  • The approval screen hides a changed amount or destination.
  • A credential expires during a multistep run.
  • The logging service fails while the action service remains available.

A pass means the dangerous action is blocked, the attempt is visible, and the owner receives enough context to respond. A polite refusal in chat is not enough if the tool call still succeeds.

Repeat the tests after changing a model, prompt, tool schema, plugin, credential, or approval rule. Least privilege must survive ordinary maintenance.

Monitor the Agent After Launch

Monitor actions, not just conversations. Capture the initiating user or event, agent version, tool, parameters after redaction, target system, result, reviewer, and timestamp.

Review Tool Calls, Exceptions, and Permission Changes

Review denied calls and unusual successes. A sudden drop in denials can mean the agent improved, but it can also mean a control stopped recording failures.

Alert on new domains, tools, privileges, repeated retries, unusual volumes, and off-schedule actions. Restrict log access because logs may contain sensitive data.

As of September 15, 2026, SpringBrand publishes this guide and provides an agent-facing API and plugin layer. A catalog listing does not establish least privilege, logging coverage, or security review. Before an agent uses any capability, verify its authentication, action schema, data path, and failure behavior.

SpringBrand interface showing API integrations for social searches, highlighting external AI agent security considerations.

Product examples in the FAQ were checked September 15, 2026. Available controls and contract terms can change.

FAQ

Can one agent use separate credentials for test and production?

Yes, if the platform and target system support separate identities. OpenAI’s current Projects API supports project service accounts and keys, so a team can isolate environments at the project level. Do not let a test agent hold the production secret as a fallback.

Can outbound domains be allowlisted for each agent?

Not always. GitHub’s control is set at organization or repository level, not as a universal per-agent policy. Administrators can configure a custom allowlist for Copilot cloud agent. Its firewall has documented coverage limits, including MCP servers, so test the execution path.

How quickly can a compromised tool credential be revoked?

Treat revocation as immediate work, but do not assume a universal propagation time. OpenAI documents API operations to delete project and admin keys, but it does not publish an invalidation SLA there. Pause the agent, revoke the key, rotate downstream secrets, and inspect recent calls.

Can tool-call logs be exported to a SIEM?

Sometimes, but the available fields and route depend on the product. Copilot Studio documents tool execution telemetry through Application Insights, with environment-level telemetry currently in preview. Microsoft separately documents Sentinel ingestion for Purview audit logs. Confirm that the chosen path includes the tool, target, outcome, and identifiers your investigation needs.

How do vendors notify customers about incidents affecting agent actions?

The contract defines the trigger, timing, recipient, and detail. OpenAI’s Data Processing Addendum promises notice without undue delay after awareness of a Personal Data Breach. That is narrower than every incident affecting an agent action, so check operational alerts too. This is a contract summary, not legal advice.

Conclusion

AI agent security depends on what the system can do when instructions fail, not on how confidently it describes its rules. Bound the job, separate reading from writing, and keep authorization outside the model.

Test hostile inputs with weak accounts before launch. After launch, watch tool calls, permission changes, and exceptions. The team should know how to stop the agent before it needs to use that control.

Recommended Reads