Prompt injection

    An attack where text processed by a language model is interpreted as instructions, overriding the developer's intent.

    Updated

    Prompt injection exploits the fact that an LLM receives instructions and data through the same channel. Direct injection comes from the user; indirect injection arrives inside content the model reads — a web page, document, ticket or email — meaning the attacker never needs access to your application. Indirect injection is now the dominant vector against agentic systems, since an agent is designed to retrieve and act on exactly this kind of content.

    It cannot be filtered away reliably. The defensible design limits the consequence: tools authorised as the requesting user, confirmation for irreversible actions, retrieved content clearly labelled as data, and model output treated as untrusted everywhere downstream. Current best practice pairs this with architectural limits such as Meta's 'Rule of Two' — no agent may simultaneously process untrusted input, access sensitive systems and change external state.