An Agent's Attack Surface Is Bigger Than You Think

A plain LLM application has one attack surface: user input → LLM output.

Add tools to the mix, and it triples:

User input ──→ [LLM] ──→ Tool call args ──→ [Tool exec] ──→ Tool result ──→ [LLM] ──→ Output

↑ ↑ ↑