---
title: Prompt-Injection Threat Explorer — paths and controls
description: Defensively model how prompt injection can cross trust boundaries into data, tools, egress and memory, and which independent controls block each path.
hide:
  - toc
  - navigation
  - footer
---

<link rel="stylesheet" href="/stylesheets/tools.css" />
<link rel="stylesheet" href="/stylesheets/tools-prompt-injection.css" />
<script src="/assets/javascripts/tools/prompt-injection-core.js" defer></script>
<script src="/assets/javascripts/tools/prompt-injection.js" defer></script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebApplication","name":"Prompt-Injection Threat Explorer — 5sigmas","url":"https://5sigmas.com/en/tools/prompt-injection-threat/","applicationCategory":"SecurityApplication","operatingSystem":"Any","isAccessibleForFree":true,"description":"Defensive explorer of impact paths and controls for prompt injection in LLM and agent systems."}</script>

<div class="s5-landing s5-tool-page s5-threat" data-s5-prompt-injection data-locale="en"><section class="s5-page-intro"><div class="s5-eyebrow">Tools · Security · 12</div><h1>Trace what a prompt injection can reach before assigning a risk score.</h1><p>The problem does not end when a model interprets an untrusted instruction. Impact depends on which data, tools, outbound channels and memory the influenced model can reach next. This explorer models those paths and the controls that cut them, without generating attack payloads or teaching offensive techniques.</p></section><div class="s5-tool-summary-strip"><div><small>Input</small><strong>direct, indirect or multimodal</strong></div><div><small>Boundary</small><strong>isolated reader vs privileged model</strong></div><div><small>Impact</small><strong>data, actions, egress and memory</strong></div><div><small>Method</small><strong>deterministic reachability, not probability</strong></div></div>
<div class="s5-tool-workbench"><form class="s5-tool-controls" aria-label="Prompt-injection threat model" onsubmit="return false"><section class="s5-tool-controls__section"><h2>Scenario</h2><div class="s5-tool-field-grid"><div class="s5-tool-field"><label for="s5-threat-preset-en">Profile</label><select id="s5-threat-preset-en" data-field="preset"><option value="chat-only">Chat without tools</option><option value="rag-assistant">RAG assistant</option><option value="web-agent" selected>Web/email agent</option><option value="privileged-agent">Broadly privileged agent</option></select></div><div class="s5-tool-field"><label for="s5-threat-vector-en">Vector</label><select id="s5-threat-vector-en" data-field="vector"><option value="direct">Direct: user instruction</option><option value="indirect" selected>Indirect: external content</option><option value="multimodal">Indirect multimodal: image/audio/document</option></select></div></div></section><section class="s5-tool-controls__section"><h2>Surface and privileges</h2><div class="s5-tool-field-grid"><label class="s5-tool-check"><input data-field="untrustedContent" type="checkbox" checked /><span>Untrusted content reaches the system</span></label><label class="s5-tool-check"><input data-field="privilegedModel" type="checkbox" checked /><span>That content reaches the privileged model</span></label><label class="s5-tool-check"><input data-field="toolsEnabled" type="checkbox" checked /><span>The model has tools</span></label><label class="s5-tool-check"><input data-field="writeTools" type="checkbox" checked /><span>Some tools can modify state</span></label><label class="s5-tool-check"><input data-field="sensitiveContext" type="checkbox" checked /><span>The context contains sensitive data</span></label><label class="s5-tool-check"><input data-field="externalEgress" type="checkbox" checked /><span>External outbound destinations exist</span></label><label class="s5-tool-check"><input data-field="persistentMemory" type="checkbox" checked /><span>The agent can write persistent memory</span></label></div></section><section class="s5-tool-controls__section"><h2>Independent controls</h2><div class="s5-tool-field-grid"><label class="s5-tool-check"><input data-field="quarantineReader" type="checkbox" /><span>Isolated reader for external content</span></label><label class="s5-tool-check"><input data-field="leastPrivilege" type="checkbox" checked /><span>Least privilege for tools/data</span></label><label class="s5-tool-check"><input data-field="actionIntentValidation" type="checkbox" checked /><span>Validate actions against original user intent</span></label><label class="s5-tool-check"><input data-field="humanApproval" type="checkbox" checked /><span>Human confirmation for consequential actions</span></label><label class="s5-tool-check"><input data-field="egressRestriction" type="checkbox" /><span>Restrict outbound destinations</span></label><label class="s5-tool-check"><input data-field="memoryWriteValidation" type="checkbox" checked /><span>Validate writes before persistence</span></label><label class="s5-tool-check"><input data-field="outputSecretFilter" type="checkbox" checked /><span>Deterministic filter for known secret classes</span></label></div><div class="s5-tool-actions"><button class="s5-tool-action" type="button" data-action="share">Copy link</button><button class="s5-tool-action" type="button" data-action="export">Export JSON</button><button class="s5-tool-action" type="button" data-action="reset">Reset</button></div><p class="s5-tool-feedback" data-s5-tool-feedback hidden aria-live="polite"></p></section></form>
<section class="s5-tool-results" aria-live="polite"><div class="s5-threat-kpis"><div><small>Modeled posture</small><strong data-output="posture">—</strong><span>not a probability</span></div><div><small>Reachable paths</small><strong data-output="reachablePaths">—</strong><span>out of 5</span></div><div><small>High-impact paths</small><strong data-output="highImpactPaths">—</strong><span>confidentiality, integrity or persistence</span></div><div><small>Privileged influence</small><strong data-output="influence">—</strong><span data-output="blockedPaths">—</span></div></div><section><div class="s5-section-head"><h2>Impact paths</h2></div><div class="s5-threat-paths"><div class="s5-threat-path" data-path="instruction-steering"><strong>Instruction steering</strong><span data-path-state>—</span><p data-path-why>—</p></div><div class="s5-threat-path" data-path="sensitive-disclosure"><strong>Known-secret leakage in rendered output</strong><span data-path-state>—</span><p data-path-why>—</p></div><div class="s5-threat-path" data-path="unauthorized-action"><strong>Consequential action without independent approval</strong><span data-path-state>—</span><p data-path-why>—</p></div><div class="s5-threat-path" data-path="data-exfiltration"><strong>Data exfiltration through external egress</strong><span data-path-state>—</span><p data-path-why>—</p></div><div class="s5-threat-path" data-path="persistent-poisoning"><strong>Persistent memory poisoning</strong><span data-path-state>—</span><p data-path-why>—</p></div></div></section><section><div class="s5-section-head"><h2>Controls in this scenario</h2></div><div class="s5-threat-controls"><div class="s5-threat-control" data-control="quarantineReader"><div class="s5-threat-control__top"><strong>Isolated reader</strong><span>isolation</span></div><p>For indirect content, the component that reads untrusted data should not hold the same authority as the privileged actor.</p></div><div class="s5-threat-control" data-control="leastPrivilege"><div class="s5-threat-control__top"><strong>Least privilege</strong><span>impact</span></div><p>Reduces available damage after steering; it does not block a binary path by itself or prevent injection.</p></div><div class="s5-threat-control" data-control="actionIntentValidation"><div class="s5-threat-control__top"><strong>Intent validation</strong><span>action</span></div><p>Checks proposed actions against the original task outside the untrusted-content path.</p></div><div class="s5-threat-control" data-control="humanApproval"><div class="s5-threat-control__top"><strong>Human confirmation</strong><span>action</span></div><p>Places an independent approval boundary before sending, deleting, purchasing, publishing or modifying sensitive state.</p></div><div class="s5-threat-control" data-control="egressRestriction"><div class="s5-threat-control__top"><strong>Egress restriction</strong><span>egress</span></div><p>Limits destinations and channels capable of moving information beyond the trust boundary.</p></div><div class="s5-threat-control" data-control="memoryWriteValidation"><div class="s5-threat-control__top"><strong>Memory validation</strong><span>persistence</span></div><p>Stops influenced content from automatically becoming reusable state in future turns.</p></div><div class="s5-threat-control" data-control="outputSecretFilter"><div class="s5-threat-control__top"><strong>Secret filter</strong><span>output</span></div><p>Can block known secret classes; it does not make every sensitive datum detectable and is only one defensive layer.</p></div></div><p class="s5-threat-caveat"><strong>Limit:</strong> this tool evaluates architectural reachability assuming enabled controls are enforced correctly. It does not estimate the probability that a model follows malicious instructions or the real-world failure rate of any control.</p></section></section></div>
<section class="s5-section"><div class="s5-note-feature"><div><div class="s5-eyebrow">Sources and method</div><h2>Impact mitigation needs boundaries outside the prompt.</h2><p>OWASP distinguishes direct and indirect injection and recommends content separation, least privilege, output validation, agent-specific controls and human approval for privileged operations. OpenAI likewise recommends limiting access and reviewing consequential actions.</p></div><div class="s5-note-feature__meta"><a href="https://genai.owasp.org/llmrisk/llm01-prompt-injection/">OWASP · LLM01:2025 Prompt Injection</a><br /><a href="https://cheatsheetseries.owasp.org/cheatsheets/LLM_Prompt_Injection_Prevention_Cheat_Sheet.html">OWASP · Prevention Cheat Sheet</a><br /><a href="https://openai.com/safety/prompt-injections/">OpenAI · Understanding prompt injections</a><br />Reviewed: 2026-08-21</div></div></section></div>
