Skip to main content

Cyberstrike is now open source! AI-powered penetration testing for security professionals. Star on GitHub

Custom Providers

Cyberstrike bundles many providers beyond the big four — and you can connect any OpenAI-compatible endpoint yourself.

📸 SCREENSHOT: custom-provider-config.png

Custom provider configuration

Built-in Extra Providers

These are already bundled — you don’t need any provider config. Just set the API-key environment variable and select a model as provider-id/model:

Provider idEnv varExample model
groqGROQ_API_KEYgroq/llama-3.3-70b-versatile
togetheraiTOGETHER_API_KEYtogetherai/meta-llama/Llama-3.3-70B-Instruct-Turbo
deepinfraDEEPINFRA_API_KEYdeepinfra/meta-llama/Llama-3.3-70B-Instruct
perplexityPERPLEXITY_API_KEYperplexity/sonar
openrouterOPENROUTER_API_KEYopenrouter/anthropic/claude-sonnet-4
Terminal window
export GROQ_API_KEY="gsk_..."
cyberstrike --model groq/llama-3.3-70b-versatile

Others (mistral, xai, deepseek, cohere, cerebras, and more) work the same way — set their key and use provider-id/model. See AI Providers.

Custom OpenAI-Compatible Provider

For an endpoint that isn’t bundled (Fireworks, vLLM, LM Studio, a private gateway), define it under provider. Loading is triggered by the top-level api field (the base URL); npm defaults to @ai-sdk/openai-compatible, and you list the models you want:

~/.config/cyberstrike/cyberstrike.json
{
"provider": {
"my-endpoint": {
"name": "My Endpoint",
"api": "https://api.example.com/v1",
"options": { "apiKey": "{env:MY_API_KEY}" },
"models": {
"my-model": { "name": "My Model" }
}
}
},
"model": "my-endpoint/my-model"
}

vLLM

{
"provider": {
"vllm": {
"name": "vLLM",
"api": "http://localhost:8000/v1",
"models": { "llama-3.3-70b": { "name": "Llama 3.3 70B" } }
}
}
}

LM Studio

{
"provider": {
"lmstudio": {
"name": "LM Studio",
"api": "http://localhost:1234/v1",
"models": { "local-model": { "name": "Local Model" } }
}
}
}

Caution

A config-only provider is loaded because it has an api URL — options.baseURL alone won’t register it. Use the top-level api field.

Azure OpenAI

~/.config/cyberstrike/cyberstrike.json
{
"provider": {
"azure": {
"name": "Azure OpenAI",
"options": {
"apiKey": "{env:AZURE_API_KEY}"
}
}
}
}
Terminal window
export AZURE_RESOURCE_NAME="your-resource"
export AZURE_API_KEY="..."

Troubleshooting

  • 401 Unauthorized — check the API key env var and that it’s referenced with {env:VAR}.
  • Model not found — the model id must match the provider’s format and be listed under models for a custom provider.
  • Unexpected response — the endpoint may not be fully OpenAI-compatible; tool calling and streaming vary by provider.