Tool_enumeration
Description
Attempts to discover and enumerate the full scope of capabilities, limitations, protocols, and triggering mechanisms associated with tools, plugins, functions, agents, or external systems accessible to an AI model. This includes understanding which tools exist, how they are invoked, their input/output schemas, potential hidden or privileged functions, operational constraints (like rate limits or quotas), and how they interact with data or external resources.
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