Skip to main content

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

Global Configuration

Global configuration sets default behavior for all Cyberstrike sessions across all projects.

📸 SCREENSHOT: global-config.png

Global configuration file location

File Location

Global configuration is stored at:

~/.cyberstrike/config.json

Directory Structure

~/.cyberstrike/
├── config.json ← Global config
├── auth.json ← Credentials
├── agents/ ← Custom agents
├── sessions/ ← Session history
├── cache/ ← Cache data
└── logs/ ← Log files

Creating Global Config

Interactive Setup

Terminal window
cyberstrike config init --global

Manual Creation

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

Model Configuration

Default Model

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

Model Aliases

{
"models": {
"quick": "anthropic/claude-3-5-haiku-20241022",
"smart": "anthropic/claude-opus-4-5-20251101",
"default": "anthropic/claude-sonnet-4-20250514"
}
}

Use aliases:

Terminal window
cyberstrike --model quick

Provider Configuration

Anthropic

{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}",
"thinking": {
"type": "enabled",
"budgetTokens": 8000
}
}
}
}
}

Multiple Providers

{
"provider": {
"default": "anthropic",
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
},
"ollama": {
"options": {
"baseURL": "http://localhost:11434"
}
}
}
}

Theme Settings

Set Theme

{
"theme": "cyberpunk"
}

Available Themes

  • default
  • cyberpunk
  • dark
  • light
  • matrix

Custom Theme

{
"theme": {
"name": "custom",
"colors": {
"primary": "#00ff00",
"secondary": "#ff00ff",
"background": "#000000"
}
}
}

Keybindings

Leader Key

{
"keybinds": {
"leader": "ctrl+x"
}
}

Custom Bindings

{
"keybinds": {
"leader": "ctrl+a",
"session_new": "<leader>n",
"session_list": "<leader>l",
"model_list": "<leader>m",
"theme_list": "<leader>t",
"app_exit": "ctrl+c,ctrl+d,<leader>q"
}
}

Permission Defaults

Global Allow List

{
"permissions": {
"allow": [
"Read(**)",
"Glob(**)",
"Grep(**)"
]
}
}

Global Deny List

{
"permissions": {
"deny": [
"Bash(rm -rf *)",
"Write(~/.ssh/*)",
"Read(~/.aws/credentials)"
]
}
}

Default Mode

{
"permissions": {
"mode": "default"
}
}

MCP Servers

Global Servers

{
"mcp": {
"servers": {
"kali": {
"command": "npx",
"args": ["-y", "@cyberstrike/mcp-kali"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "~"]
}
}
}
}

Server Options

{
"mcp": {
"servers": {
"my-server": {
"command": "node",
"args": ["server.js"],
"autoStart": true,
"timeout": 30000,
"env": {
"DEBUG": "true"
}
}
}
}
}

Agent Paths

Additional Agent Directories

{
"agentPaths": [
"~/.cyberstrike/agents",
"~/shared-agents"
]
}

Default Agent

{
"agent": "web-application"
}

Session Settings

Auto-Compact

{
"session": {
"autoCompact": true,
"compactThreshold": 50000
}
}

Session History

{
"session": {
"maxHistory": 100,
"saveHistory": true
}
}

Output Settings

Default Format

{
"output": {
"format": "markdown",
"colors": true
}
}

Logging

{
"logging": {
"level": "info",
"file": "~/.cyberstrike/logs/cyberstrike.log",
"maxSize": "10MB",
"maxFiles": 5
}
}

Editor Integration

External Editor

{
"editor": {
"command": "code",
"args": ["--wait"]
}
}

Vim Mode

{
"vim": {
"enabled": true,
"startInInsertMode": true
}
}

Network Settings

Proxy

{
"network": {
"proxy": "http://proxy.example.com:8080",
"noProxy": ["localhost", "127.0.0.1"]
}
}

Timeout

{
"network": {
"timeout": 60000
}
}

Full Example

~/.cyberstrike/config.json
{
"$schema": "https://cyberstrike.io/schema/config.json",
"model": "anthropic/claude-sonnet-4-20250514",
"theme": "cyberpunk",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
}
},
"keybinds": {
"leader": "ctrl+x",
"session_new": "<leader>n",
"model_list": "<leader>m"
},
"permissions": {
"mode": "default",
"allow": [
"Read(**)",
"Glob(**)"
],
"deny": [
"Bash(rm -rf *)"
]
},
"mcp": {
"servers": {
"kali": {
"command": "npx",
"args": ["-y", "@cyberstrike/mcp-kali"],
"autoStart": true
}
}
},
"session": {
"autoCompact": true,
"maxHistory": 100
},
"vim": {
"enabled": true
}
}

Backup and Restore

Backup Config

Terminal window
cp ~/.cyberstrike/config.json ~/.cyberstrike/config.backup.json

Export Config

Terminal window
cyberstrike config export > my-config.json

Restore Config

Terminal window
cyberstrike config import my-config.json

Security Considerations

File Permissions

Terminal window
chmod 600 ~/.cyberstrike/config.json
chmod 700 ~/.cyberstrike/

Sensitive Data

Never store API keys directly:

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

Caution

Always use environment variable references for sensitive data like API keys.