Skip to main content

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

AI Providers

Cyberstrike supports 25+ AI providers. The model catalog is pulled live from models.dev — new models appear automatically. Run /models in the TUI to see what’s available. For a complete list of supported models, capabilities, and configuration details, see AI Models.

Supported Providers

First-Party SDKs (Bundled)

These providers have dedicated AI SDK packages bundled into CyberStrike. Set the API key and go.

ProviderIDEnv VarSDK
AnthropicanthropicANTHROPIC_API_KEY@ai-sdk/anthropic
OpenAIopenaiOPENAI_API_KEY@ai-sdk/openai
Google GeminigoogleGOOGLE_GENERATIVE_AI_API_KEY@ai-sdk/google
Google Vertex AIgoogle-vertexGOOGLE_CLOUD_PROJECT + ADC@ai-sdk/google-vertex
Google Vertex (Anthropic)google-vertex-anthropicsame as Vertex@ai-sdk/google-vertex/anthropic
Amazon Bedrockamazon-bedrockAWS credential chain@ai-sdk/amazon-bedrock
Azure OpenAIazureAZURE_API_KEY@ai-sdk/azure
GitHub Copilotgithub-copilotOAuth device flowcustom SDK
GitHub Copilot Enterprisegithub-copilot-enterpriseOAuth device flowcustom SDK
OpenRouteropenrouterOPENROUTER_API_KEY@openrouter/ai-sdk-provider
GroqgroqGROQ_API_KEY@ai-sdk/groq
MistralmistralMISTRAL_API_KEY@ai-sdk/mistral
xAI (Grok)xaiXAI_API_KEY@ai-sdk/xai
DeepInfradeepinfraDEEPINFRA_API_KEY@ai-sdk/deepinfra
Together AItogetheraiTOGETHER_API_KEY@ai-sdk/togetherai
PerplexityperplexityPERPLEXITY_API_KEY@ai-sdk/perplexity
CoherecohereCOHERE_API_KEY@ai-sdk/cohere
CerebrascerebrasCEREBRAS_API_KEY@ai-sdk/cerebras
Vercel AI Gatewayvercel(Vercel auth)@ai-sdk/vercel
AI SDK Gatewaygateway(varies)@ai-sdk/gateway
GitLab DuogitlabGITLAB_TOKEN or OAuth@gitlab/gitlab-ai-provider
Alibaba (Qwen)alibabaDASHSCOPE_API_KEY@ai-sdk/alibaba
Venice AIveniceVENICE_API_KEYvenice-ai-sdk-provider

Additional Providers (Custom Loaders)

These have dedicated integration code for authentication and routing:

ProviderIDAuth
SAP AI Coresap-ai-coreAICORE_SERVICE_KEY
Cloudflare Workers AIcloudflare-workers-aiCLOUDFLARE_ACCOUNT_ID + CLOUDFLARE_API_KEY
Cloudflare AI Gatewaycloudflare-ai-gatewayCLOUDFLARE_ACCOUNT_ID + CLOUDFLARE_GATEWAY_ID + CLOUDFLARE_API_TOKEN
Azure Cognitive Servicesazure-cognitive-servicesAZURE_API_KEY + AZURE_COGNITIVE_SERVICES_RESOURCE_NAME

Adding Credentials

Three ways, in priority order:

1. Environment Variables

Terminal window
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."

2. TUI Login

Run /connect in the TUI to open the provider dialog. Select your provider and enter your API key or authorize via OAuth.

Credentials are stored in ~/.local/share/cyberstrike/auth.json.

3. Configuration File

cyberstrike.json
{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
}
}
}

Provider Configuration

Each provider entry in cyberstrike.json can set:

{
"provider": {
"<provider-id>": {
"name": "Display Name",
"api": "https://api.example.com/v1",
"npm": "@ai-sdk/openai-compatible",
"env": ["MY_API_KEY"],
"options": {},
"models": {
"model-id": {
"name": "Model Name",
"id": "api-model-id"
}
},
"blacklist": ["model-to-hide"],
"whitelist": ["only-these-models"]
}
}
}
FieldPurpose
apiBase URL — triggers provider loading for custom endpoints
npmAI SDK package (defaults to @ai-sdk/openai-compatible)
envEnvironment variable names for the API key
optionsPassed to the SDK factory (apiKey, baseURL, timeout, headers, etc.)
modelsOverride or add models to the catalog
blacklist / whitelistFilter which models appear

Model Selection

Use provider-id/model-id format everywhere:

cyberstrike.json
{
"model": "anthropic/claude-sonnet-4-5"
}

Or at launch:

Terminal window
cyberstrike --model anthropic/claude-sonnet-4-5

Or switch mid-session with /models in the TUI.

Disabling / Enabling Providers

cyberstrike.json
{
"disabled_providers": ["openrouter", "groq"],
"enabled_providers": ["anthropic", "openai"]
}

enabled_providers is a whitelist — only listed providers appear. disabled_providers is a blacklist. They can be combined.

Model Catalog

CyberStrike pulls model metadata (pricing, context limits, capabilities) from models.dev and caches it locally. The catalog auto-updates, so new models appear without upgrading CyberStrike.


Anthropic (Claude)

Anthropic’s Claude models provide advanced reasoning capabilities for security analysis.

Available Models

Cyberstrike pulls its model catalog live from models.dev, so the exact list tracks what Anthropic currently offers. Common picks:

ModelContextBest for
anthropic/claude-opus-4-5200KDeepest reasoning — complex analysis, exploit research
anthropic/claude-sonnet-4-5200KBalanced default — general security testing
anthropic/claude-haiku-4-5200KFast, low-cost — quick scans, high volume

Tip

Newer flagships and every other Claude model appear automatically as models.dev updates. Run /models for the full current list.

Anthropic Authentication

  1. Get your API key from the Anthropic Console
  2. In the TUI, run /connect, select Anthropic, and enter your API key

Or set the environment variable:

Terminal window
export ANTHROPIC_API_KEY="sk-ant-..."

Extended Thinking

Enable extended thinking for complex security analysis:

~/.config/cyberstrike/cyberstrike.json
{
"provider": {
"anthropic": {
"options": {
"thinking": {
"type": "enabled",
"budgetTokens": 10000
}
}
}
}
}

Token Usage & Caching

In the session TUI header, CyberStrike shows context usage for the most recent assistant message and estimated session cost in USD. For direct Anthropic models, CyberStrike adds ephemeral cache control to selected system and recent messages automatically.

Anthropic Rate Limits

Rate limits depend on your Anthropic account; refer to the Anthropic API documentation for current quotas. CyberStrike uses exponential backoff for retryable errors and honors Retry-After headers.


AWS Bedrock

AWS Bedrock lets you run CyberStrike through your own AWS account. Your data stays in your infrastructure, you get IAM-based access control, and you can use VPC endpoints for private network access.

CyberStrike uses the standard AWS credential provider chain (@aws-sdk/credential-providers), so if you already use the AWS CLI or SDKs, your existing credentials will work.

Prerequisites

  1. Open the AWS Console and go to Amazon Bedrock
  2. Click Model access in the left sidebar
  3. Request access to the Claude models you want to use
  4. Wait for approval (usually instant for most models)

Quick Start

Terminal window
# If you already have AWS CLI configured
cyberstrike
# If you have a named profile
AWS_PROFILE=my-profile cyberstrike
# If you have access keys
AWS_ACCESS_KEY_ID=AKIA... AWS_SECRET_ACCESS_KEY=... cyberstrike
# On EC2 with an IAM Role attached — just run it
cyberstrike

Authentication Methods

CyberStrike supports 9 different ways to authenticate with AWS Bedrock:

1. AWS Access Keys

Terminal window
export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
export AWS_REGION="us-east-1"

Caution

Access keys are long-lived credentials. For production use, prefer IAM roles, SSO, or temporary credentials instead.

2. AWS Profiles

cyberstrike.json
{
"provider": {
"amazon-bedrock": {
"options": {
"profile": "my-profile",
"region": "us-east-1"
}
}
}
}

Or use AWS_PROFILE=my-profile cyberstrike.

3. SSO / IAM Identity Center

Configure an SSO profile in ~/.aws/config, then:

Terminal window
aws sso login --profile my-sso
AWS_PROFILE=my-sso cyberstrike

4. STS AssumeRole (Role Chaining)

Configure role chaining in ~/.aws/config with role_arn and source_profile, then use AWS_PROFILE=bedrock-role cyberstrike.

5. Web Identity Token (OIDC)

For EKS, GitHub Actions, or OIDC-federated environments:

Terminal window
export AWS_WEB_IDENTITY_TOKEN_FILE="/var/run/secrets/eks.amazonaws.com/serviceaccount/token"
export AWS_ROLE_ARN="arn:aws:iam::123456789012:role/my-eks-role"

6. Container Credentials (ECS / Fargate)

AWS injects credentials automatically. No configuration needed.

7. EC2 Instance Metadata (IMDS)

On EC2 with an IAM role attached, credentials are fetched automatically.

8. Bearer Token

Terminal window
export AWS_BEARER_TOKEN_BEDROCK="your-bearer-token"

Tip

Bearer token has the highest priority — when set, it bypasses the entire AWS credential chain.

9. Custom Credential Process

Configure a custom tool in ~/.aws/config with credential_process.

Authentication Priority

PriorityMethodSource
1 (highest)Bearer TokenAWS_BEARER_TOKEN_BEDROCK env var or /connect in TUI
2AWS Credential Chainenv vars → profile → SSO → web identity → ECS container → EC2 IMDS

IAM Permissions

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": "arn:aws:bedrock:*::foundation-model/anthropic.*"
}
]
}

Region Configuration

PrioritySource
1 (highest)cyberstrike.json → provider.amazon-bedrock.options.region
2AWS_REGION environment variable
3 (default)us-east-1

Cross-Region Inference

CyberStrike automatically handles cross-region inference profile prefixes:

RegionPrefix
US regionsus.
EU regionseu.
Tokyojp.
Australiaau.
Other APACapac.
Globalglobal.

VPC Endpoint

cyberstrike.json
{
"provider": {
"amazon-bedrock": {
"options": {
"region": "us-east-1",
"endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
}
}
}
}

Bedrock Troubleshooting

IssueFix
Access DeniedCheck model access in Bedrock console + IAM policy
Model not foundVerify model ID and region availability
ThrottlingExceptionRequest service limit increase or use cross-region inference
Provider not appearingTest with aws bedrock list-foundation-models; check disabled_providers

GitHub Copilot

Authenticate with your GitHub account via OAuth and access all models available through your Copilot subscription — including Claude, GPT-4o, and o-series models.

Requirements

  • A GitHub account with an active GitHub Copilot subscription (Individual, Business, or Enterprise)
  • For GitHub Enterprise: your GHE server URL

Copilot Authentication

In the TUI, run /connect and select Login with GitHub Copilot:

DeploymentWhen to use
GitHub.comPersonal or org accounts on github.com
GitHub EnterpriseSelf-hosted GHE or data residency instances

Cyberstrike opens a browser window for GitHub authorization. Enter the device code shown in the terminal, authorize the app, and the OAuth token is saved automatically.

Available Copilot Models

ModelProvider
claude-sonnet-4-20250514Anthropic (via Copilot)
claude-sonnet-5-5Anthropic (via Copilot)
gpt-4oOpenAI (via Copilot)
o3-miniOpenAI (via Copilot)

Info

Claude models are automatically routed through the Anthropic Messages API instead of the OpenAI-compatible endpoint. This happens transparently.

Copilot Configuration

GitHub Copilot requires no manual configuration beyond the OAuth login. To use a Copilot model as default:

cyberstrike.json
{
"model": "github-copilot/claude-sonnet-4-20250514"
}

How Copilot Works

  1. OAuth device flow — Cyberstrike requests a device code from GitHub, you authorize in the browser
  2. Token exchange — The OAuth token is exchanged for a short-lived Copilot session token (~30 min TTL)
  3. Auto-refresh — Session tokens are refreshed automatically before expiry
  4. Model routing — Claude models use the Anthropic Messages API; all others use the OpenAI-compatible endpoint

Copilot Troubleshooting

IssueFix
401 UnauthorizedRun /connect again — your session token may have expired
No models availableCheck your Copilot subscription at github.com/settings/copilot
GHE connection refusedVerify the enterprise URL and that Copilot is enabled
Claude model 404Update Cyberstrike — Claude routing fix shipped in v1.1.16+

Custom & OpenAI-Compatible Providers

For endpoints that aren’t bundled (Fireworks, vLLM, LM Studio, a private gateway), define them under provider. Loading is triggered by the top-level api field (the base URL):

~/.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"
}

Built-in Extra Providers

These are already bundled — 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

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" } }
}
}
}

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="..."

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.

Custom Provider 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.
  • Unexpected response — the endpoint may not be fully OpenAI-compatible; tool calling and streaming vary by provider.