{
  "schema_version": 1,
  "id": "owasp-asi02-tool-misuse",
  "track": "coding",
  "name": "OWASP ASI02 — Tool Misuse & Exploitation",
  "version": "0.0.2",
  "sha256": "5bb3ab255d9a8a2da6225ceb7af5c38340ccbf33113c5449a77ac7f5ccdbc465",
  "sha256_v1": "9d1969543423c79799d52fb3d238b13490383c7f7b6e3194a95044c06f6acec2",
  "keyword": "advise",
  "word": "advisory",
  "says": "advisory only. It is skill text, and nothing stops a violation",
  "description": "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`.",
  "misses": null,
  "where": [
    "text"
  ],
  "groups": [
    "owasp-agentic-top10"
  ],
  "eval_cases": 6,
  "eval_executed": 0,
  "latest": {
    "version": "0.0.2",
    "date": "2026-09-29",
    "change": "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."
  },
  "agent_labels": {
    "claude-code": {
      "keyword": "advise",
      "says": "advisory only. It is skill text, and nothing stops a violation"
    },
    "cursor": {
      "keyword": "advise",
      "says": "advisory only. It is skill text, and nothing stops a violation"
    },
    "codex": {
      "keyword": "advise",
      "says": "advisory only. It is skill text, and nothing stops a violation"
    },
    "copilot": {
      "keyword": "advise",
      "says": "advisory only. It is skill text, and nothing stops a violation"
    },
    "devin": {
      "keyword": "advise",
      "says": "advisory only. It is skill text, and nothing stops a violation"
    },
    "grok": {
      "keyword": "ungraded",
      "says": "Not graded yet for Grok"
    },
    "goose": {
      "keyword": "ungraded",
      "says": "Not graded yet for goose"
    },
    "antigravity": {
      "keyword": "ungraded",
      "says": "Not graded yet for Antigravity"
    },
    "openhands": {
      "keyword": "ungraded",
      "says": "Not graded yet for OpenHands"
    },
    "kimi-code": {
      "keyword": "ungraded",
      "says": "Not graded yet for Kimi Code"
    },
    "factory-droid": {
      "keyword": "ungraded",
      "says": "Not graded yet for Factory Droid"
    }
  },
  "source_url": "https://github.com/open-coder-ai/chock-catalog/tree/1e60d211c1bb767152c6ab0167932da06ab3a10f/agentic-security/owasp-asi02-tool-misuse",
  "enforces": "advisory",
  "examples": []
}
