The http provider tests any HTTP endpoint that takes a prompt and returns text. Use it to red-team your own deployed application, agent, or RAG pipeline instead of a vendor SDK.

Configuration

Set via env vars or config set: The {{prompt}} placeholder is JSON-escaped before substitution, so quotes and newlines in attack prompts won’t break your request body.

Example: OpenAI-shaped endpoint

Example: simple {prompt, response} endpoint

Response extraction

response_path is a dot path supporting dict keys and list indices:
  • response reads {"response": "..."}
  • choices.0.message.content reads OpenAI-style nested output
  • If the path doesn’t resolve, the raw response body text is used as a fallback

Auth

Pass an API key via --api-key / config set providers.http.api_key and it becomes an Authorization: Bearer <key> header automatically (unless you already set one in AIBT_HTTP_HEADERS).

Tool-use support

No. Single-turn and multi-turn attacks work (the conversation is flattened into one prompt for endpoints that accept a single text field).

Notes

  • Built on httpx; retry with exponential backoff on failures (3 attempts)
  • Default request timeout: 60s
  • This is the “bring your own endpoint” escape hatch when the target isn’t one of the 16 vendor providers