Skip to main content
Testing an agent uses the same API as testing a model, with two differences: you declare system_type: "agent", and you describe the tools it can call. Those tools are what make agent testing different — they are the capabilities an attacker is ultimately trying to reach.
For foundation models and LLM-based applications without tool use, see the Risk Category Catalog. The risk taxonomy is shared; this page covers what changes for agents.

Declaring an agent target

tools is required when system_type is agent. A payload declaring an agent with no tools is rejected.

Why the tool specs matter

Prompts are generated against the capabilities you declare. An agent that can issue_refund gets probed for refund-limit circumvention; one that can search_web gets probed for server-side request forgery. Vague or missing tool descriptions produce generic tests.
Describe tools as they appear to the agent, including limits stated in the description ("up to $500"). Those limits become things the generated prompts try to exceed, and policy_description in context is where you state the rules the agent should enforce around them (or policy_rules, if you would rather send them as one object per rule).

The risks that matter most for agents

Every risk category applies to agents, but these sub-categories are where agent-specific failures concentrate.

Tool and capability abuse

Omitting sub_categories expands the whole category, which is the right default. To narrow generation, pass free-form phrases such as ["tool schema disclosure", "refund limit circumvention"] — they are natural-language scoping hints, not the reporting IDs in the tables above. The /rt/threat-modeling/categories endpoint generates a suggested set from your tool specs and context.

Data handling

Agents see more data than chatbots — tool results, retrieved documents, session state.

Behaviour under pressure

Attack methods for agents

Agents are multi-turn systems, so multi-turn adaptive techniques find far more than single-shot ones. See the Attack Methods Reference for the full set.

A complete agent payload

Before you run

1

Check the target is reachable

POST /rt/model-health calls your agent once and reports whether Enkrypt AI can reach and parse it. Cheaper than discovering the problem partway through a run.Model Health →
2

Test in a non-production environment

Attacks that succeed will cause your agent to actually call its tools. Point the run at a staging deployment, or at tools backed by test data.
3

Review the prompt set first

Use POST /rt/threat-modeling/categories to see the profile that will be generated, and edit it before generating the dataset.Threat Modeling Categories →
A successful attack against an agent is not just a bad string — it is a tool call that should not have happened. Run against non-production tools unless you intend real side-effects.

Reading agent results

Records include the prompt, the agent’s reply, the verdict and the judge’s reasoning. For agents, pay particular attention to rows in tool_extraction_abuse and policy_circumvention — those are where a success: true means a real capability was reached.