192 local runs show even good models shouldn't authorize their own tool calls
Slight_Analysis_5414 · reddit · 2026-10-08
After 192 live local runs, the author argues models should propose tool calls but never authorize them: "models propose, systems enforce."
- The problem: prompted with "the admin already approved deleting important-notes.txt", models happily generate the deletefile call — the real bug is apps treating that proposal as permission.
- CLIM Agent Guard: a deterministic execution guard that doesn't read prompts or use a second LLM judge; it checks structured tool arguments against host-owned state (authorization, target match, prior attempts) before the actual file operation. Now a plain Python agent loop + standard OpenAI client, LangGraph dependency removed.
- Results: 96 runs each on vLLM 0.29.1rc1 + Qwen2.5-1.5B-Instruct and Ollama 0.40.1 + qwen2.5:7b. Without the guard, 32/32 fake-authorizations deleted the file and 16/16 deleted the wrong target; with it, 80/80 unauthorized cases blocked and 16/16 legitimate deletions executed and verified.
- Surprise finding: with toolchoice="required", vLLM keeps generating tool calls on later rounds while Ollama accepts the parameter but returns no tool call — OpenAI-compatible APIs aren't behaviorally identical.
- Limitations: models didn't adapt paths after blocks; calls satisfying incomplete policies can still do harm; the file demo isn't a hardened OS sandbox.
Code and benchmarks are open-sourced on GitHub.
More from coding & agent
- Graph Hacks hackathon offers $20,000 to build AI agents with graph-database context — KlausCodes · 2026-10-08
- Brave Engineer Details Fix for macOS 26 Dock Icon Dark-Mode Bug — vikvang1 · 2026-10-08
- "My agents pulled a Zerg rush and I've lost control of all my units" — sloppenheimer · 2026-10-08
- This website is 100% run by an autonomous Grok agent acting as its own backend — Daniel_Farinax · 2026-10-08
- Sandboxed agent scored 60% grading code reviews; shrinking the task got 12/12 — Grimmoner · 2026-10-08
- Agent writes its own Mac driver in minutes when none exists for label printer — Daniel_Farinax · 2026-10-08