What Is AI Agent Prompt Injection?
AI agent prompt injection is prompt injection that occurs in a system able to plan, choose tools, read and write state and act across several steps. The injection mechanism is not new. What differs is the environment in which the influenced text lands: instead of a single answer, the model produces plans and action proposals that other components may execute.
The influencing content can enter directly, through the user channel the application intends to accept, or indirectly, through website content, email, documents, retrieved passages, search results, repository text or a tool result. Both paths can reach the same planner.
This is therefore not a third injection variant beside direct and indirect injection. It is the same mechanism analysed in a system where the consequence of an influenced plan can be an action rather than a sentence.
For the foundations of the tool-calling loop, see the Learn article AI Agents and Tool Calling.
Why Agency Changes the Security Consequence
A conversational assistant without tools can produce wrong, misleading or manipulated output. That matters for integrity of information and for downstream systems that consume the answer, but the model itself reaches nothing. An agent additionally holds or can request capabilities: it reads records, writes state, sends messages, calls services, changes configuration or runs code, depending on how it was built.
| Aspect | Assistant without tools | Agent with capabilities |
|---|---|---|
| Immediate result of influence | Changed text output | Changed plan and proposed actions |
| Reach | Limited to the response and its consumers | Bounded by the tools, data and identities actually available |
| Persistence | Usually the conversation | Memory, state, indexes and downstream records |
| Decisive control | Output handling at the sink | Deterministic authorization before each action |
| Number of gates | Few | One per action and per hop |
The consequence is not determined by the label "agent" but by concrete properties: which tools exist, which data is reachable, which identity and delegated authority are used, which actions are irreversible and which control layers sit between a proposal and an effect.
Scope and Related Classes
| Class | Defining mechanism | Relationship to prompt injection |
|---|---|---|
| Direct Prompt Injection | User input competes with application instructions | Entry path into the agent |
| Indirect Prompt Injection | External content carries influencing text into context | Entry path into the agent |
| Tool Output Injection | Content returned by a tool influences the next step | Entry path on the response side of a call |
| Agent Goal Hijack (ASI01) | The agent pursues an objective other than the authorized one | Frequent consequence, not a synonym |
| Tool Misuse and Exploitation (ASI02) | Tools are used outside their intended purpose or parameters | Consequence and separate attack surface |
| Identity and Privilege Abuse (ASI03) | Agent identity, delegation or entitlements are misused | Enabling weakness and amplifier |
| Memory and Context Poisoning (ASI06) | Durable state carries adversarial content into later tasks | Persistence mechanism, distinct class |
| Insecure Inter-Agent Communication (ASI07) | Messages between agents are trusted without verification | Separate boundary, covered in Multi-Agent Prompt Injection |
| Excessive Agency (LLM03:2026) | Excessive functionality, permissions or autonomy | Design risk that turns manipulated output into damaging action |
| Improper Output Handling | A downstream sink mishandles model or tool output | Separate weakness at the consuming system |
| Code or command injection, RCE | Data becomes executable instructions | Different mechanism and different boundary |
| Compromised tool or MCP server | The component itself is subverted | Supply chain and component integrity |
Insecure inter-agent communication is covered in Multi-Agent Prompt Injection.
OWASP describes excessive agency as a vulnerability enabled by excessive functionality, permissions or autonomy, which allows damaging actions in response to unexpected, ambiguous or manipulated model output. Prompt injection is one way that output becomes manipulated; the damage potential comes from the agency granted by the design.
Direct and Indirect Entry Into an Agent
The task, prompt, parameters or uploaded material supplied through the intended channel.
Index content selected for relevance and assembled into context.
Pages, titles, snippets and result URLs obtained through browsing or search tools.
Text written by external parties inside otherwise internal systems.
Files, attachments, repository text and designated instruction files read for the task.
Response payloads, error text and logs returned after an authorized call.
Summaries, notes and stored task state written during earlier runs.
Messages from other agents that themselves consumed external content.
All of these can reach the same planner, but they do not carry the same trust properties. Direct input is attributable to an authenticated principal and is still untrusted as instruction authority. External content usually has no attributable author at all. Provenance must therefore be recorded at the point of ingestion, not reconstructed afterwards.
Direct prompt injection and indirect prompt injection describe these entry paths in detail; this article follows what happens once the content is inside an agent loop.
The Agent Execution Pipeline
Planner, policy, authorization and the tool runtime are operator-controlled components. Incoming external context and tool observations are untrusted by default. Plans, proposals and effects are variable: their security meaning depends on what the surrounding controls allow.
Goal, Task and Authority Are Different Things
| Concept | Who defines it | What it may decide |
|---|---|---|
| User goal or task | The initiating human or service | What the agent should try to accomplish, within policy |
| Application policy | The operator of the system | Which actions, resources and destinations are permissible at all |
| Permission | The identity and authorization system | Which concrete operation on which resource is allowed now |
Text that states a goal, however imperative its phrasing, is at most an input to the first column. It cannot create policy and cannot create permission. A system that lets goal statements widen data access or action scope has moved an authorization decision into the model.
Agent Identity Versus Initiating Principal
The human or service that started the task and whose accountability applies to it.
The agent's own lifecycle-managed identity, with an accountable owner or sponsor.
The explicitly granted on-behalf-of authority for this task, bounded in scope and time.
The identity a called service sees and re-authorizes, which may differ from the orchestrator's.
A single credential used by many tasks or users, which blurs accountability and widens scope.
Microsoft's least-privilege guidance for AI agents recommends stable, lifecycle-managed agent identities with an accountable owner, scoped and just-in-time entitlements, task-scoped authorization, explicit tool and action policy, downstream authorization and fast revocation. The related identity and access guidance recommends making trust decisions per user, agent, plugin and tool, and binding permissions to the initiating principal and the specific task.
Capability Inventory and Effective Permission Graph
Reviewing tools one at a time understates risk. What matters is the effective permission graph: everything the agent can reach end to end, across systems, with the identities available to it. Several individually narrow permissions can combine into a wide blast radius.
Read issues and customer notes in the support system.
Read attachments referenced by an issue.
Post a comment containing free text.
Call an outbound notification service with a configurable recipient.
Sensitive content can be read and then placed into a destination that the task never required. The combination, not any single grant, creates the exposure path.
Inventory questions per agent
- Which tools are registered, and which are actually reachable in this task type?
- Which data classes can be read through each of them?
- Which write, send, delete, purchase, deploy, permission-change or execute capabilities exist?
- Which identity and delegation does each hop use?
- Which actions are irreversible or externally visible?
- Which combinations create a read-then-send path out of the trust zone?
A controlled exercise, the Tool-Chain Analysis lab, practices sequence-level composition analysis: cumulative effects, retries after unobserved outcomes and bounded cross-agent chains. It is a deterministic simulation, not a procedure for chaining real systems.
Planning, Proposal and Execution Separation
Model output is a proposal. It suggests a tool, a resource and parameters. The decision about whether that exact operation happens belongs to a deterministic component outside the model, which evaluates the initiating principal, the task scope, the resource, the parameters and the policy version.
| Capability | Typical risk | Control expectation |
|---|---|---|
| Read | Data exposure and aggregation | Data-class policy and per-resource authorization |
| Write or update | Integrity loss and poisoned downstream state | Exact record binding and change review |
| Send or publish | Exfiltration and external effects | Destination allowlist and data-class checks |
| Delete | Irreversible loss | Step-up approval and recoverability |
| Purchase or transact | Financial impact | Human approval bound to the exact transaction |
| Deploy or configure | Environment-wide impact | Change control and separated environments |
| Permission change | Privilege escalation | Explicitly denied to agents by default |
| Execute code or commands | Arbitrary effects | Isolated sandbox without standing credentials |
The Observation and Replanning Loop
Agents act in loops. A tool result, a memory read or an external observation returns, the planner updates its view and proposes the next step. Influence introduced at any point in that loop can shape every later step, which is why an agent chain is not a single decision but a sequence of them.
- 01Observation arrives
A tool result, retrieved passage or memory entry enters context with its provenance label.
- 02Plan is updated
The planner reconciles the observation with the task and produces a revised plan.
- 03Next action is proposed
A tool, resource and parameter set are suggested for the following step.
- 04Authorization runs again
The proposal is checked against policy, task scope and the initiating principal, independently of earlier approvals.
- 05Effect and logging
The permitted operation executes, and the decision, parameters and result are recorded.
Tool Selection Versus Tool Output
| Step | What is influenced | Where control belongs |
|---|---|---|
| Tool selection | Which tool or capability the planner picks | Tool registry integrity, selection policy and per-task tool allowlists |
| Tool invocation | Which resource and parameters are used | Deterministic authorization bound to the exact action |
| Tool output | What the returned content does to the next plan | Result provenance, field minimization and re-authorization |
Manipulating tool selection targets the catalogue and the choice; tool output injection begins after a call was made and concerns the response. Both belong to the agent path and both need separate controls. The dedicated article on tool output injection covers the response side in depth; MCP tool metadata injection covers the pre-invocation catalogue side.
State, Memory and Persistence
Turn history that continues to shape the current session.
Scratchpad-like task notes carried between steps of the same run.
Durable entries intended to be reused in later tasks.
Condensed derivatives that keep the influence but lose the provenance.
Content written back into a retrievable store and served to other tasks.
Tickets, documents or configuration changed by an earlier step.
Persistence turns a single exposure into a recurring one: content written once can be retrieved and re-enter context long afterwards, possibly for a different user. Memory and context poisoning is a distinct class with its own controls, and it is one of the main reasons an agent finding cannot be closed by ending the session.
State controls
- Record lineage for every memory or index write, including its source and task
- Isolate memory per tenant, user and task where the data model allows it
- Require provenance-aware review before external content becomes durable memory
- Support targeted invalidation and rebuild of derived state
- Expire working state instead of carrying it across unrelated tasks
The Multi-Agent Boundary
When an agent delegates to a peer or sub-agent, the response is an observation like any other. It does not become authoritative because it came from an internal component, and the calling agent cannot assume the callee applied the same provenance and authorization rules.
The minimum expectation in a multi-agent setup is that each agent keeps its own identity, its own task-scoped authorization and its own logging, and that a downstream service re-authorizes the request rather than trusting the orchestration layer.
The Agent Injection Success Chain
- 01Controlled input or source
An attacker or user controls a direct input or an external source the agent will consult.
- 02Content reaches agent context
The material is fetched, retrieved or returned and assembled into model-visible context.
- 03Plan is influenced
The planner's interpretation, goal framing or proposed step changes measurably.
- 04Relevant capability exists
A tool or permission that could produce the intended effect is actually available.
- 05Action reaches authorization
A concrete proposal with resource and parameters is submitted to the deciding control.
- 06Policy fails or is overbroad
The decision permits the action, because no rule covers it or the scope is too wide.
- 07Action executes
The operation runs against the real resource with the granted capability.
- 08Security-relevant effect
Unauthorized access, modification, transmission or persistence actually occurs.
In a multi-step run, each observation, replanning step and action is its own instance of the later stages. A chain can be broken at any one of them, and it can be broken repeatedly.
Competing Constraints
| Constraint | Stage it affects | Outcome when it holds |
|---|---|---|
| Source not reachable for the task | Ingestion | No model exposure at all |
| Provenance retained and authority classified | Context assembly | Content is treated as data, not as instruction |
| Planner not influenced | Planning | No plan or goal drift observed |
| Tool unavailable for this task type | Capability | No path to the intended effect |
| Initiating principal lacks the permission | Authorization | Proposal denied before execution |
| Scoped credential not issued | Capability | The action cannot be performed even if proposed |
| Action or destination denied by policy | Authorization | Influence without a security-relevant effect |
| Human approval rejects the exact action | Approval | Execution stops at the oversight gate |
| Egress blocked | Information flow | No data leaves the trust zone |
| Downstream service re-authorizes | Execution | The call fails at the resource owner |
| Loop, step, time or cost limits | Loop | Propagation ends before an effect |
| Review catches drift | Oversight | The run is stopped and investigated |
Each deterministic constraint cuts the chain at a different depth. When an early constraint holds, there may be no model exposure at all; when a late one holds, influence is observable but no security-relevant effect occurs. That difference is the whole point of layered control and should be recorded rather than averaged away.
Authorized Offensive Assessment
Agent testing belongs in an authorized engagement with a written scope, a non-production environment or clearly bounded permissions, synthetic data and reversible effects. The purpose is to learn which gate holds, not to demonstrate that a model can be influenced.
Questions that structure the assessment
- Which entry surfaces may legitimately be controlled during the test?
- Which tools and capabilities does the test agent actually hold?
- Which identity and delegation are used at each hop?
- Which actions are permitted, which are denied, and by which component?
- Where does state or persistence arise during a run?
- Can an influenced plan widen scope, destination or data class?
- Is cross-system action chaining possible with the available identities?
- Which gate stopped the chain, and is that gate deterministic?
Worked Scenario
A synthetic internal operations agent is asked to analyse a support issue and, if appropriate, update the corresponding ticket. Its task-scoped capabilities are: read the issue and its comments, read the linked knowledge article, and update the status and summary field of that specific ticket.
An operator asks the agent to triage issue OPS-4821 and update its status.
A comment on the issue, written through the public portal, contains narrative text that frames an unrelated customer record as part of the task and suggests sending a summary to an outside address.
The comment is included with its provenance label: external, portal-submitted, not attributable to an authenticated employee.
The planner's proposed plan now includes reading the unrelated record and a notification step. Model influence is observed and logged.
The task-scoped capability set contains no read access to unrelated customer records and no outbound notification tool.
Both proposed steps are denied deterministically, with the policy version, resource and parameters recorded.
The agent completes the authorized part: it updates the status and summary of OPS-4821 only.
Deepest observed gate: authorization. Plan influence observed; no unauthorized action, no data exposure, no persistence beyond the authorized ticket update.
Authorization Architecture
- 01Unique agent identity
A lifecycle-managed identity with an accountable owner or sponsor, distinct from any human account.
- 02Preserved initiating principal
The identity that started the task travels with the request and is visible to every decision point.
- 03Task-scoped authorization
Permissions are bound to the current task, not to the agent in general.
- 04Just-in-time entitlement
Short-lived, narrowly scoped credentials issued for a specific operation instead of standing access.
- 05Per-tool and per-action allowlists
Explicit policy for which tools and which operations are available in this task type.
- 06Exact binding
The decision covers the concrete action, resource, target and parameters, not a general capability.
- 07Downstream re-authorization
The called service authorizes independently; orchestrator approval alone is not sufficient.
- 08Step-up and human approval
Irreversible, high-impact or externally visible actions require an approval bound to the exact operation.
- 09Re-authorization on change
Any change of parameters, target or state between decision and execution triggers a new decision.
- 10Fast revocation
Entitlements, tokens and sessions can be invalidated immediately, with a working kill switch for the agent.
These expectations follow the published least-privilege and shared-responsibility guidance for AI agents: per-tool least privilege, per-action authorization, human-in-the-loop gates for consequential operations, sandboxing and egress control, memory isolation and auditing.
Information Flow and Egress
The dangerous combination is sensitive context plus an attacker-influenced destination. As long as the destination set is fixed by policy, an influenced plan cannot turn reachable data into transmitted data.
Flow controls
- Allowlist destinations for every send, publish, callback and outbound request
- Classify data and forbid classes that must not leave the trust zone, regardless of destination
- Avoid standing credentials in the agent context; issue short-lived, task-scoped ones instead
- Keep provenance with the content so flow decisions can consider where it came from
- Minimize what is loaded into context in the first place
- Log the destination, data class and decision for every outbound action
Detection and Telemetry
The human or service principal that started the task.
The agent's own identity and its accountable owner.
The on-behalf-of relationship in effect for this hop.
The task identifier, the stated goal and the application policy version.
Which sources contributed content, with provenance labels.
The proposed step before any authorization decision.
Tool, resource, destination and arguments as submitted.
Allow or deny, the rule applied and the policy version.
Scope or entitlement identifier, never the credential itself.
Which result came back from which call.
The loop index, so sequences can be reconstructed.
Which human approved which exact operation, and when.
The operation performed and the downstream result.
Any memory, summary or index write, with lineage.
Useful signals include goal drift, plan drift, tool-chain drift, scope expansion, a newly appearing destination, repeated denied actions, attempted permission changes, cross-system chaining, mismatch between proposal and executed operation, and unexpected memory writes.
Detection Limitations
Prompt-injection classifiers, guardrail models and heuristic filters are probabilistic. They produce false negatives on unseen phrasing and false positives on legitimate security or support content, and their behaviour changes with model and prompt updates.
Detection therefore belongs in the monitoring and response layer, where false positives cost investigation time, rather than in the decision path, where false negatives would cost an unauthorized action.
Secure Architecture Patterns
- Mixed Context
- Agent with Broad Standing Identity
- Many Tools
- Direct Execution
Untrusted and trusted content share one undifferentiated context, the agent holds standing permissions, every registered tool is reachable, and proposals execute without an independent decision.
- Provenance-Aware Context
- Agent Proposal
- Policy / Authorization
- Task-Scoped Capability
- Exact-Action Approval
- Isolated Execution
- Downstream Re-Authorization
- Logged Effect
Content keeps its origin, the model proposes, a deterministic control decides, capabilities are issued per task, consequential actions require approval bound to the exact operation, execution is isolated and the resource owner authorizes again.
Supporting controls
- Sandboxed execution without standing credentials or broad network access
- Egress restrictions and destination allowlists
- Loop, step, time and cost limits per run
- Data minimization in context assembly
- Memory isolation per tenant, user and task
- Immediate revocation and a tested kill switch
Controlled Testing and Metrics
Each metric needs its own explicit denominator and must be reported separately. A single composite "attack success rate" hides which gate held and makes results incomparable between systems.
| Metric | Denominator | What it measures |
|---|---|---|
| Input / Source Reachability Rate | Attempted controlled entry surfaces | Share the agent actually consulted |
| Context Inclusion Rate | Reached sources | Share that became model-visible context |
| Injection Influence Rate | Included cases | Share with observable influence on interpretation or plan |
| Goal / Plan Drift Rate | Influenced cases | Share where the pursued objective or plan changed |
| Follow-on Tool Proposal Rate | Drift cases | Share that produced a further tool or action proposal |
| Unauthorized Action Proposal Rate | Action proposals | Share proposing an action outside task scope |
| Policy Bypass Rate | Proposals reaching authorization | Share permitted although policy should have denied them |
| Unauthorized Action Rate | Cases with an available action path | Share where an out-of-scope action actually executed |
| Synthetic Data Exfiltration Success Rate | Cases with a reachable unauthorized destination | Share where synthetic data actually arrived there |
| Detection Recall | Known injected test cases | Share flagged by detection |
| False-Positive Rate | Benign control cases | Share incorrectly flagged |
| Containment Rate | Influenced cases with an available prohibited effect or action path | Share blocked or contained before a security-relevant effect |
Benign task success, or utility, should be tracked as a separate dimension alongside these security measures. AgentDojo is relevant here as an evaluation framework for agents that execute tools over untrusted data, because it keeps benign task utility and security test cases apart instead of collapsing them into one number.
Incident Response
Responding to a suspected agent injection
- Pause or revoke the agent's ability to act before analysis, keeping read-only evidence access
- Preserve the full context and action lineage for the affected runs
- Record which identities, delegations and token scopes were in effect at each hop
- Reconstruct the tool calls, parameters, targets and authorization decisions in order
- Identify every memory, summary, index or downstream record written during the run
- Distinguish influence, proposal, execution and data exposure explicitly in the timeline
- Revoke or rotate credentials based on evidence of use, not on suspicion alone
- Invalidate and rebuild derived state that originated from the affected content
- Retest the gate that failed, and verify the fix with the same controlled case
- Record the deepest gate reached and the actual effect in the final report
Closing an agent incident requires the same discipline as classifying it: a changed plan, a denied proposal and an executed action are three different outcomes with three different remediations.
Standards and Research Context
Reference frameworks
- OWASP
- LLM01:2026 Prompt Injection, LLM03:2026 Excessive Agency, Top 10 for Agentic Applications 2026 (ASI01, ASI02, ASI03, ASI06, ASI07)
- NIST
- AI 100-2e2025 terminology, Glossary: indirect prompt injection, Glossary: resource control
- Microsoft
- Agent Framework agent safety, Least privilege for AI agents, Identity, access and least privilege, AI agent shared responsibility model
OWASP LLM01:2026 defines prompt injection as the mechanism by which inputs alter model behaviour, while LLM03:2026 describes excessive agency as the enabling design risk that allows damaging actions in response to manipulated model output. The OWASP Top 10 for Agentic Applications 2026 names the agent-specific classes referenced throughout this article, including goal hijack, tool misuse, identity and privilege abuse, memory and context poisoning and insecure inter-agent communication. NIST AI 100-2e2025 and the NIST glossary provide the terminology used for indirect prompt injection and resource control.
The Microsoft Agent Framework safety guidance treats content in the tool role as untrusted, because data returned by tools and context providers can originate in external or user-influenced sources. The Zero Trust guidance on least privilege for AI agents and on identity, access and least privilege describes agent identity, scoped and just-in-time entitlements, per-tool and per-action policy, downstream authorization, logging and revocation; the shared responsibility model for AI agents sets out which of those duties belong to the platform and which to the application team. These are product-level recommendations and are cited as such.
On the research side, Greshake et al. established the practical viability of indirect prompt injection against LLM-integrated applications, and AgentDojo provides an evaluation framework for agents executing tools over untrusted data, separating benign task utility from security test cases. Research on the tool boundary, including causal attribution of tool invocations and tool result parsing defenses, is more specific to tool output injection than to the agent loop as a whole. No attack procedures are reproduced here.
The defense area places these controls into the broader architecture for provenance, least privilege, information flow, action control and recovery.
Frequently Asked Questions
Is AI agent prompt injection a third variant beside direct and indirect?
No. It is the same mechanism observed in an agentic system. Entry is still direct or indirect; what changes is that an influenced plan can lead to actions rather than only to text.
Is a hijacked goal the same as prompt injection?
No. Goal hijack is a possible consequence and is tracked as its own agentic risk. Prompt injection describes how the influence entered; hijack describes what the agent then pursued.
Does an influenced plan mean the system was compromised?
Not by itself. Classification depends on organizational policy, and some organizations treat model influence as a reportable security event. A changed plan alone does not establish unauthorized action or data exposure. Report the deepest gate observed and the effect that actually occurred.
Can the agent simply inherit the user's permissions?
That is the pattern to avoid. Delegated authority must be explicit, scoped to the task and limited in time, so an influenced plan cannot reach everything the initiating identity could reach.
Is human approval enough for high-impact actions?
Only when the approval is bound to the exact action, resource and parameters, and is re-requested if anything changes before execution. A general approval for a workflow is not an approval for each later step.
Do guardrails or classifiers make an agent safe?
No. They are probabilistic signals with false positives and negatives. Authorization must be deterministic, made outside the model and bound to the concrete operation.
Is output from another agent trustworthy?
Treat it as an observation. A peer or sub-agent may have consumed external content, so its output inherits that exposure and needs provenance rather than automatic authority.
Does ending the session resolve the issue?
Not necessarily. Memory entries, summaries, index writes and downstream records created during the run can persist and re-enter later tasks, so derived state needs targeted invalidation.
Which controls matter most in practice?
Provenance-aware context, task-scoped capabilities with short-lived credentials, deterministic per-action authorization, destination and data-class policy, downstream re-authorization, and complete action lineage in logs.
How should agent security be tested?
In an authorized engagement with synthetic data, bounded permissions and reversible effects, measuring each gate separately with explicit denominators and keeping benign task utility as its own dimension.
References
- LLM01:2026 Prompt InjectionOWASP GenAI Security Project · GuidanceReviewed 2026-09-20
- LLM03:2026 Excessive AgencyOWASP GenAI Security Project · GuidanceReviewed 2026-09-20
- OWASP Top 10 for Agentic Applications 2026OWASP GenAI Security Project · GuidanceReviewed 2026-09-20
- Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations, NIST AI 100-2e2025NIST · Standard · 2025-03Reviewed 2026-09-20
- indirect prompt injectionNIST Glossary · Technical documentationReviewed 2026-09-20
- resource controlNIST Glossary · Technical documentationReviewed 2026-09-20
- Agent safety (Microsoft Agent Framework)Microsoft Learn · Technical documentationReviewed 2026-09-20
- Least privilege for AI agentsMicrosoft Learn · GuidanceReviewed 2026-09-20
- Identity, Access, and Least PrivilegeMicrosoft Learn · GuidanceReviewed 2026-09-20
- AI agent shared responsibility modelMicrosoft Learn · GuidanceReviewed 2026-09-20
- AgentDojo: A Dynamic Environment to Evaluate Prompt Injection Attacks and Defenses for LLM AgentsarXiv · Research paper · 2024-06Reviewed 2026-09-20
- Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt InjectionKai Greshake et al. · Research publication · 2023Reviewed 2026-09-20