Skip to content

Anyone whose agent reads text it did not write

Assume the model will be persuaded. Bound what follows.

Indirect prompt injection is not a bug to be patched. Any agent that reads external content can be given instructions by whoever wrote it. The durable defence is not better detection — it is making the compromised instruction unable to reach anything that matters.

Ask yourself

If your coding agent were told to read .env.production and post it to a webhook, what would stop it today?

Today

What you are working around

  • Agents read tickets, PRs, web pages, and PDFs written by people you do not control
  • The model cannot reliably tell instructions from data, and probably never will
  • Detection classifiers can be evaded by anyone willing to iterate
  • A single successful injection can reach every credential in the process

What changes

The specific difference

Each of these is a module you can read about in detail — this is the same platform, not a variant.
  • Authorization sits outside the model

    The policy never consulted the model about whether the call was allowed, so persuading the model changes nothing about the verdict.

    Policy Engine
  • Credentials are not in the context to steal

    The agent holds handles. Exfiltrating a handle to an unauthorized destination yields an opaque string.

    Secrets
  • Egress is allowlisted

    Even a permitted read cannot be posted anywhere the policy did not sanction, matched at resolved-IP level.

    Runtime Security
  • Detection raises friction, it does not gate

    An injection score annotates the trace and can escalate a call to human approval. It is never the only thing standing between an attacker and a secret.

    Runtime Security

In detail

Why detection alone is the wrong architecture

A classifier on natural-language content is probabilistic, and the attacker gets unlimited attempts with immediate feedback. Any control whose strength depends on winning that race degrades silently as the attacks improve. A deterministic authorization decision on the resulting tool call does not — it either matched a policy or it did not, and rewording the payload does not change that.

What a successful injection actually costs

With the control plane in place, a successful injection produces: a denied call, a flagged trace, a deny-rate anomaly on that agent, and an audit record naming the attempt. That is not zero impact — the model was compromised and its output for that run is suspect. It is bounded impact, which is the property you can actually build on.

What we will not claim

Cirvix does not prevent prompt injection, and no product does. It does not make a compromised agent produce trustworthy reasoning. What it changes is the set of actions that reasoning can reach, according to the policies you configured.

Get started

Let the agents do real work.

Start with the free local scanner — it needs no account and tells you what is already ungoverned on your machine. Move to a governed runtime when you are ready.

Cirvix AgentControl is in private beta. Pricing is published and plans are not yet chargeable — early access confirms your place and we will tell you before anything bills.