OWASP ASI02 — Tool Misuse & Exploitation
Advisory only. It is skill text, and nothing stops a violation.
Acts on
Agent instructions
When
As instructions the agent reads
Tested
0 of 6 pass
In a git repo
Advisory
What it does
Constrain what an agent's legitimate tools can be made to do. Grant least agency per task, validate tool parameters at the runtime boundary, authorise every invocation rather than only the first, and distrust tool metadata from unverified registries. Use when defining tool schemas, wiring an MCP server, granting shell or cloud-CLI access, or reviewing a tool-calling loop. Do NOT use for the credentials the tool authenticates with — that is owasp-asi03-identity-privilege-abuse.
Chock adds friction. It is not a security boundary.
Its label on each agent
The catalog grades each policy on each agent. Pick an agent to build with this policy:
- Claude Code TestedAdvisory Advisory only. It is skill text, and nothing stops a violationBuild →
- Cursor TestedAdvisory Advisory only. It is skill text, and nothing stops a violationBuild →
- Codex TestedAdvisory Advisory only. It is skill text, and nothing stops a violationBuild →
- GitHub Copilot TestedAdvisory Advisory only. It is skill text, and nothing stops a violationBuild →
- Devin TestedAdvisory Advisory only. It is skill text, and nothing stops a violationBuild →
- Grok Tested Not graded yet for GrokBuild →
- goose Tested Not graded yet for gooseBuild →
- Antigravity Tested Not graded yet for AntigravityBuild →
- OpenHands Untested Not graded yet for OpenHandsBuild →
- Kimi Code Untested Not graded yet for Kimi CodeBuild →
- Factory Droid Untested Not graded yet for Factory DroidBuild →
What it misses
This policy does not state what it misses.
Latest change
0.0.2 · · Point at the mechanised slice: the agentic-code-security gate's tools|approval pack refuses a tool whose str parameter reaches a subprocess, generic shell tools, and approvals switched off, at commit and at tool use. Everything else here stays advisory, and no rule text or claim is raised; the pointer is a see() and a references section.