Get the latest, first
arrowBlog
AI Workload Security on GKE: Evaluating Google Cloud Native vs Third-Party Solutions

AI Workload Security on GKE: Evaluating Google Cloud Native vs Third-Party Solutions

Apr 20, 2026

Yossi Ben Naim
VP of Product Management

Key takeaways

  • Why is Model Armor not enough for AI workload security on GKE? Model Armor operates on the content plane — prompts, responses, classifier outputs. The agent’s behavior after a screened response runs on the runtime plane, where syscalls, child processes, and identity token use determine what actually happens. Different data planes; securing one says nothing about the other.
  • What does Container Threat Detection catch for AI agents, and what does it miss? CTD ships static rules tuned to known-malicious patterns. It catches AI incidents that cross a traditional bad-pattern signal and is silent on the larger subset where an injected agent misuses its authorized tool surface in a sequence it has never produced before.
  • Where does Chronicle stop being useful for AI agent incidents? Its curated detection sets are organized around traditional cloud and endpoint threats. There are no shipped rules that correlate Model Armor screening decisions, Workload Identity token use, and downstream tool invocations into AI-agent-specific incidents. The customer’s detection engineering team writes that logic.

A CISO running AI agents on GKE has watched three Google product launches in eighteen months — Model Armor, expanded Security Command Center coverage for AI workloads, additions to Chronicle’s curated detection content — and is being asked whether the GCP-native stack is now sufficient. The vendor demos and the Google Cloud blog say yes. The 2 AM analyst experience says something different.

The question that produces a useful answer isn’t “does GCP have AI security.” Every cloud has AI security in the marketing-page sense. The question is whether GCP has a plane where signals from Model Armor, Container Threat Detection, Event Threat Detection, and Chronicle arrive as one assembled story rather than three separate consoles a tired analyst has to mentally stitch together. That is a structurally different question, and it produces a structurally different answer. What follows is a per-service map of three load-bearing GCP detection products, one concrete incident scenario, and an honest accounting of what the buyer is left to assemble themselves.

This article maps three GCP detection products in the depth required to see it. The criteria for evaluating AI workload security tools apply across clouds; GKE’s answer turns out to be the most fragmented of the three.

Why the GCP-native AI security question is not a feature checklist

AI workload security is a layered problem. The content layer is everything that happens in the language the model and the agent process: prompts, responses, classifier outputs, DLP matches. The runtime layer is everything that happens in the kernel and process surface where the agent executes: syscalls, child processes, file access, network destinations. The identity layer is everything in the credential and federation surface: token issuance, scope use, the audit trail of who did what with which permission.

GCP has products at each layer. Model Armor sits at the content layer. Container Threat Detection sits at the runtime layer. Event Threat Detection, Cloud Audit Logs, and Workload Identity audit sit at the identity layer. Each is mature enough to ship to production. None of them sit on a shared data plane. That last sentence is the entire evaluation. A buyer who treats the GCP-native AI security question as a feature checklist will end up with a spreadsheet that confirms each layer is covered and miss the only question that matters: what happens when an incident touches all three layers, which is what most AI agent incidents do.

Model Armor: the content-plane control

Model Armor is Google’s prompt and response screening service. It inspects inbound prompts before they reach the model and outbound responses before they reach the caller, applies safety filters and DLP-style content classifiers, and emits a screening decision the calling application acts on. For prompt-based jailbreaks, sensitive data exfiltration in plaintext responses, and policy-violating output, it does real work and does it well.

Model Armor’s data plane terminates at the response boundary. What the agent process does after the response reaches it — syscalls, child processes, network destinations, identity tokens — is on a different data plane that Model Armor was not designed to observe. This is not a feature gap waiting for a roadmap fix. It is the design of the product.

Indirect prompt injection is the case where this matters most. In a standard retrieval-augmented generation pattern, the agent retrieves a document and includes its content in the prompt. Model Armor screens that prompt. If the retrieved document contains an injection crafted to read as benign instructional text — and indirect injection payloads are crafted to do exactly that — Model Armor will frequently let it through. This is not Model Armor failing. It is the documented residual risk of any content classifier operating on adversarial prose, and Google’s own Model Armor documentation acknowledges it as a class of threat content inspection alone cannot fully address. We have walked the production detection chain for prompt injection in AI agent workloads separately; the point here is narrower — the layer where the attack lands is not the layer where Model Armor operates.

The trap is the buyer who reads “Model Armor protects AI workloads” in a marketing page and concludes the question is answered. Model Armor protects the content surface. The agent’s behavior after a screened response runs on the runtime surface, and the runtime surface needs a different category of control — one that observes behavior rather than language. Behavior-plane controls like eBPF-based runtime sensors and per-Deployment behavioral baselines exist to answer the question Model Armor cannot, on a data plane Model Armor does not see.

Security Command Center: Container Threat Detection and Event Threat Detection

Security Command Center is the closest thing GCP has to a unified security console, and within SCC the two products that matter for AI workload runtime detection are Container Threat Detection and Event Threat Detection. Of the three major cloud providers, GCP’s runtime detection story is the most fragmented — AWS funnels through GuardDuty and CloudTrail and Azure funnels through Defender for Cloud and Sentinel, while GCP splits the runtime layer across CTD, ETD, and Chronicle without a unified plane.

Container Threat Detection ships static rules tuned to known-malicious patterns at the container runtime surface. Its actual finding types include Added Binary Executed, Added Library Loaded, Reverse Shell, Malicious Script Executed, Malicious URL Observed, and a handful of others organized around the same model: known-bad signatures associated with traditional container compromise. For traditional workload threats this works. A reverse shell is a reverse shell regardless of which workload is running.

For AI agent threats the model breaks down. The most consequential AI agent compromises don’t involve added binaries or reverse shells. They involve the agent doing something its authorized tool surface allows, in a sequence it has never produced before, against a target that is technically permitted but contextually wrong. An injected agent that calls a legitimate internal tool which spawns an interpreter as part of its normal operation matches nothing in CTD’s rule set. CTD does not build per-workload behavioral baselines, so it has no way to register “this child process is unusual for this Deployment.” It catches AI incidents that cross a traditional malicious-pattern signal and is silent on the larger subset where the agent is being misused through entirely authorized actions — not a flaw, but a static-pattern detection model meeting a non-deterministic workload class.

Event Threat Detection sits at the identity and audit surface. It emits findings for suspicious IAM grants, anomalous service account use, and privilege escalation patterns visible in the audit log. Its detection model assumes relatively stable identity behavior — principals that act in characteristic ways over time. AI agents structurally violate this assumption: an agent’s identity use varies legitimately as the model evolves and as new tools come online. ETD’s anomaly model treats this variation as either signal (and produces noise) or as expected (and goes quiet during the actual attack). Worse, CTD findings and ETD findings live in the same SCC console as separate finding types with no shipped correlation between them — two rows in the findings list, joined only by the analyst.

The behavior-plane gap CTD’s static rules cannot close is precisely what per-Deployment behavioral baselines are built to close: profiles that survive pod churn and tolerate the variability AI agents introduce, paired with eBPF-based runtime telemetry that registers semantic anomalies the kernel-pattern view cannot see. This is the layer ARMO’s Application Profile DNA and CADR sensors are designed to occupy. The enforcement-side controls on GKE — Workload Identity Federation, gVisor, VPC Service Controls — are a separate question we have covered in detail for the GKE sandboxing case; this article stays on the detection side. Two deployment caveats worth pricing explicitly. First, Google’s own documentation states that Container Threat Detection is not compatible with GKE Sandbox — meaning teams that follow Google’s recommended AI agent architecture (Agent Sandbox CRD with gVisor) lose CTD entirely on those clusters. Second, GKE Autopilot restricts the privileged DaemonSets that eBPF-based runtime tools require, which affects both ARMO’s sensor and Google’s own CTD. Both are properties of the platform, not vendor limitations.

Chronicle: the correlation layer that doesn’t yet know about AI agents

Chronicle is Google’s SecOps platform — an ingestion, retention, and correlation layer designed to be the unified plane where signals from across the security stack arrive, get normalized into Google’s Unified Data Model, and become available to a rules engine that correlates them into incidents. Its scale is real, its UDM normalization is genuinely useful, and Google positions it as the place where the fragmentation problem this article describes is supposed to get solved.

The current state is more specific than the positioning. Chronicle’s shipping curated detection sets are organized around traditional cloud and endpoint threat patterns: credential exfiltration, anomalous IAM grants, known-malware indicators. There is no curated rule set in the currently shipping content that says: a Model Armor screening pass plus a Workload Identity token use plus a downstream tool invocation against a sensitive data target equals a potential indirect injection chain. That logic is possible to express in Chronicle’s rule language. It has not been written and shipped by Google.

The detection engineering team at the customer is therefore the entity that has to write it. They have to understand the indirect injection threat model well enough to specify the correlation, write the rules, tune them against false positives, and maintain them as the agent population shifts. Most teams running on Chronicle today are not doing this work, because most are still focused on the traditional cloud threat surface that Chronicle’s curated content covers.

The buyer who assumes Chronicle is the unified plane is assuming work that hasn’t been done — neither by Google in the form of shipped rules, nor by their own team in the form of authored ones. Until then it is an ingestion layer with the architectural shape of a correlation plane and the AI-agent content of a blank slate. CADR platforms that ship cross-layer correlation built on the AI-agent threat model close that gap by routing the assembled story into Chronicle as a single event — the architectural pattern behind ARMO’s cloud-native security platform for AI workloads.

The 2:14 AM moment

A specific scenario carries this argument better than any general claim. An AI agent running in GKE Standard receives a tool-use request that includes content retrieved from an internal document store. Embedded in that document is an indirect prompt injection, crafted to read as benign instructional text. Model Armor screens the prompt. The screening passes, because the injection is structured to defeat content classifiers operating on adversarial prose.

The agent, now operating on the injected instruction, calls an internal tool it is authorized to call. The tool spawns a child process as part of its normal operation. The agent uses its Workload Identity token to access a data source within the scope its identity permits. From the GCP control plane’s perspective, every action is authorized and every audit event is routine.

Three things happen in the next ninety seconds. Model Armor logs the screening pass: prompt screened, no policy violation. Cloud Audit Logs records the Workload Identity token use against the data source. Container Threat Detection emits nothing, because no added binary executed, no reverse shell opened, no malicious script ran, and no known-bad pattern matched. The runtime layer of the GCP-native stack is silent during the actual incident.

At 2:14 AM the on-call analyst gets paged for an unrelated low-priority issue and, while triaging it, notices something odd in a Chronicle search: two events in the same time window on the same workload identity. The Model Armor log is clean. The Cloud Audit Logs entry is routine. They have to decide, in the next sixty seconds, whether to escalate, suppress, or investigate. None of the three GCP products did anything wrong — Model Armor screened correctly, Cloud Audit Logs recorded accurately, CTD had nothing in its rule set to fire on. The problem is that the assembled story — these observations are the same incident and the agent is being misused through its own authorized tool surface — does not exist anywhere in the GCP-native plane.

What the buyer is left assembling

The fragmentation argument is only useful if it converts into something the buyer can budget against. There are four assembly burdens that GCP-native leaves to the customer.

Cross-product correlation logic is the first. Writing Chronicle rules that join Model Armor logs to Workload Identity audit events to downstream tool invocations, in the patterns that indicate AI agent misuse, has to be specified, written, tuned, and maintained. The team that takes it on needs both detection engineering capacity and AI agent threat modeling capacity, which are not commonly co-located.

Behavioral baselines for non-deterministic agents are the second. CTD ships static rules; AI agents need baselines that survive model updates, pod churn, and shifting tool surfaces without going noisy or going silent — the same problem that makes intent drift detection a category of its own rather than a baseline tuning exercise. Building these on top of the GCP-native stack requires either custom telemetry pipelines or a separate runtime tool that ships them out of the box.

Content-plane to behavior-plane bridging is the third. Model Armor logs and CTD findings live in different products with different schemas and timestamps. Reasoning about a screening decision in the context of a runtime observation has no native plane that joins them — the join has to be constructed in Chronicle by hand.

Identity-event to runtime-event linkage is the fourth. ETD findings and CTD findings exist in the same SCC console as separate finding types. Linking an identity anomaly to the runtime behavior it produced requires the analyst to know the link exists and construct the query themselves.

Each of these is the kind of thing a sufficiently funded detection engineering team can build. Most teams are not, and even the ones that are have to choose between building this and building everything else on the SecOps roadmap.

How to evaluate GKE AI workload security in a vendor demo

Three diagnostic questions to ask any vendor — including Google. They extend the broader checklist for what to look for in an AI workload security tool with GCP-specific evidence demands, and they are diagnostic precisely because they fail equally well for any tool whose answer is “we ingest signals” rather than “we correlate them.”

First: show me a single incident where a Model Armor log entry, a Container Threat Detection finding, and a Workload Identity audit event are correlated as one event without my detection engineering team writing the rule. The failing answer is “you can build that in Chronicle.” That is a true statement and also the entire problem the question was designed to surface.

Second: show me a behavioral baseline for an AI agent that has been in production for thirty days and gone through three model updates. What does normal look like? The failing answer is a per-pod baseline. AI agent pods don’t live long enough to converge at the pod level, which is why per-Deployment baselines exist as the only convergence-stable answer.

Third: show me what your tool sees when an agent does exactly what it is authorized to do, in a sequence it has never produced before. The failing answer is silence. This is the core AI agent misuse pattern, and any detection model that can only fire on known-bad patterns will go quiet during the most consequential class of agent incident. 

These are the questions your next vendor demo should answer. If the vendor can’t pass them live, no amount of roadmap slides will close the gap later.

If you want to see what a passing answer looks like — cross-product correlation without custom Chronicle rules, per-Deployment behavioral baselines that survive model updates, and the assembled attack story your analyst needs when an incident touches all three layers — run those three questions against ARMO.

FAQ

Is Model Armor enough for AI workload security on GKE?

Model Armor is a content-plane control. It inspects prompts and responses well within its design intent. It does not see what the agent does after a screened response — the syscalls, child processes, network destinations, and identity token use that determine the actual security outcome. Treating it as a complete answer is a category error.

Can I correlate SCC findings and Chronicle events for AI agents myself?

Yes — Chronicle’s rule language supports this. The work has to be specified, written, tuned, and maintained by your detection engineering team, and requires AI-agent threat modeling capacity that most SOC teams are still building. Google has not shipped curated rules for this category as of current Chronicle content.

Does GKE Autopilot or GKE Sandbox affect my ability to deploy runtime AI security?

Both do, in different ways. GKE Autopilot restricts privileged DaemonSets that eBPF-based runtime detection depends on, affecting any tool using that approach. GKE Sandbox (gVisor) is incompatible with Container Threat Detection entirely — Google’s own documentation says CTD must be disabled on clusters running GKE Sandbox. Teams following Google’s recommended Agent Sandbox CRD architecture lose Google’s own runtime detection product on those clusters.

How does this evaluation change if I’m running Vertex AI Agent Builder instead of self-hosted agents on GKE?

The content-plane and identity-plane analysis still applies. The runtime-plane analysis shifts because Agent Builder abstracts away the underlying compute, which means you lose direct access to the runtime surface where behavioral detection lives. The trade-off is managed simplicity for runtime visibility, and the buyer should price that explicitly.

Close

Your Cloud Security Advantage Starts Here

Webinars
Data Sheets
Surveys and more
Group 1410190284
Ben Hirschberg CTO & Co-Founder
Rotem_sec_exp_200
Rotem Refael VP R&D
Group 1410191140
Amit Schendel Security researcher
slack_logos Continue to Slack

Get the information you need directly from our experts!

new-messageContinue as a guest