Control what your AI agent can do with its tools.
The moment you give an agent tools, its mistakes stop being words and start being actions: a command run, a file changed, an API called, data moved. That capability is the point of an agent, and it's also where the risk concentrates. Crawdad runs on your machine and governs each agent's tool use by its job — which tools it may call, and what it may do with them — judging the tool call before it happens and blocking anything out of scope.
Free tier, every feature. One command, one env var. Nothing leaves your machine.
An agent decides which tool to call from content it can't vet.
An agent chooses its next tool call based on what it read — the task you gave it, plus whatever content it pulled in along the way. When that content carries a hidden instruction, it steers the tool call. The agent invokes a tool it shouldn't, against data it shouldn't touch, and the result goes somewhere it shouldn't.
And most agents are overscoped. They hold broad tool access because it's easier to set up, so a single misdirected step reaches far more than the task required. The combination — untrusted content driving tool choice, plus more tool access than the job needs — is what turns an agent's tools into an attack surface.
Bound the tools by identity. Judge the call. Block what's out of scope.
A per-agent tool boundary
Each agent gets a governance plane authored in one policy file, applied most-restrictive-wins at the agent-to-tool boundary: an autonomy ceiling (read-only / limited / standard / privileged), security zones (the set of tools an identity may touch), per-tool rules (a verb ladder: kill / deny / ask / observe / allow), and a session-risk budget. An agent stays powerful within its job and bounded outside it. Each primitive is proven by an over-the-wire block test against the real proxy.
Judged on the action, not the claimed intent
Crawdad evaluates the tool call the agent actually makes, on the device, before it runs. A deceptive stated intent buys nothing. An out-of-scope call is blocked at the wire, and the block names the axis: capability, target, or effect.
The whole session's shape
A single tool call can look fine; a sequence can be an attack. Crawdad tracks the trajectory and holds or blocks a divergent one, so staged tool-based attacks are caught by their shape.
Tool-risk visibility
Crawdad assesses MCP server risk, flags typosquats against known packages, and classifies per-tool risk, so you can see what an agent is connected to and how dangerous each tool is before something goes wrong.
What Crawdad governs, and what it doesn't replace
What the agent tries to do with its tools: restrict and contain which tools it may call and what it may do with them, catch staged tool-based attacks, keep content on-device, and produce a verifiable record.
The tool's own authorization — what a server or API will itself permit — or identity, server hardening, and secrets management. Govern the agent's behavior with Crawdad; enforce the tool's own permissions server-side. A sound setup does both. The 497-attack public benchmark, which includes tool-abuse categories, lets you check what Crawdad catches.
Write a policy from the dashboard and it governs at the wire on the next tool call, no restart.