Frameworks and standards

How to get AI agents through a security review (and SOC 2)

A security reviewer asks the same seven questions about an agent that they ask about any new system, and if your customers run SOC 2, those seven questions already map onto specific Trust Services Criteria.

By
Dan Flanagan
Updated
October 14, 2026
Checked against
the AICPA's Trust Services Criteria for SOC 2 (aicpa-cima.com) and the MCP specification's Security Best Practices page (modelcontextprotocol.io), October 2026
Reading time
6 min

New to MCP? What is an MCP server? covers the basics first.

A security review of an AI agent asks the same questions it would ask about any new piece of software: what can it reach, who is it, and what happens when something goes wrong. If a customer runs SOC 2, those same questions already map onto specific items in the Trust Services Criteria, mostly CC6 (access), CC7 (operations and monitoring), CC8 (change management) and CC9 (vendor risk).

What a reviewer asks about an agent

Most agent reviews, SOC 2 or not, come back to seven things.

  • Inventory. Which agents exist, which MCP servers they're connected to, and who added each one.
  • Identity. Whether each agent is its own principal with its own credential, or borrows a person's key.
  • Access control. Which tools each agent can call, not just which servers it's connected to.
  • Credentials. Where the upstream API keys live, and whether the agent itself can read them.
  • Logging. Whether you can say which agent called which tool, when, and whether it was allowed.
  • Data flows. What data a tool call can read or send, and where it can send it to.
  • Vendor risk for MCP servers. Who wrote the server code you're running, and what you checked before you ran it.

A worked example

Say a team runs an agent that triages GitHub issues: it reads new issues, labels them, and comments with a suggested owner. It's connected to the official GitHub MCP server, which also offers merge_pull_request and delete_repository.

Here is what a reviewer would ask about it:

  • Whether the agent is named in a server inventory, with its own token or an engineer's personal one.
  • Whether it can call merge_pull_request, even though its job is only to read and label. By default it can: MCP hands a connected client every tool a server offers.
  • Whether the agent's process can read the GitHub token, so a crafted issue body could ask it to print the key.
  • Whether there's a record of exactly what it called, for the case where it mislabels something or calls a tool it shouldn't.
  • Whether it could post a private repository's contents somewhere outside GitHub.
  • Who maintains the server code it's running, and whether that was checked before anyone installed it.

None of this is specific to Statio. A reviewer asks the same things whatever sits in front of the agent.

Mapping the questions to SOC 2

SOC 2 reports follow the AICPA's Trust Services Criteria. The Security category, the Common Criteria numbered CC1 through CC9, is mandatory in every SOC 2 report. CC6 covers logical and physical access, CC7 covers system operations, CC8 covers change management, and CC9 covers risk mitigation, including vendor risk. These are the four an agent review tends to land on.

Agent review questions mapped to SOC 2's Common Criteria
Review questionSOC 2 criterionWhat it asks
IdentityCC6.1, CC6.2Logical access infrastructure exists, and credentials are issued only after a user (or agent) is registered and authorized.
Access controlCC6.3Access is modified or removed based on documented, approved requests, not left to whatever a connected server happens to expose.
Credentials, data flowsCC6.6, CC6.7Access from outside the system boundary carries extra controls, and the movement of information is restricted to authorized users and processes.
Vendor risk for MCP serversCC6.8Controls exist to prevent or detect unauthorized or malicious software, which covers a server you install from a package registry.
LoggingCC7.2, CC7.3Security events are monitored, evaluated and reported, including anomalies in how a system is used.
Inventory, change managementCC8.1Changes to system components, which includes adding a new MCP server or granting a new tool, are authorized before they take effect.
Vendor risk for MCP serversCC9.2Vendor and business-partner risk is identified and managed, which covers whoever wrote the server code your agent runs.

The exact item numbers and the structure above come from reliable summaries of the AICPA criteria (Scrut's CC-series guide, Akku's CC6 breakdown and Strac's CC1-CC9 reference), not from reading the full AICPA standard. If you're preparing for an actual audit, work from your auditor's control matrix, not this table.

Evidence to collect before the review

A reviewer wants records. For an agent program, that usually means:

  • A current list of every agent, every MCP server it's connected to, and who owns each one.
  • For each agent, proof its credential is its own and not a copied personal token.
  • A record of what each agent is allowed to call, down to the tool, not the server.
  • Where upstream API keys are stored, and confirmation the agent process can't read them directly.
  • At least one period's worth of tool-call logs: caller, tool, server, result, and timestamp.
  • A sample of refused calls, showing the system actually stops something.
  • For each third-party MCP server, when it was reviewed and by whom, and whether it's pinned to a version.
  • Who approved adding each server or granting each tool, and when.

Least privilege for AI agents and What to log when AI agents call tools cover the first four and the fifth in more depth. Malicious MCP servers covers vetting the server itself.

Defenses in general, and where a gateway helps

Most of the gaps above come from the same root cause: MCP leaves authorization, identity and logging to whoever runs the server, and most servers do none of it well. AI agent identity covers giving every agent its own credential. MCP authorization and OAuth covers the protocol's own token model. Keep credentials out of AI agents covers why the agent process shouldn't hold the key it calls with. A gateway sitting in front of your MCP servers is one way to get per-tool access, agent identity and a single log in one place instead of building each piece per server.

Statio is one option for that gateway: per-tool permissions grant or deny individual tools, agent identity gives every agent its own short-lived token, and the audit trail records every call and refusal, with a signed export to your SIEM on Business and up.

Statio has not completed a SOC 2 audit, an ISO 27001 certification or any other third-party attestation. Its logs and access controls can produce the evidence listed above, but compliance is a program your organization runs and an auditor signs off on. If a server you connect still runs unrestricted, or nobody reviews the servers you add, those gaps remain.

A gateway also doesn't close every item on the list by itself. CC1 through CC5 (your control environment, risk assessment and the rest) and most of CC9's business continuity testing have nothing to do with MCP, and no agent tool addresses them. And no product fully stops prompt injection: the MCP security best practices page describes the risk directly, and the mitigation on offer anywhere is to limit what a compromised call can do and to see it when it happens.

To see where your own setup stands against the questions above, run the MCP security checklist. It's a browser tool with 13 questions and a fix for each gap.

Next

Questions

No. A gateway can produce evidence an auditor asks for, such as access records and logs. Compliance also covers governance and risk assessment, which a gateway doesn't touch. Statio has no SOC 2 report or any other certification, and no vendor's tool substitutes for one.

CC6 (logical access) and CC9.2 (vendor risk) tend to come up first, because an agent's access is usually all-or-nothing per server and the MCP server itself is third-party code you're running. CC7 (monitoring) follows once a reviewer asks how you'd know if something went wrong.

A reviewer asks the same questions either way: who the agent is, what it can call, where the keys are and what you logged. Fewer servers just means less to inventory.

Refused calls are often the more useful record. They show the control actually stopped something, instead of only existing on paper.

CC9.2 covers vendor and business-partner risk, which an internal server you wrote isn't. CC8.1 (change management) still applies: changes to it should go through the same review and approval as any other system component.