Skip to main content

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

Configuration Reference

Cyberstrike can be configured through multiple methods: config files, environment variables, and command line arguments. This reference covers all configuration options.

📸 SCREENSHOT: s13-config-structure.png

Config dosya yapısı

📊 DIAGRAM: config-priority.mermaid

Config yükleme öncelik diyagramı

Configuration Hierarchy

Configuration sources are loaded in priority order (highest priority wins):

  1. Command line arguments
  2. CYBERSTRIKE_CONFIG_CONTENT environment variable
  3. Project config (./cyberstrike.json or ./cyberstrike.jsonc)
  4. Project .cyberstrike/ directory config
  5. Custom config (CYBERSTRIKE_CONFIG path)
  6. Global config (~/.cyberstrike/config.json)
  7. Remote/well-known config
  8. Default values

Configuration Files

Project Configuration

Create cyberstrike.json or cyberstrike.jsonc in your project root:

cyberstrike.json
{
"$schema": "https://cyberstrike.io/config.json",
"model": "anthropic/claude-sonnet-4-20250514",
"agent": {
"build": {
"model": "anthropic/claude-sonnet-4-20250514"
}
}
}

Global Configuration

Store user-wide settings at ~/.cyberstrike/config.json:

~/.cyberstrike/config.json
{
"$schema": "https://cyberstrike.io/config.json",
"theme": "cyberpunk",
"autoupdate": true,
"share": "manual"
}

Project Directory Structure

Create a .cyberstrike/ directory for organized configuration:

.cyberstrike/
├── cyberstrike.json # Project config
├── agents/ # Custom agents
│ └── security.md
├── commands/ # Custom commands
│ └── scan.md
├── plugins/ # Custom plugins
│ └── my-plugin.ts
└── modes/ # Custom modes (deprecated)

Core Settings

Model Selection

Set the default AI model:

{
"model": "anthropic/claude-sonnet-4-20250514"
}

Format: provider/model-name

Small Model

Set a model for lightweight tasks (title generation):

{
"small_model": "anthropic/claude-haiku-4-5-20250514"
}

Default Agent

Set the default security agent:

{
"default_agent": "web-application"
}

Username

Override the system username:

{
"username": "pentester"
}

Theme

Set the interface theme:

{
"theme": "cyberpunk"
}

Provider Configuration

Configure AI providers individually:

{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}",
"timeout": 300000
}
},
"openai": {
"options": {
"baseURL": "https://api.openai.com/v1"
},
"whitelist": ["gpt-4o", "gpt-4-turbo"],
"blacklist": ["gpt-3.5-turbo"]
},
"custom-provider": {
"id": "custom-provider",
"name": "Custom Provider",
"options": {
"baseURL": "https://api.custom.example.com/v1",
"apiKey": "{env:CUSTOM_API_KEY}"
}
}
}
}

Provider Options

OptionTypeDescription
apiKeystringAPI key for authentication
baseURLstringCustom API endpoint
timeoutnumber/falseRequest timeout in ms (default: 300000)
setCacheKeybooleanEnable prompt cache key
enterpriseUrlstringGitHub Enterprise URL for copilot

Model Filtering

Control which models appear:

{
"provider": {
"openai": {
"whitelist": ["gpt-4o", "o1-preview"],
"blacklist": ["gpt-3.5-turbo"]
}
}
}

Disabling Providers

Disable specific providers:

{
"disabled_providers": ["ollama", "groq"]
}

Enable only specific providers:

{
"enabled_providers": ["anthropic", "openai"]
}

Agent Configuration

Configure agent behavior:

{
"agent": {
"build": {
"model": "anthropic/claude-sonnet-4-20250514",
"temperature": 0.7,
"steps": 50,
"color": "#FF5733"
},
"web-application": {
"model": "anthropic/claude-opus-4-20250514",
"prompt": "Focus on OWASP Top 10 vulnerabilities"
}
}
}

Agent Options

OptionTypeDescription
modelstringOverride model for this agent
temperaturenumberModel temperature (0-1)
top_pnumberTop-p sampling value
stepsnumberMaximum agentic iterations
promptstringCustom system prompt
colorstringHex color code (#RRGGBB)
descriptionstringAgent description
modestringAgent mode: “primary”, “subagent”, “all”
hiddenbooleanHide from autocomplete
disablebooleanDisable this agent

Creating Custom Agents

Create .cyberstrike/agents/custom.md:

---
description: Custom security agent for API testing
model: anthropic/claude-opus-4-20250514
mode: primary
---
You are an API security specialist. Focus on:
- Authentication vulnerabilities
- Authorization bypass
- Input validation
- Rate limiting issues

MCP Configuration

Configure Model Context Protocol servers:

{
"mcp": {
"filesystem": {
"type": "local",
"command": ["npx", "@modelcontextprotocol/server-filesystem", "/path/to/dir"],
"enabled": true,
"timeout": 5000
},
"remote-api": {
"type": "remote",
"url": "https://api.example.com/mcp",
"oauth": {
"clientId": "your-client-id",
"scope": "read write"
}
}
}
}

Local MCP Server

OptionTypeDescription
type”local”Server type
commandstring[]Command and arguments
environmentobjectEnvironment variables
enabledbooleanEnable/disable server
timeoutnumberRequest timeout in ms

Remote MCP Server

OptionTypeDescription
type”remote”Server type
urlstringServer URL
headersobjectRequest headers
oauthobject/falseOAuth configuration
enabledbooleanEnable/disable server
timeoutnumberRequest timeout in ms

OAuth Configuration

{
"oauth": {
"clientId": "your-client-id",
"clientSecret": "your-client-secret",
"scope": "read write"
}
}

Permission Configuration

Control tool permissions:

{
"permission": {
"bash": "ask",
"edit": "allow",
"read": "allow",
"glob": "allow",
"grep": "allow",
"websearch": "deny"
}
}

Permission Actions

ActionDescription
askPrompt user for approval (default)
allowAuto-approve without asking
denyBlock tool usage

Pattern-Based Permissions

Specify permissions per pattern:

{
"permission": {
"bash": {
"*": "ask",
"ls *": "allow",
"rm -rf *": "deny"
},
"edit": {
"*": "ask",
"*.md": "allow"
}
}
}

Available Permission Keys

KeyDescription
readFile reading
editFile editing/writing
globFile pattern matching
grepContent searching
listDirectory listing
bashCommand execution
taskTask execution
websearchWeb searches
webfetchURL fetching
lspLSP operations
external_directoryAccess outside project

Keybindings

Customize keyboard shortcuts:

{
"keybinds": {
"leader": "ctrl+x",
"app_exit": "ctrl+c,ctrl+d",
"session_new": "<leader>n",
"session_list": "<leader>l",
"model_list": "<leader>m",
"agent_list": "<leader>a",
"input_submit": "return",
"input_newline": "shift+return,ctrl+return"
}
}

Key Format

  • Single key: ctrl+c, escape, return
  • Multiple bindings: ctrl+c,ctrl+d (comma-separated)
  • Leader sequences: <leader>n (uses leader key)
  • Disable: none

TUI Settings

Configure the terminal interface:

{
"tui": {
"scroll_speed": 1.0,
"scroll_acceleration": {
"enabled": true
},
"diff_style": "auto"
}
}
OptionTypeDescription
scroll_speednumberScroll speed multiplier
scroll_accelerationobjectAcceleration settings
diff_style”auto”/“stacked”Diff rendering style

Server Configuration

Configure the API server:

{
"server": {
"port": 4096,
"hostname": "localhost",
"mdns": true,
"cors": ["https://example.com"]
}
}

Hooks Configuration

Configure automation hooks:

{
"experimental": {
"hook": {
"file_edited": {
"*.ts": [
{
"command": ["bun", "run", "lint"],
"environment": {}
}
]
},
"session_completed": [
{
"command": ["notify-send", "Session completed"]
}
]
}
}
}

Sharing Configuration

Control session sharing:

{
"share": "manual"
}
ValueDescription
manualShare via commands only
autoAuto-share new sessions
disabledDisable all sharing

Compaction Settings

Configure context compaction:

{
"compaction": {
"auto": true,
"prune": true
}
}
OptionDescription
autoAuto-compact when context is full
prunePrune old tool outputs

Environment Variables

Configuration Variables

VariableDescription
CYBERSTRIKE_CONFIGCustom config file path
CYBERSTRIKE_CONFIG_CONTENTInline JSON config
CYBERSTRIKE_CONFIG_DIRAdditional config directory
CYBERSTRIKE_DISABLE_PROJECT_CONFIGIgnore project config
CYBERSTRIKE_PERMISSIONJSON permission overrides

Provider API Keys

VariableProvider
ANTHROPIC_API_KEYAnthropic
OPENAI_API_KEYOpenAI
GOOGLE_API_KEYGoogle
OPENROUTER_API_KEYOpenRouter
AWS_ACCESS_KEY_IDAWS Bedrock
AZURE_API_KEYAzure OpenAI

Behavior Flags

VariableDescription
CYBERSTRIKE_AUTO_SHAREAuto-share sessions
CYBERSTRIKE_DISABLE_AUTOCOMPACTDisable auto-compaction
CYBERSTRIKE_DISABLE_PRUNEDisable output pruning

Variable Substitution

Environment Variables

Reference environment variables in config:

{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
}
}
}

File References

Include content from files:

{
"instructions": ["{file:./SECURITY.md}"]
}

Supports:

  • Relative paths: {file:./path/to/file}
  • Absolute paths: {file:/absolute/path}
  • Home directory: {file:~/path/from/home}

LSP Configuration

Configure Language Server Protocol:

{
"lsp": {
"typescript": {
"command": ["typescript-language-server", "--stdio"],
"extensions": [".ts", ".tsx"]
},
"rust": {
"disabled": true
}
}
}

Set lsp: false to disable all LSP features.


Formatter Configuration

Configure code formatters:

{
"formatter": {
"prettier": {
"command": ["prettier", "--write"],
"extensions": [".ts", ".tsx", ".js", ".jsx"]
},
"rustfmt": {
"disabled": true
}
}
}

Set formatter: false to disable all formatters.


Complete Example

cyberstrike.json
{
"$schema": "https://cyberstrike.io/config.json",
"model": "anthropic/claude-sonnet-4-20250514",
"small_model": "anthropic/claude-haiku-4-5-20250514",
"default_agent": "web-application",
"theme": "cyberpunk",
"share": "manual",
"autoupdate": "notify",
"provider": {
"anthropic": {
"options": {
"timeout": 300000
}
}
},
"agent": {
"web-application": {
"model": "anthropic/claude-opus-4-20250514",
"steps": 100
}
},
"permission": {
"bash": "ask",
"edit": "allow",
"read": "allow"
},
"mcp": {
"filesystem": {
"type": "local",
"command": ["npx", "@modelcontextprotocol/server-filesystem", "."],
"enabled": true
}
},
"keybinds": {
"leader": "ctrl+x"
},
"compaction": {
"auto": true,
"prune": true
}
}