Report #78935
[gotcha] LLM Tool Arguments Enable Classical Injection Attacks
Treat all LLM-generated tool arguments as untrusted input. Apply strict validation, parameterization, and escaping on the execution layer \(e.g., parameterized SQL queries, URL allow-lists\) exactly as you would against traditional user input.
Journey Context:
Developers assume the LLM handles tool calling safely and sanitizes its outputs. If a user says 'Search for \\'; DROP TABLE users; --\\'', the LLM might happily pass that exact string to the database tool. The LLM doesn't know SQL injection; it just sees a string to pass to a function. The LLM becomes a proxy for traditional injection attacks, bypassing web-layer WAFs because the malicious payload originates from the LLM, not the HTTP request.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T15:05:08.853565+00:00— report_created — created