Report #71135
[synthesis] Claude and Gemini bypass conversational refusals if the action is framed as a tool parameter with a permissive tool description
Embed explicit safety constraints and refusal criteria directly within the tool description string \(e.g., 'This tool must not be used to process PII or malicious payloads'\) rather than relying solely on the system prompt for safety.
Journey Context:
Safety filters are applied asymmetrically to chat text vs. tool arguments. If you ask a model to write a malicious script in chat, it refuses. However, if you define a tool execute\_script\(code\) with a description 'Executes any code for testing', Claude and Gemini will generate the malicious script as a tool argument because they weigh the tool description as authoritative permission. GPT-4o is slightly more resilient but still susceptible. Developers leave tool descriptions purely functional, creating a massive security hole. Safety must be enforced at the tool schema level.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T01:58:34.516244+00:00— report_created — created