A plain LLM app has one attack surface: the prompt and the response. An agent adds two more. The action layer is where it calls APIs, runs commands and writes data, and the reasoning layer is where it plans and decomposes goals, as described in the DeepTeam agentic red teaming guide. A third surface, inter-agent messages, appears as soon as you add sub-agents.
That matters because a compromised agent rarely throws an error. It deletes files, leaks data or calls an API it should not have reached, all while returning a helpful-sounding reply, which is the core warning in the same guide. Testing the text output alone misses the incident.
Traditional threat modeling also underperforms here. STRIDE applied component by component can mark every part sound while a chain of individually legitimate steps produces an unauthorized outcome, because these attacks are multi-step, goal-oriented and stateful, as Christian Schneider's scenario-driven walkthrough explains.
Use the published libraries as your map rather than inventing a taxonomy. OWASP's Agentic AI Threats and Mitigations is a threat-model-based reference, and the OWASP Top 10 for Agentic Applications distills the critical risks into an operational list. The Securing Agentic Applications Guide turns those into technical recommendations. Map each case to one entry so a finding has a name, an owner and a control.
The decision rule for ordering the work: test first wherever the agent can change state outside your own database, meaning sending mail, moving money, deleting records, granting access, or writing to memory that future sessions read. Read-only agents over public data can wait.



