Security teams should use dynamic, application-specific probes rather than static fuzzing payloads. LLMs respond to context, instructions, and business purpose, so generic strings often get rejected or miss the real weakness. Effective testing should target the system’s intended use, likely harm categories, and any RAG or agent behaviour. That approach finds data leaks, tool misuse, and jailbreak paths more reliably.
Why Static Fuzzing Misses the Real LLM Failure Modes
Traditional fuzzing assumes that malformed inputs, random mutation, or known bad strings will surface weaknesses in a predictable parser or interface. LLM applications behave differently: the model interprets intent, follows instructions, and may route requests through retrieval or tools. That means the interesting failures are often contextual, not syntactic, so static payloads under-test the system.
For this reason, test design should start from the application’s real job, not from a generic corpus of injection strings. If the system answers customer questions, drafts code, or calls tools on the user’s behalf, the tester should probe those exact behaviours. A prompt that looks harmless in isolation can become dangerous once it is paired with business context, retrieved content, or agent permissions.
Testing also needs to separate model behaviour from application behaviour. A response can be safe at the model layer yet still leak data through retrieval, over-broad tool calls, or unsafe post-processing. That is why dynamic probes matter more than static fuzzing: they exercise the complete path that the user actually triggers, including RAG, system instructions, function calling, and guardrail logic. For agentic use cases, this is the point at which OWASP Top 10 for Agentic Applications 2026 becomes especially relevant, because the failure modes extend beyond text generation into tool misuse and privilege abuse.
When teams test against intended use, they are more likely to find data exposure, instruction override, and action abuse than when they throw random payloads at the interface. That is the practical shift: the target is no longer just “does the prompt break?”, but “can the application be induced to do something unsafe within its own workflow?”
How to Build Probes That Reflect the Application, Not the Model
Useful probes are scenario-based. Start with a realistic task, then vary the surrounding context to challenge the boundaries the application claims to enforce. For example, if the app retrieves internal documents, probe whether an ordinary user can coax it into revealing restricted content, summarising hidden instructions, or quoting source material that should not be returned verbatim. If it can call tools, probe whether it will invoke them with over-broad parameters, on the wrong object, or without sufficient confirmation.
A good probe set usually includes three layers: benign baseline prompts, boundary-testing prompts, and adversarial prompts that attempt to shift the system away from its intended purpose. The baseline establishes expected behaviour. The boundary tests look for failures in instruction hierarchy, context handling, and policy enforcement. The adversarial tests focus on prompt injection, retrieval poisoning, data exfiltration, and tool misuse. That progression is more informative than a large pile of unrelated strings.
Teams should also test the application’s own assumptions about trust. RAG systems often assume retrieved text is informational, but retrieved text can itself contain malicious instructions. Tool-enabled systems often assume the model will choose the right action, but the model may select an action that is syntactically valid and operationally harmful. For practical methodology, the OWASP Web Security Testing Guide remains a useful structure for exercising application inputs, outputs, and control points, even though the payloads themselves should be adapted to LLM behaviour.
In operational terms, the best probes are specific enough to a workflow that the application cannot dismiss them as noise. A customer-support assistant, a coding assistant, and an enterprise search assistant need different test cases because the harm categories differ. That is the point of dynamic testing: it maps directly to intended function and likely misuse.
Risk and Threat Considerations
Static fuzzing gives a false sense of coverage because LLM failures are often driven by instruction conflicts, contextual leakage, and unsafe orchestration rather than malformed tokens. The main risk is that teams validate the wrong layer and miss data loss or unauthorized actions that only appear when retrieval, tools, and permissions are exercised together.
Failure mechanism: An attacker or red teamer can use a context-aware prompt to induce disclosure, override a guardrail, poison retrieved context, or trigger an unsafe tool call that would never be reached by a generic fuzz string.
Impact: The result can be confidential data exposure, incorrect automated actions, unsafe downstream system changes, or a jailbreak path that persists across repeated user interactions.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP Agentic AI Top 10 address the attack and risk surface, while NIST AI RMF, NIST AI 600-1, NIST CSF 2.0 and CIS Controls v8 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP Agentic AI Top 10 | A1 — Prompt Injection | LLM app testing must cover instruction override and jailbreak paths. |
| A4 — Tool Misuse | The question explicitly includes agent behaviour and tool abuse. | |
| A5 — Data Leakage | Dynamic probes should find disclosure through retrieval, context, or output handling. | |
| Recommendation — Design dynamic probes to exercise prompt injection and instruction hierarchy failures. Test tool calls for unsafe actions, over-broad parameters, and missing confirmations. Probe for sensitive data leakage through prompts, RAG, and generated outputs. | ||
| NIST AI RMF | MAP — Measure, Analyze, and Manage | Testing should assess real workflow risk and failure modes, not generic payload rejection. |
| Recommendation — Measure system behaviour against intended use, harm cases, and operational context. | ||
| NIST AI 600-1 | P — Pre-deployment Testing and Evaluation | The question is about how to test LLM applications before trust is placed in them. |
| I — Incident Disclosure and Response | Testing should surface failures that would require operational escalation or disclosure. | |
| Recommendation — Use application-specific evaluation scenarios before release and after major changes. Capture and route discovered leakage or unsafe-action findings into incident handling. | ||
| NIST CSF 2.0 | PR.DS — Data Security | The testing goal includes finding data leaks and exposure paths in LLM applications. |
| Recommendation — Validate that sensitive data cannot be disclosed through prompts, retrieval, or outputs. | ||
| CIS Controls v8 | 16 — Application Software Security | LLM apps are application security subjects and need scenario-based security testing. |
| Recommendation — Test application logic and abuse cases beyond generic input mutation. | ||
Practitioner Guidance
What to prioritise: Test the highest-consequence workflows first, especially any path that can retrieve sensitive content or invoke tools with write, delete, approve, or send capability. Those are the cases where an apparently small prompt weakness can create a material incident.
What to verify: Confirm that each probe is tied to a real business action, a real data class, or a real trust boundary. If a test does not exercise one of those, it is probably measuring model robustness, not application security.
Common mistake: Treating red-team prompts as a reusable library instead of tailoring them to the app’s purpose. That approach overtests generic refusal behaviour and undertests the ways the application actually fails in production.
Practitioner takeaway: The goal is not to “break the model”, it is to prove that the full LLM application can resist unsafe outcomes when ordinary users, retrieved context, and tool access interact.
Related resources from NHI Mgmt Group
- How should security teams test single-page applications without relying on browser crawling?
- How should security teams test LLM applications for runtime security failures?
- How should security teams evaluate AI agents that test web apps, APIs, mobile apps, and LLM applications without losing control over the testing process?
- Why do LLM applications need failure tracking instead of relying on traditional software error handling?