ai-blackteam supports 17 providers out of the box: 16 vendor integrations plus a generic HTTP provider for testing your own deployed endpoints. Every attack works with every provider - single-turn, multi-turn, and (where supported) tool-use.

Provider table

How provider resolution works

ai-blackteam resolves your API key in this order:
  1. CLI flag - passed directly via --api-key
  2. Environment variable - e.g. ANTHROPIC_API_KEY
  3. Config file - stored in ~/.ai-blackteam/config.yaml
The first one found wins. For the model name, the same priority applies:
  1. CLI flag - --model claude-opus-4-20250115
  2. Config file - providers.anthropic.default_model
  3. Provider default - hardcoded in the provider class

Setting a key via config

This stores the key in ~/.ai-blackteam/config.yaml. You can also use environment variable references in the config file:
ai-blackteam resolves ${VAR_NAME} syntax at load time.

Setting a key via environment

The env var naming convention is {PROVIDER}_API_KEY for all providers.

Using a different model

Override the default model for any run:

Tool-use support

Only Anthropic and OpenAI currently support tool-use attacks (agent exploitation, MCP exploitation, multi-agent attacks). These attacks require the provider’s send_with_tools method. If you run a tool-use attack against a provider that doesn’t support it, ai-blackteam will skip it and tell you why.