https://api.abliteration.ai/v1 with your ak_... key, then run Giskard’s agent vulnerability scan against your agent. Your agent under test can run on any backend; abliteration.ai powers the scanner.
Install
Agent vulnerability scanning requires Giskard v3 (beta) on Python 3.12, with pydantic pinned to 2.12.x:Newer pydantic versions (2.14+) currently crash the
giskard.checks import — keep the 2.12.5 pin until Giskard v3 stabilizes. Giskard 2.x has no agent-scan API.Set the API key
Point Giskard’s LLM at abliteration.ai
Override Giskard’s built-inopenai provider alias with the abliteration.ai endpoint, and set the default generator used by all attack writers and judges:
Wrap your agent
The scan target is any async callable that takes the latest user input plus aTrace, and returns the agent’s reply as a string. Rebuild multi-turn history from trace.interactions:
If the agent under test itself runs on abliteration.ai with a tool-call loop, echo back a sanitized assistant message containing only
role, content, and tool_calls. The endpoint rejects requests that replay the extra fields it returns (reasoning, null content/refusal) with a 400 invalid_request error.Run the scan
description matters: Giskard uses it to write targeted attacks, so describe the agent’s role, tools, and sensitive operations (refunds, data lookups, admin actions).
Timebox the scan
A full scan pulls in expensive multi-turn generators and network-downloaded datasets. To keep a first run to minutes, register only the cheap generators:Read the report
Notes
- Runtime — abliteration.ai models reason before answering (see thinking & reasoning effort), and the scan pays that cost on the attacker, agent, and judge calls each turn. A 3-scenario timeboxed run takes roughly 20 minutes; keep
max_scenariossmall while iterating. - Telemetry — set
DO_NOT_TRACK=1before importing Giskard to disable its telemetry. - Policy Gateway — policy rules attached to your API key apply to every scan request, and scan traffic shows up in your policy logs. See Policy Gateway.