Snowflake Cortex Agent Security: Guardrails, Monitoring and Access Control for CoWork and CoCo
Snowflake built a real guardrail layer for Cortex Agents and turned it on with one account setting. The gap that matters is narrow and specific: an agent inherits the privileges of the person who called it, and no role grant can express whether the action it just proposed should happen.
Direct answer
Snowflake Cortex is well governed on data access. Cortex AI Guardrails reached general availability for CoWork and Cortex Agents on 14 May 2026 and screen for prompt injection, jailbreaks and novel attack patterns, and every tool a Cortex Agent touches is gated by your existing Snowflake roles and privileges. Three documented limits decide whether that is enough. Guardrails are configured once at the account level by ACCOUNTADMIN, so there is no per-agent policy. Snowflake states they are available only to Commercial accounts that are not Gov, VPS or Sovereign and that have cross-region inference enabled. And because Cortex Agents determine session permissions from the querying user's default role, an agent called by an analyst can read everything that analyst can read. Snowflake announced Cortex AI Gateway on 28 July 2026 to close much of this, and as announced most of it was in preview.
Try it live
Watch Agentshield block an attack in real time.
Pick a scenario and drive the inspection lane yourself. No signup needed.
Run a request
Runs the live engine on your text. Nothing is stored, no account needed.
Inspection lane
INSPECTINGPolicy trace
High-risk action held for approval
Audit trail
- § · → → →
The risk
The names moved underneath the documentation. Snowflake Intelligence became Snowflake CoWork and Cortex Code became CoCo at Snowflake Summit 2026, which means a security review signed off against Snowflake Intelligence now describes a product that has expanded from conversational analytics into an agent that connects to tools and acts on them. Nothing broke and nothing was deprecated. What changed is scope: the thing your review covered answered questions about data, and the thing running today calls tools, executes SQL under a human role, and in the CoCo case runs terminal commands on a laptop. The paperwork still matches the old shape.
How Agentshield handles it
Switch on what Snowflake gives you first, because it is included and nothing you buy replaces it. Set AI_SETTINGS at the account level so Cortex AI Guardrails cover CoCo, CoWork and Cortex Agents in one move, and confirm your account is eligible before you promise it to an auditor. Then fix the blast radius, which is the part guardrails do not touch: build purpose-built Snowflake roles scoped to the exact tables, schemas and operations each agent needs, rather than letting agents run under a broad analyst default role. Keep tool approvals on in CoCo and treat Bypass Approvals as an isolated-environment setting only. Watch the traces in Snowsight under AI and ML, Agents, Monitoring. Then put a deterministic policy layer in front of the tool calls themselves, so an irreversible action is checked against a rule you wrote and a human approves it, with one audit record that covers your Snowflake, AWS, Azure and Google agents instead of four separate consoles.
The controls
The controls that secure the Cortex Agents your teams run in Snowflake CoWork and CoCo, and the warehouse data those agents can reach.
Is Snowflake Cortex secure? What Snowflake covers in 2026
Yes, on the dimensions Snowflake has always been good at, and it is worth being precise because most writing on this subject is vague exactly where a security review needs detail. Cortex Agents do not bypass the Snowflake permission model, they run inside it. Here is what ships natively, taken from Snowflake's own documentation rather than a launch blog.
| Control | What Snowflake documents | Where it sits |
|---|---|---|
| Cortex AI Guardrails | Run-time protection against prompt injection and jailbreak attacks, part of the Snowflake Horizon Catalog. Prompt injection detection "scans each tool's outputs to detect and flag indirect prompt injections that attempt to override system instructions", plus jailbreak prevention and zero-day style protection for previously unknown attack patterns | Model input and tool output |
| Role-based tool access | Calling an agent requires the SNOWFLAKE.CORTEX_USER or SNOWFLAKE.CORTEX_AGENT_USER database role, privileges on the agent object, and privileges on the objects used by the agent's tools. If the user's role is missing privileges on a tool, the request is rejected with a 4XX error | Data and tool authorization |
| Existing RBAC inheritance | Data access is controlled by your existing Snowflake roles and privileges, and by the execution context of each configured tool. Nothing new to model if your warehouse grants are already clean | Data perimeter |
| Agent monitoring in Snowsight | Trace data for agent executions and a record of blocked malicious attempts, under AI and ML, then Agents, then Monitoring | Observability |
| Tool approvals in CoCo | Tool approvals are on by default and the agent prompts you before each tool call. Bypass Approvals auto-approves every tool call, and Snowflake tells you to reserve it for isolated environments | Human gate |
| Agent terminal sandbox | The agent terminal sandbox wraps every terminal command the agent runs inside an isolated sandbox process | Local execution |
That is a real stack, and a team that turns all of it on is further ahead than most agent deployments we see. Snowflake also deserves credit for something rarer than any single feature: it publishes its own limits in the same documents as the features, in plain language, which is not the industry norm. The rest of this page is built on those published limits rather than on speculation, because guessing at a platform's weaknesses is how vendors end up strawmanning a product that is genuinely well built.
Snowflake Intelligence is now CoWork: what your security review has to re-check
If you are researching this now, there is a decent chance you did not choose the current product so much as get renamed into it. Snowflake changed two product names at Summit 2026, and while neither change was a shutdown, both widened what the named thing actually does.
| Question | What changed |
|---|---|
| What happened to Snowflake Intelligence? | It was renamed Snowflake CoWork at Snowflake Summit 2026. Snowflake describes the product as having expanded from conversational analytics toward a work agent that reasons across data, automates work and connects to tools. |
| What happened to Cortex Code? | Cortex Code was renamed CoCo. Snowflake states product functionality and architecture remained the same through that rename. |
| Did anything get deprecated? | No. These are naming and packaging changes. Running agents keep running and no generally available feature was removed. |
| Why does the rename matter for security then? | Because the scope of the product moved even though the architecture did not. A review that assessed a natural language interface to your warehouse does not cover an agent that calls tools and executes actions on their results. |
| What should be re-checked first? | Which roles agents actually run under, which tools are registered, whether AI_SETTINGS is configured for guardrails, and whether anyone is running CoCo with Bypass Approvals enabled outside an isolated environment. |
The administrative risk here is the same one we documented when Agentspace became Gemini Enterprise and when Azure AI Foundry became Microsoft Foundry. Nothing operational breaks. The control document simply stops describing the deployment, and nobody notices until an auditor reads both.
Where Cortex AI Guardrails stop: three limits Snowflake documents itself
Cortex AI Guardrails became generally available on 20 April 2026 and were extended to Snowflake CoWork and Cortex Agents on 14 May 2026. Account administrators enable them for all supported surfaces with a single account-level setting using the AI_SETTINGS parameter. That single setting is both the best and the most limiting thing about them.
| Limit | What Snowflake states | Why it matters to a buyer |
|---|---|---|
| Account-level only, ACCOUNTADMIN only | Users with the ACCOUNTADMIN role can configure Cortex AI Guardrails, and administrators enable them for all supported surfaces with a single account-level setting | There is one policy for the whole account. A finance agent that can move money and a documentation agent that can only read a wiki get identical treatment, and changing it needs your most privileged role |
| Excluded account types | "Cortex AI Guardrails are available to Commercial (non-Gov, VPS, Sovereign) accounts that have Cross-region inference enabled." The account parameter CORTEX_ENABLED_CROSS_REGION must be set to one of the permitted region values | The most regulated buyers, government, sovereign and Virtual Private Snowflake deployments, cannot switch on the native prompt injection guardrail at all. Enabling it elsewhere requires cross-region inference, which is itself a data residency decision your compliance team owns |
| Probabilistic detection | "While Cortex AI Guardrails are optimized for high accuracy, some legitimate prompts may occasionally be flagged" | This is an honest disclosure and every detection system shares it. It means guardrails are a filter that reduces risk, not a gate that proves an action was authorized. Both false positives and false negatives exist |
The second row is the one worth stopping on, because it inverts the usual assumption. Teams generally expect that the more regulated their deployment, the more security controls they get. Here the opposite is true: a federal or Virtual Private Snowflake customer, which is precisely the customer with the strictest injection threat model, is the customer Snowflake's documentation excludes from the native guardrail. If that is your account type, the prompt injection control has to come from somewhere else, and it is worth confirming your eligibility before the control appears in a compliance narrative.
None of this makes guardrails a bad feature. A single account-level switch that covers three surfaces is a genuinely good design decision for the majority of customers, and Snowflake shipping it at no additional charge inside Horizon is more than several competitors do. It is a coverage control. It is not a policy engine.
What a Cortex Agent is actually allowed to do
This is the part that decides your blast radius, and it comes down to one sentence in Snowflake's documentation: Cortex Agents determine session permissions from the querying user's default role. For CoCo Desktop the equivalent statement is that it runs SQL with whatever role the active connection specifies.
Read that operationally. An agent invoked by a senior analyst can query everything that senior analyst can query. Snowflake is not doing anything wrong here, it is applying the permission model consistently, and that consistency is why the platform is trusted. But an agent is not a person. A person who reads a suspicious message in a support ticket does not then run a query because the message told them to. An agent might, because the instruction and the data arrive through the same channel.
Snowflake's own recommended practice is to scope roles specifically for agent use and create purpose-built roles limited to the exact tables, schemas and operations the agent requires. That advice is correct and most teams have not done it. If you do one thing after reading this page, do that one, because it costs nothing and it shrinks the radius of every other problem on this list.
What the CoCo sandbox does and does not cover
The agent terminal sandbox wraps every terminal command inside an isolated sandbox process, which is a real control. Snowflake documents its edges clearly: the sandbox applies only to terminal commands the agent runs via the Bash tool and does not restrict file edits or SQL execution, sandbox behavior depends on OS-level sandboxing capabilities and may vary between macOS, Windows and Linux, and web fetch content enters the main context window rather than an isolated one, with coverage of novel injection patterns that "isn't complete". Snowflake also states directly that defending against prompt injection in the inputs you supply is your responsibility, and advises vetting untrusted sources before letting the agent read them.
The vulnerability that showed why the gate matters
CVE-2026-6442 is worth knowing about, and worth describing accurately rather than dramatically. Improper validation of bash commands in Snowflake Cortex Code CLI versions before 1.0.25 allowed commands to execute outside the sandbox. The reported path was indirect prompt injection through untrusted repository content such as a poisoned README, abusing process substitution syntax that the agent's command allowlist failed to validate, which bypassed the human-in-the-loop command approval and escaped the sandbox. Snowflake fixed it in Cortex Code CLI 1.0.25, released on 28 February 2026, and the fix applies automatically when the CLI relaunches. Exploitation was non-deterministic and model dependent, and there were no confirmed reports of real-world exploitation.
Snowflake handled this well and patched it. The durable lesson is not that Snowflake was careless, it is structural: the approval gate and the allowlist lived inside the same agent process that was reading the attacker's text. Any control that an injected instruction can reach is a control an injected instruction can eventually argue with. That is the same reason we recommend an out-of-process policy check for agents on AWS Bedrock AgentCore and every other platform, and it has nothing to do with which vendor built the agent.
Cortex AI Gateway: what Snowflake announced at Black Hat 2026
Any page comparing Snowflake to a third-party control layer that ignores this section is out of date. On 28 July 2026 at Black Hat, Snowflake announced Cortex AI Gateway, a centralized control layer for connecting, governing and monitoring AI agents as they reach into models, tools, MCP servers and internal systems. It is the most direct native answer to the gap the rest of this page describes, and it is more ambitious than most people realize.
| Capability | What Snowflake describes |
|---|---|
| What it governs | First-party agents built in Snowflake CoWork and CoCo, plus third-party agents from Amazon Bedrock, Azure AI Foundry, ChatGPT, Claude Code, Cursor, LangChain and LlamaIndex |
| Models and tools | Access across models including GPT, Gemini, Claude, Grok, Mistral and GLM, and more than 100 MCP servers including bring-your-own and VPC connect |
| Policy and identity | Access and data policies, authentication, fine-grained authorization and permissions, agent identity verification, and short-lived task-scoped access credentials |
| Visibility | Automatic discovery and monitoring of shadow AI and MCP servers, real-time capture of tool calls, and end-to-end activity records showing which agent acted, which tools it reached and in what order |
| Cost control | Token consumption tracking, cost attribution and spending limits per agent |
| Partner integrations | Identity and security integrations announced with 1Password, Aembit, Cyera, Linx Security, Okta, SailPoint and Saviynt |
Read that list honestly and it covers a lot of ground, including the cross-cloud problem, since governing Bedrock and Azure AI Foundry agents from one place is exactly the thing most warehouse-native tools cannot do. Short-lived task-scoped credentials are the right primitive. Shadow MCP discovery is a real problem few vendors address at all.
The caveat is maturity, and it is a factual one rather than a competitive jab. As announced, most Cortex AI Gateway features were in private or public preview with no general availability date given for the full platform, and third-party agent access was in private preview specifically. That matters for procurement in the ordinary way any preview feature does: preview terms usually carry different support commitments, feature behavior can change, and a control in preview is difficult to put in front of an auditor as your primary compliance answer. Google's Semantic Governance sits in the same position for the same reason, which we cover on the Gemini Enterprise security page.
Our straight recommendation: if your agent estate is centered on Snowflake and your timeline allows waiting for general availability, evaluate Cortex AI Gateway first. It is native, it is included in the platform relationship you already have, and buying a third-party layer to replicate something your data platform is shipping is a bad use of budget. Evaluate an independent layer when you need enforcement now rather than at GA, when you need a deterministic approval gate on irreversible actions rather than policy and monitoring, or when your account type is excluded from the native guardrails.
Snowflake native controls versus a runtime policy layer
Here is the honest split. We are not the answer to most rows in this table, and pretending otherwise would waste your evaluation time.
| Requirement | Best answer | Why |
|---|---|---|
| Stop an agent reading a table it should not reach | Snowflake RBAC | Purpose-built roles scoped to specific tables and schemas. This is native, free and stronger than any external layer. Do this first and do not buy anything for it |
| Screen prompts and tool outputs for injection and jailbreaks | Cortex AI Guardrails | One account-level setting covering CoCo, CoWork and Cortex Agents, included in Horizon. If your account type is eligible, turn it on before evaluating anything else |
| Encrypt, isolate and certify the data platform | Snowflake | The warehouse security and compliance story is mature and is not the weak point in any agent deployment we have reviewed |
| Different policies for a finance agent and a docs agent | A runtime policy layer | Guardrails are configured once per account. Per-agent and per-tool rules need something that sits outside that single setting |
| Injection defense on a Gov, VPS or Sovereign account | A runtime policy layer | Snowflake documents that guardrails are available to Commercial accounts that are not Gov, VPS or Sovereign. If that is your account type the control has to come from outside the platform |
| Deterministic approval before an irreversible action | A runtime policy layer | Guardrails classify text probabilistically and may flag legitimate prompts. Deciding that a refund above a threshold needs a named human is a rule, not a classification |
| Governing agents and MCP servers from one Snowflake-centric control plane | Cortex AI Gateway | If your estate centers on Snowflake and you can wait for general availability, the native gateway governs first-party and third-party agents, discovers shadow MCP servers and issues short-lived task-scoped credentials. Evaluate it before buying a layer to replicate it |
| One audit trail across Snowflake, AWS, Azure and Google agents | A runtime policy layer | Snowsight shows Snowflake agent traces only. Cortex AI Gateway targets this directly, with third-party agent access in private preview as announced, so today this depends on whether you can adopt a preview control |
Five of eight rows say buy nothing and configure Snowflake properly. That is the accurate answer for a team whose agents read data and answer questions. The three rows where an independent layer earns its place all involve an agent taking an action that changes something outside the warehouse, on an account type Snowflake excludes, or across more than one cloud. If none of those describe you, close this page and go write your agent roles.
If they do describe you, the shape of the fix is the same one we describe for every platform: a deterministic gate that evaluates the proposed tool call against rules you wrote, a human approval step on actions that cannot be undone, and one monitored record of every agent action that spans clouds. Agentshield sits in front of the tool call rather than inside the agent, which is the property that makes it hard for injected text to negotiate with.
FAQ
Common questions about snowflake cortex agent security.
Is Snowflake Cortex secure?
Yes as a platform. Cortex Agents run inside the existing Snowflake permission model, so data access is controlled by your existing roles and privileges and by the execution context of each configured tool, and Cortex AI Guardrails add run-time protection against prompt injection and jailbreaks. The open question is agent behavior rather than platform security: what a legitimately authorized agent decides to do.
What are Cortex AI Guardrails?
They are run-time protections in the Snowflake Horizon Catalog that defend CoCo, Snowflake CoWork and Cortex Agents against prompt injection and jailbreak attacks. Prompt injection detection scans each tool's outputs to flag indirect injections that try to override system instructions, alongside jailbreak prevention and zero-day style protection for previously unknown attack patterns. They reached general availability on 20 April 2026.
How do I enable Cortex AI Guardrails?
Account administrators enable guardrails for all supported surfaces with a single account-level setting using the AI_SETTINGS parameter, and Snowflake documents that users with the ACCOUNTADMIN role can configure them. One setting covers CoCo, Snowflake CoWork and Cortex Agents together. There is no per-agent or per-tool configuration at this level.
Are Cortex AI Guardrails available on government accounts?
No. Snowflake documents that Cortex AI Guardrails are available to Commercial accounts that are not Gov, VPS or Sovereign, and that the account must have cross-region inference enabled with CORTEX_ENABLED_CROSS_REGION set to a permitted region value. Government, sovereign and Virtual Private Snowflake customers need to source prompt injection defense from outside the native feature.
What is Snowflake Cortex AI Gateway?
It is a centralized control layer Snowflake announced at Black Hat on 28 July 2026 for connecting, governing and monitoring AI agents as they reach models, tools, MCP servers and internal systems. It covers first-party CoWork and CoCo agents plus third-party agents from Bedrock, Azure AI Foundry, Claude Code and Cursor, adds shadow MCP discovery and short-lived task-scoped credentials. As announced, most features were in preview.
What role does a Snowflake Cortex Agent run as?
Cortex Agents determine session permissions from the querying user's default role, and CoCo Desktop runs SQL with whatever role the active connection specifies. In practice an agent can reach whatever the person who invoked it can reach. Snowflake recommends creating purpose-built roles scoped to the exact tables, schemas and operations each agent requires rather than relying on a broad default role.
What happened to Snowflake Intelligence?
Snowflake Intelligence was renamed Snowflake CoWork at Snowflake Summit 2026, and Cortex Code was renamed CoCo at the same time. Snowflake states functionality and architecture were unchanged through the Cortex Code rename. No feature was deprecated, but CoWork is described as having expanded from conversational analytics toward an agent that connects to tools and automates work.
What is CVE-2026-6442?
It was a remote code execution flaw in Snowflake Cortex Code CLI before version 1.0.25, where improper validation of bash commands let commands execute outside the sandbox. Indirect prompt injection through untrusted repository content abused process substitution syntax the allowlist did not validate, bypassing command approval. Snowflake fixed it in 1.0.25 on 28 February 2026, applied automatically on relaunch, with no confirmed real-world exploitation.
Does the CoCo sandbox stop prompt injection?
Not on its own, and Snowflake says so. The sandbox applies only to terminal commands run via the Bash tool and does not restrict file edits or SQL execution, its behavior varies across macOS, Windows and Linux, and web fetch content enters the main context window rather than an isolated one with incomplete coverage of novel injection patterns. Snowflake states that defending against prompt injection in the inputs you supply is your responsibility.
How do I monitor Snowflake Cortex Agents?
Snowsight provides agent monitoring under AI and ML, then Agents, then Monitoring, where you can see trace data for agent executions and malicious attempts that guardrails blocked. That covers Snowflake activity. If your agents also run in AWS, Azure or Google Cloud, correlating those traces into a single audit record is work the platform does not do for you.
Do I still need third party security if I use Snowflake Cortex?
It depends on what your agents do. If they read data and answer questions, configure purpose-built roles and turn on Cortex AI Guardrails and you are largely covered. You need an independent layer in three cases: your account type is excluded from guardrails, different agents need different policies rather than one account-wide setting, or agents take irreversible actions and you need a deterministic approval gate and one audit trail across clouds.
More use cases