OWASP — Top 10 for LLM Apps: what to fix first

• Category: Security

  • The OWASP Top 10 for LLM Applications is useful because it names failure modes teams actually ship (not just “AI is scary”).
  • If you can only fix three things first: Prompt injection, Sensitive info disclosure, and Excessive agency.
  • “Insecure output handling” matters when your model output crosses a trust boundary (SQL, shell, templates, browsers, ticketing systems).
  • Supply chain risk here includes: model providers, prompt/tooling libraries, connectors, and third-party data sources feeding retrieval.
  • “Overreliance” is a security issue when humans stop verifying: it turns plausible-but-wrong output into privileged actions.
  • The strongest pattern across the Top 10: restrict what the model can do, and require verification at boundaries.

Why it matters

LLM apps often blend natural language with automation. That combination is exactly what attackers love: low-friction input channels connected to high-privilege actions. OWASP’s list gives you a common vocabulary to drive engineering changes (not just policy).

What to do

  • Define tool permissions: explicit allowlists per tool and per action; no “general web access” by default.
  • Put a guardrail boundary between model output and execution (validation + escaping + schema enforcement).
  • Assume prompt injection will happen: isolate instructions from untrusted content and add adversarial tests in CI.
  • Minimize data exposure: least-privilege retrieval scopes; redact secrets from logs; don’t ship raw internal docs to the model.
  • Add human approval for state-changing actions (payments, code merges, IAM changes) until you have strong monitoring + rollback.

Sources