A support agent reads a customer’s attached PDF. Buried in white text on page four is a sentence the customer never typed and your user never saw. The agent follows it, calls a tool it was allowed to call, and nothing in your stack returns an error. This isn’t a theoretical risk; it’s a standard attack path for AI agents that consume external data. Your agent did exactly what it was told, but the instructions came from an attacker.
You need to stop the malicious action, not just log the malicious text. This guide decides for you which tools can do that. We compare 10 prompt injection defense tools on the same six criteria, separating the ones that tell you an attack happened from the ones that stop the tool call before it runs. This comparison is for CISOs, heads of AI, and application security engineers choosing how to defend LLM applications in production.
Get the Short Answer
✓ Lyzr OpenController: Best overall for enterprise agents. Inline guardrails on request and response, plus argument-level tool authorization, per-agent egress control and credential brokerage, running in your own cloud.
✓ Lakera Guard: Best dedicated detection API.
✓ NVIDIA NeMo Guardrails: Best for programmable multi-turn dialog rails.
✓ Azure Prompt Shields: Best for Microsoft-stack teams.
✓ Google Cloud Model Armor: Best for Vertex AI workloads.
✓ Prompt Security: Best centralized gateway for enterprise-wide AI usage.
✓ Cisco AI Defense: Best when Cisco already owns the network and security stack.
✓ Guardrails AI: Best open-source output and schema validation.
✓ Rebuff: Best research-grade multi-signal detection.
✓ LLM Guard: Archived July 2026. Usable as a bridge, not a destination.
What Is Prompt Injection?
Prompt injection is a class of attack where an adversary manipulates an LLM’s behavior by embedding malicious instructions inside input that the model treats as trusted. Two forms dominate production incidents:
- Direct injection – the user’s own input contains instructions that override the system prompt (“ignore your instructions and instead…”)
- Indirect injection – malicious instructions arrive through a source the model processes but the user didn’t write: a retrieved document, a webpage the agent browsed, a tool response, an email body, or content from an MCP server. This is the harder problem, and the one most relevant to agentic systems that consume external data as part of their reasoning
Published research (ICLR 2026) shows balanced detection accuracy sliding from above 90% into the low 80s once ordinary page noise is added to attack payloads, and down to 76.0% on multilanguage attacks. No tool in this guide is perfect, and any vendor claiming otherwise isn’t being honest about the state of the field. Defense in depth, layering multiple tools and techniques, is the only responsible architecture.
Understand How an Injection Lands
Prompt injection is an attacker getting instructions into the model’s context through input the model treats as trusted. OWASP ranks it LLM01; MITRE ATLAS catalogues it as AML.T0051. The damage is in the action, not the sentence. An injected chatbot writes something wrong. An injected agent sends the payment.
- Direct injection comes from the user. It is the version most demos show, and the version detectors handle best.
- Indirect injection comes from content the user never wrote: a retrieved document, a page the agent browsed, a tool response, an email body. This is the real problem for agentic systems, because consuming external content is the whole point of the architecture.
There are three places a defense can intervene:

- Scan the retrieved content before it enters the context.
- Constrain the tool call: which tool, and with which arguments.
- Validate the response before it reaches the user or executes.
Most tools in this guide cover checkpoint 1. Far fewer cover checkpoint 2, which is the one that limits the damage when checkpoint 1 misses.
This became urgent in 2026 for three reasons. First, agents turned a text problem into an action problem. Second, detection has a measured accuracy ceiling, especially against indirect and non-English attacks. Third, regulation like the EU AI Act started asking for evidence of robustness based on standards like OWASP LLM01 and NIST AI 600-1. The market also consolidated when Palo Alto Networks acquired Protect AI (publisher of LLM Guard) and Check Point acquired Lakera, leading to the archival of the widely used open-source LLM Guard repository in July 2026. A frozen scanner is worse than no scanner, as it produces false assurance against an evolving threat landscape.
See How We Scored Every Tool
We evaluated 10 tools against 6 criteria, applying the same yardstick to all of them, Lyzr included. Where another tool is a better pick for a specific job, we say so and say why. Our analysis is based on vendor documentation, public repositories, and published security research as of October 2026. We deliberately excluded offensive and red-teaming tools like Garak and PyRIT, which find vulnerabilities but don’t block them in production.
As the publisher of Lyzr OpenController, we have a bias toward in-path enforcement and containment, which is reflected in our scoring.
| Dimension | What we checked | Why it matters |
|---|---|---|
| Direct detection | Catches instruction overrides in the user’s own prompt. | This is the baseline capability for any injection defense. |
| Indirect detection | Scans retrieved documents, tool output, and other external data. | This is where the most sophisticated attacks on AI agents originate. |
| Position in the path | Blocks synchronously before the call, or reports asynchronously after it. | A synchronous block is a defense; an asynchronous report is an audit trail. |
| Tool-call control | Restricts which tools are callable, and with which arguments. | This contains the blast radius of a successful injection that bypasses detection. |
| Deployment and residency | Your cloud, on-prem, air-gapped, or the vendor’s cloud. | Data residency and control are critical for regulated industries. |
| Maintenance status | Actively updated against new attack patterns, or frozen. | A security tool is only as good as its last update. |
1. Lyzr OpenController: Block the Injection, and Contain the One You Miss
Every detector on this list assumes it will catch the attack. OpenController is built on the assumption that one day it will not, and it limits what a compromised agent can reach when that happens. It’s a universal control plane that provides inline guardrails on the request and response path, enforcing identity, tool policy, and egress before a call ever reaches a model or tool.
Lyzr is an enterprise AI agent platform focused on regulated industries like finance, healthcare, and the public sector. OpenController is our governance product, designed to run in your own cloud or on-prem.
| Capability | A Detection API provides this | Lyzr OpenController adds this |
|---|---|---|
| Flagging injections | ● Yes, in prompts and documents. | ● Yes, plus PII, secrets, and toxicity on request and response. |
| Blocking calls | ◐ If you code it to. | ● In the request path, before the model or tool is called. |
| Tool permissions | ○ No. | ● Restrict which tools an agent can call. |
| Argument permissions | ○ No. | ● Restrict which arguments a tool can be called with. |
| Gateway bypass | ○ No. | ● Per-agent network egress enforcement stops circumvention. |
| Credential security | ○ No. | ● Credentials are brokered at call time, never held by the agent. |
| Audit evidence | ◐ Logs. | ● A versioned, per-request verdict for every call. |
Pick it if you are:
- A CISO who has to answer what happens when the detector misses.
- A head of AI or platform lead running agents with real tool access across several frameworks and clouds.
- In a regulated industry that needs per-request evidence, not sampled logs.
Skip it for now if you are:
- Running a read-only chatbot with no tool access.
- Looking only for the best-benchmarked standalone detector. That is Lakera, and the two work together.
- Fully standardized on one cloud. The native filter is lower friction.
2. Lakera Guard: The Dedicated Detection Specialist

Lakera Guard is an API-first runtime firewall focused on best-in-class detection for prompt injection and jailbreaks. Acquired by Check Point in 2025, its strength lies in the deep adversarial research that feeds its detection models. It identifies threats in prompts, retrieved content, and tool responses, but it does not control permissions in connected systems. It’s the right call for pure detection depth.
- License / Model: Commercial, SaaS or self-host
- Best for: Teams wanting best-in-class detection as a standalone API.
- Not ideal if: You need to enforce tool-level permissions or argument-level constraints.
- Scale signal: Acquired by Check Point; deep research lineage.
3. NVIDIA NeMo Guardrails: Program Your Own Rails

NVIDIA NeMo Guardrails is an open-source toolkit for defining safety policies and dialog flows using a domain-specific language called Colang. It is unique in its ability to manage multi-turn conversational logic and control actions at the tool-execution layer. This makes it powerful for complex conversational agents, but it requires significant engineering discipline to write and maintain the rails.
- License / Model: Apache 2.0
- Best for: Multi-turn conversational agents needing action-level rails.
- Not ideal if: You need out-of-the-box detection without writing custom policy logic.
- Scale signal: Backed by NVIDIA with strong community adoption.
4. Azure Prompt Shields: Native to the Microsoft Stack

Azure Prompt Shields is a capability within Azure AI Content Safety that offers separate detectors for user-authored direct attacks and document-embedded indirect attacks. Its primary advantage is seamless integration for teams already standardized on the Azure AI platform. It returns a verdict, but the application developer is still responsible for deciding whether to act on it.
- License / Model: Commercial, Azure-native
- Best for: Teams standardized on Azure AI.
- Not ideal if: You run a multi-cloud or on-prem architecture.
- Scale signal: Integrated into a major cloud provider’s core AI offering.
5. Google Cloud Model Armor: Native to Vertex AI

Model Armor is Google Cloud’s security layer for Vertex AI, providing injection detection, malicious URL scanning, and sensitive data protection. Like its Azure counterpart, its strength is frictionless activation for users of its native platform. It offers valuable features like malicious URL scanning but is tightly coupled to Google Cloud and Vertex AI specifically.
- License / Model: Commercial, GCP-native
- Best for: Teams running workloads on Vertex AI.
- Not ideal if: Your architecture spans multiple clouds or includes non-Vertex AI models.
- Scale signal: Part of the core security offering for Google’s flagship AI platform.
6. Prompt Security: One Gateway for All Enterprise AI

Prompt Security offers a gateway-based platform that places runtime controls across all enterprise AI usage, including third-party coding assistants and copilots, not just in-house applications. This makes it a strong choice for security teams aiming for centralized governance and visibility over “shadow AI” usage by employees. The trade-off is the infrastructure overhead of a gateway deployment.
- License / Model: Commercial
- Best for: Security teams governing all AI usage centrally.
- Not ideal if: Your focus is solely on protecting a specific application, not enterprise-wide usage.
- Scale signal: Addresses the broader enterprise problem of shadow AI governance.
7. Cisco AI Defense: AI Security Inside the Network Stack

Cisco AI Defense is a broad enterprise AI security platform that extends runtime protection to agent and Multi-Agent Communication Protocol (MCP) interactions. It’s designed to compose with the firewall, SASE, and endpoint security stack that many enterprise security teams already run. It’s a powerful option for existing Cisco shops, but may be overkill for teams needing only a focused detection API.
- License / Model: Commercial
- Best for: Enterprises where Cisco owns the network and security stack.
- Not ideal if: You are not a Cisco shop and only need a point solution for injection.
- Scale signal: Integrated into the portfolio of a dominant enterprise network and security vendor.
8. Guardrails AI: Validate What Comes Back Out

Guardrails AI is an open-source Python library for output validation and enforcing structured data through composable validators. It doesn’t scan incoming prompts for injection; instead, it ensures the model’s output conforms to a strict schema. This makes it an excellent complement to an input scanner and the active open-source successor for the output-validation half of the now-archived LLM Guard.
- License / Model: Apache 2.0
- Best for: Applications that must return reliable structured output.
- Not ideal if: You need to detect the injection attempt on input.
- Scale signal: Active maintenance and growing community post-LLM Guard archival.
9. Rebuff: Four Detection Signals, Layered
Rebuff is a research-backed, open-source detector that combines four distinct techniques: heuristic patterns, an LLM-as-judge, vector similarity search against known attacks, and canary tokens. The multi-signal design and use of canary tokens (which detect a successful injection after the fact) are unique. However, it’s considered research-grade and trades production-level speed for detection depth.
- License / Model: Open source
- Best for: Security research and layered detection experiments.
- Not ideal if: You need a production-hardened tool with low latency and high reliability.
- Scale signal: Strong academic and research backing for its novel approach.
10. LLM Guard: The Frozen Default (Archived)
LLM Guard was the go-to open-source toolkit, with a broad set of input and output scanners. However, the repository was archived in July 2026 and is now read-only. While the MIT-licensed code still runs, it will never receive updates for new attack patterns or vulnerability patches. It can serve as a temporary bridge for teams already using it, but it is not a viable long-term destination.
- License / Model: MIT
- Best for: Teams already running it who need a migration window.
- Not ideal if: You are starting a new project; the detection models are frozen.
- Scale signal: Archived. The most critical signal is its lack of future maintenance.
Also worth knowing: Open-weight classifiers like Meta’s Llama Guard family offer self-hosted detection models. They are a good option for teams needing an open-source classifier to replace LLM Guard’s detection capabilities, but you must supply all the surrounding infrastructure.
Not on this list: Red-teaming tools. Garak, PyRIT, and Promptfoo probe your application for vulnerabilities before release. They are essential for testing but cannot block attacks at runtime.
Compare All 10 Tools Side by Side
● Strong ◐ Partial ○ Not the focus. Editorial assessment, October 2026.
| Tool | Best for | Licence / model | Deployment | Indirect injection | Blocks in the path | Tool-call control | Status |
|---|---|---|---|---|---|---|---|
| Lyzr OpenController | Enterprise agents with real tool access | Commercial | ● Your cloud, on-prem | ● Request and response | ● Yes, synchronous | ● Tool and argument level | Active |
| Lakera Guard | Dedicated detection API | Commercial | ● Hosted, containerized | ● Yes | ◐ If you wire it to | ○ | Active, Check Point |
| NeMo Guardrails | Multi-turn dialog rails | Apache 2.0 | ● Self-hosted | ◐ Via rails you define | ● Yes | ◐ Action-level rails | Active, NVIDIA |
| Azure Prompt Shields | Microsoft-stack teams | Commercial | ○ Azure cloud | ● Document attacks | ◐ Verdict only | ○ | Active, Microsoft |
| Google Model Armor | Vertex AI workloads | Commercial | ○ Google cloud | ◐ Partial | ◐ Verdict only | ○ | Active, Google |
| Prompt Security | Enterprise-wide AI gateway | Commercial | ◐ Gateway or SaaS | ● Yes | ● Yes, at the gateway | ◐ Tool-use validation | Active |
| Cisco AI Defense | Cisco network and security shops | Commercial | ◐ Enterprise infrastructure | ● Incl. MCP | ◐ App decides on verdict | ◐ Tool-call inspection | Active, Cisco |
| Guardrails AI | Output and schema validation | Apache 2.0 | ● Self-hosted | ○ Not an input scanner | ● On output | ○ | Active |
| Rebuff | Research-grade layered detection | Open source | ● Self-hosted | ◐ Partial | ◐ Verdict only | ○ | Research-grade |
| LLM Guard | Existing deployments mid-migration | MIT | ● Self-hosted | ◐ As of archive date | ◐ Verdict only | ○ | Archived Jul 2026 |
Match Your Scenario to a Tool
| If your situation is… | Pick… | Why… |
|---|---|---|
| Agents can move money, write to production, or touch customer data. | Lyzr OpenController | You need to contain the tool call, not just report the attack. Argument-level control is non-negotiable. |
| Your stack uses many frameworks, clouds, and model providers. | Lyzr OpenController | You need a universal policy layer that doesn’t require standardizing on a single vendor’s stack. |
| You want the strongest possible standalone detector. | Lakera Guard | It has the deepest research lineage for pure detection. Pair it with a separate enforcement layer. |
| You are building a complex, multi-turn conversational agent. | NeMo Guardrails | Colang provides granular control over dialog flow and state that other tools lack. |
| You are 100% on Azure or Google Cloud with no multi-cloud plans. | Azure Prompt Shields or Model Armor | The native filters offer near-zero integration overhead and are the path of least resistance. |
| The CISO owns the budget and needs to govern all employee AI use. | Prompt Security or Cisco AI Defense | These gateways cover shadow AI and third-party tools, which application-level defenses miss. |
| You require an open-source, self-hosted stack. | NeMo Guardrails + Guardrails AI | Combine NeMo for input/dialog control and Guardrails AI for output validation. Add an open-weight classifier for detection. |
| You are still running LLM Guard in production. | A migration plan. | Your detection models stopped updating in July 2026. Keep it as a bridge while you migrate to an active tool. |
Build Your Defense Stack in Layers
Most production teams run a combination of tools. A common pattern is a specialist detector for Layer 1 and an enforcement platform like OpenController for Layer 2.
| Layer | Job | Typical Choice |
|---|---|---|
| 1. Input Scanning | Classify incoming prompts and retrieved data for instruction overrides. | Lakera Guard, Azure Prompt Shields, Model Armor |
| 2. Containment | Constrain which tools, APIs, and endpoints the agent may reach. | Lyzr OpenController, NeMo Guardrails, Prompt Security |
| 3. Output Validation | Check the response and resulting action against a defined schema. | Guardrails AI, Lyzr OpenController |
To build this stack, first map every untrusted input path into your agent’s context. Then, scan that content, not just the user’s prompt. Critically, cut the agent’s permissions to only the tools necessary for its task and constrain those tool calls by argument, not just by name. This is the layer a scanner cannot provide, and where a containment tool like OpenController does its work.
Run These 5 Tests in Every Vendor Demo
- The indirect test. Hand them a document with an injection buried in it, not a prompt. Ask them to show the block happening during retrieval.
- The synchronous test. Ask whether the check blocks or logs, and what the application does on a timeout. “Fail open” is an answer you need in writing.
- The argument test. Ask them to allow a tool call with one set of arguments and refuse the same tool with another, live.
- The bypass test. Ask what stops the agent calling the model provider directly and skipping their layer entirely.
- The evidence test. Ask for the per-request record an auditor would accept, showing the verdict, the agent version that ran, and who owns it.
Get Answers to Common Questions
What is the difference between direct and indirect prompt injection?
Direct injection comes from the user’s own input. Indirect injection arrives through something the model processes but the user never wrote: a retrieved document, a browsed page, or a tool response. Indirect is harder to detect and is the dominant real-world vector for AI agents.
Can prompt injection be fully prevented?
No. There is no perfect model-level fix or detector. Every credible recommendation is a layered defense, which is why this guide weights containment (limiting what a compromised agent can do) as heavily as detection.
What is the difference between detecting prompt injection and defending against it?
A detector returns a verdict about a piece of text. A defense changes what happens next. If the check is asynchronous or can be ignored, you have an audit trail, not a control. Defense means the check sits in the request path and can refuse the call before it runs.
Is LLM Guard still maintained?
No. The repository was archived in July 2026. The last release was v0.3.16. The package still installs, but it receives no new detection models or security patches. Treat it as a bridge and plan a migration.
How does prompt injection defense differ for agents versus single LLM calls?
An injected chatbot produces a bad sentence. An injected agent takes an action: a database write, a payment, an API call. Agent defense requires not just scanning but also per-tool authorization and egress control to limit the blast radius of a successful attack.
What are the three layers of prompt injection defense?
Input scanning (detecting and blocking malicious instructions in incoming prompts and retrieved data), structural separation (delimiting untrusted content so the LLM distinguishes data from instructions), and output validation with enforcement (checking that the model’s response and actions conform to policy and blocking violations before they execute).
Is LLM Guard still maintained?
No. The LLM Guard repository was archived by Palo Alto Networks (which acquired Protect AI) in July 2026. The existing codebase is still usable under its MIT license, but there will be no further updates or detection-model improvements. Teams using it in production should plan a migration.
How does prompt injection defense differ for agents versus single LLM calls?
Agents are harder to defend because they consume external data (retrieved documents, tool outputs, MCP responses) as part of their reasoning, creating more surfaces for indirect injection. They also take actions (tool calls, database writes, API requests), so a successful injection can do more damage than just generating a bad text response. Effective agent-level defense requires per-tool authorization and egress control in addition to input/output scanning.
Does the EU AI Act require prompt injection defense?
The EU AI Act’s August 2026 deadline for Annex III high-risk AI compliance requires organizations to demonstrate robustness testing against adversarial inputs, which includes prompt injection. NIST’s forthcoming COSAIS framework will add federal-level control overlays, and OWASP LLM01, MITRE ATLAS AML.T0051, and NIST AI 600-1 provide the testing baselines.
What is per-tool authorization and why does it matter for injection defense?
Per-tool authorization controls which tools an agent can call and what arguments it can pass, at the policy level. Without it, a successfully injected agent can call any tool available to it with any arguments. With it, even a compromised agent is constrained to its authorized scope, containing the blast radius. OpenController and Prompt Security both support this, but the depth of argument-level policy varies.
Should I use an open-source or commercial prompt injection tool?
Open-source tools (NeMo Guardrails, Guardrails AI, Rebuff) keep data in your infrastructure and let you inspect the detection logic, which matters when the guardrail decides what’s safe. Commercial tools (Lakera, Azure Prompt Shields, Model Armor) offer managed, continuously-updated detection with lower setup effort. Most production stacks combine both: an open-source PII and format layer plus a hosted service for fast-moving threats like injection.
How much latency do prompt injection tools add?
Ranges vary: Lakera Guard reports 5-50ms typical in synchronous deployment. OpenController measures roughly 11 ms of gateway overhead per call. NeMo Guardrails targets sub-100ms with GPU acceleration. The right question isn’t just “how many milliseconds” but “is the check synchronous (blocking) or asynchronous (logging),” since a fast check that doesn’t block isn’t a defense, it’s an audit trail.
Choose the Layer Your Stack Is Missing
Your choice depends on what your stack is missing. If you have no scanner at all, start with your cloud’s native filter or Lakera Guard. If you have a scanner but it only logs alerts, your immediate priority is to make that check synchronous and blocking.
But if your agents can pay, write, or send—if they can take real action—then detection is only the first layer. Containment is the layer that decides what a miss costs you. That is what Lyzr OpenController was built for, running alongside whichever detector you already trust.
Talk to us about your agent security stack
Book A Demo: Click Here
Join our Slack: Click Here
Link to our GitHub: Click Here
