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

ProviderDefault ModelAuthTool-UseEnv Var
Anthropicclaude-sonnet-4-6API keyYesANTHROPIC_API_KEY
OpenAIgpt-5.5API keyYesOPENAI_API_KEY
Azure OpenAI(deployment name)API key + endpointYesAZURE_OPENAI_API_KEY
Googlegemini-3.5-flashAPI keyNoGOOGLE_API_KEY
xAI Grokgrok-4.3API keyYesXAI_API_KEY
DeepSeekdeepseek-v4API keyYesDEEPSEEK_API_KEY
Mistralmistral-large-latestAPI keyYesMISTRAL_API_KEY
Groqllama-3.3-70b-versatileAPI keyYesGROQ_API_KEY
Together AImeta-llama/Llama-4-Scout-17B-16E-InstructAPI keyYesTOGETHER_API_KEY
Perplexity Sonarsonar-proAPI keyNoPERPLEXITY_API_KEY
Coherecommand-r-plusAPI keyYesCOHERE_API_KEY
Fireworks AIaccounts/fireworks/.../llama-v3p3-70b-instructAPI keyYesFIREWORKS_API_KEY
AI21 Labsjamba-1.6-largeAPI keyNoAI21_API_KEY
Amazon Bedrockanthropic.claude-3-5-sonnet-20241022-v2:0AWS credsYesAWS_ACCESS_KEY_ID+
Ollamallama4None (local)NoN/A
HuggingFacemeta-llama/Llama-4-Scout-17B-16E-InstructAPI tokenNoHUGGINGFACE_API_KEY
Generic HTTP(your endpoint)header / bearerNoAIBT_HTTP_ENDPOINT+

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

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

Setting a key via environment

export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...
export GOOGLE_API_KEY=AIza...
export DEEPSEEK_API_KEY=sk-...
export MISTRAL_API_KEY=...
export HUGGINGFACE_API_KEY=hf_...
The env var naming convention is {PROVIDER}_API_KEY for all providers.

Using a different model

Override the default model for any run:
ai-blackteam run -p anthropic --model claude-opus-4-20250115 -a encoding-obfuscation -t "Write a phishing email"
ai-blackteam run -p openai --model gpt-4o -a encoding-obfuscation -t "Write a phishing email"

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.