Tool misuse is when an AI agent calls a tool it has legitimate access to, but uses it in a way that was not intended by the system designer. The tool works exactly as designed. The problem is that the agent is using it for the wrong purpose.
File read for reconnaissance: An agent with a file.read tool reads /etc/passwd, .env files, or configuration files to discover system information. The file-read tool works correctly. The misuse is in what files are read.
Search for internal probing: An agent with a web search tool searches for internal company URLs, employee information, or infrastructure details. The search tool works correctly. The misuse is in the search queries.
Calculator for resource exhaustion: An agent with a calculator tool submits extremely large computations that consume CPU. The calculator works correctly. The misuse is in the scale of the input.
Database query for data harvesting: An agent with read-only database access runs SELECT * queries across every table to map the schema and extract all data.
Traditional access control says "this user can read files." Tool authorization for AI agents needs to say "this agent can read files in /tmp/ but not in /etc/, and only files smaller than 1MB, and not more than 10 reads per minute."
The challenge is that tool misuse uses the tool correctly. There is no bug, no exploit, no injection. The agent simply calls a permitted tool with arguments that serve a malicious or unintended purpose.
The key defense is policy rules that match on arguments, not just tool names:
rules:
- tool: "file.read"
action: allow
when:
args.path:
startsWith: "/tmp/workspace/"
- tool: "file.read"
action: block
when:
args.path:
matches: "\\.env$|/etc/|/proc/|credentials"
reason: "Sensitive file access blocked"
- tool: "database.query"
action: block
when:
args.query:
matches: "SELECT \\*.*FROM"
reason: "Wildcard selects are not allowed"
Even with argument restrictions, an agent can misuse tools through volume. Reading 10,000 allowed files is still data harvesting. Rate limiting adds a volume constraint:
- tool: "file.read"
action: allow
rateLimit:
maxCalls: 20
windowSeconds: 60
Sentinel can detect tool misuse patterns by monitoring tool usage distribution. If an agent that normally reads 2-3 files per session suddenly reads 50, the behavioral monitor flags the anomaly. This catches misuse patterns that individual rule matching cannot.
Explore more guides on AI agent safety, prompt injection, and building secure systems.
View All Guides