An agent policy file enumerates rules for actions you anticipated. It cannot enumerate every action an agent will attempt, because the agent chooses tools and arguments at runtime from whatever context it reads, including untrusted pages, tickets and emails. OWASP's AI agent guidance treats all external data as untrusted and warns that agents can be hijacked into unintended tool calls through context they consume the OWASP AI Agent Security Cheat Sheet. When the model proposes something no rule covers, the orchestrator still has to answer one question: does this call execute?
The quiet danger is that most policy engines treat "no matching rule" as allow. The Vercel AI SDK's policy package states this plainly: no matching rule normalizes to a status the SDK treats as allow, and you add an explicit default decision if you want to deny instead the AI SDK policy tool approvals guide. That default is fine for read-only tools and dangerous the moment the agent can write. A prompt instruction saying "never do X" is not an enforcement boundary, because the orchestration layer, not the model, decides whether a call reaches execution NHI Mgmt Group analysis of default-deny controls.
So the coverage gap is not a bug you close once. It is a permanent condition of running agents, and the fallback is a design decision with security consequences.



