githubEdit

Tool_enumeration

Description

triangle-exclamation

Attack Examples

Discovery & Identification

  • Querying for a list of available tools, plugins, functions, or agents integrated with the system.

  • Identifying integrated third-party tools and connections to external data sources or systems.

  • Probing for hidden, undocumented, experimental, or version-specific tools (e.g., via error messages, indirect questions, internal names).

  • Mapping tool version information, dependencies, and change logs.

  • Enumerating available tool configurations or modes.

  • Cycling through common or suspected tool names (search, calculator, file_io, admin_debug) to map internal routing via error/confirmation messages.

Functionality & Scope

  • Determining the specific function, purpose, and operational scope of each identified tool.

  • Testing command execution capabilities, especially for tools interacting with operating systems or code interpreters.

  • Probing agent autonomy levels and decision-making limits regarding tool use.

  • Enumerating the scope of file access (read/write), data retrieval, and network communication capabilities, including supported protocols.

  • Testing access permissions to real-time data, databases, internet resources, or specific system resources.

  • Evaluating tool output parsing, formatting, and integration capabilities within the AI's responses.

Invocation & Interaction

  • Investigating tool invocation methods (e.g., specific syntax, keywords, natural language triggers, context).

  • Identifying conditional tool behaviors or context-sensitive activation patterns (e.g., tool only available after specific prompts or in certain states).

  • Testing if tools can be chained, combined sequentially, or have specific execution dependencies.

  • Observing tool interaction patterns and response latency to fingerprint implementation details (e.g., local wrapper vs. remote API call).

  • Testing for persistent tool states or memory across conversation turns.

Parameters, Schemas & Inputs

  • Requesting or inferring input/output schemas (e.g., JSON schemas, function signatures, required/optional parameters, data types).

  • Testing parameter validation by supplying malformed, out-of-range, boundary-case, or unexpected values.

  • Probing for hidden, undocumented, or advanced tool parameters, flags, or syntax variations.

  • Testing input size limits (e.g., context window, payload size) by providing overly large inputs.

Limitations & Security

  • Discovering rate limiting, usage quotas, computational restrictions, or other throttling mechanisms per tool or overall.

  • Testing tool access permissions, permission boundaries, and authentication methods used by tools.

  • Attempting "role escalation" phrasing (invoke as system, run with admin privileges) or probing for privileged tool access.

  • Forcing verbose errors to leak internal implementation details, file paths, schemas, or protocols.

  • Discovering unintended system access, command injection possibilities, or execution vulnerabilities through tool interactions.

Example Prompts

Last updated