Skip to main content

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

Referencia de Configuracao

O Cyberstrike pode ser configurado por multiplos metodos: arquivos de configuracao, variaveis de ambiente e argumentos de linha de comando. Esta referencia cobre todas as opcoes de configuracao.

📸 SCREENSHOT: s13-config-structure.png

Estrutura do arquivo de configuracao

Prioridade de configuracao — o mais alto vence, desde argumentos CLI ate valores padrao

Hierarquia de Configuracao

As fontes de configuracao sao mescladas em ordem de prioridade (a maior prioridade vence):

  1. Argumentos de linha de comando
  2. Configuracao gerenciada (empresarial) — cyberstrike.json/cyberstrike.jsonc controlado pelo administrador no diretorio gerenciado
  3. Variavel de ambiente CYBERSTRIKE_CONFIG_CONTENT (JSON inline)
  4. Configuracao do diretorio .cyberstrike/ — o .cyberstrike/ do projeto, depois ~/.cyberstrike/ no diretorio home
  5. Configuracao do projeto (./cyberstrike.json ou ./cyberstrike.jsonc, descoberto subindo a partir do diretorio de trabalho)
  6. Caminho de configuracao personalizado (CYBERSTRIKE_CONFIG)
  7. Configuracao global (~/.config/cyberstrike/config.json, cyberstrike.json ou cyberstrike.jsonc)
  8. Configuracao remota / well-known
  9. Valores padrao

Inspecionando a Configuracao

Para ver a configuracao efetiva apos todas as fontes serem mescladas, execute:

Terminal window
cyberstrike debug config

Isso imprime a configuracao resolvida como JSON. Nao existem comandos config get/set — altere as configuracoes editando o arquivo de configuracao diretamente (veja abaixo).

Arquivos de Configuracao

Configuracao do Projeto

Crie cyberstrike.json ou cyberstrike.jsonc na raiz do seu projeto:

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

Configuracao Global

Armazene configuracoes de usuario em ~/.config/cyberstrike/. Qualquer um entre config.json, cyberstrike.json ou cyberstrike.jsonc e carregado (o Cyberstrike gera automaticamente o config.json):

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

Estrutura do Diretorio do Projeto

Crie um diretorio .cyberstrike/ para configuracao organizada:

.cyberstrike/
├── cyberstrike.json # Configuracao do projeto
├── agents/ # Agentes personalizados
│ └── security.md
├── commands/ # Comandos personalizados
│ └── scan.md
├── plugins/ # Plugins personalizados
│ └── my-plugin.ts
└── modes/ # Modos personalizados (obsoleto)

Configuracoes Principais

Selecao de Modelo

Defina o modelo de IA padrao:

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

Formato: provider/model-name

Modelo Leve

Defina um modelo para tarefas leves (geracao de titulo):

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

Agente Padrao

Defina o agente de seguranca padrao:

{
"default_agent": "cyberstrike"
}

Nome de Usuario

Sobrescreva o nome de usuario do sistema:

{
"username": "pentester"
}

Tema

Defina o tema da interface:

{
"theme": "cyberstrike"
}

Configuracao de Provedores

Configure provedores de IA individualmente:

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

Opcoes do Provedor

OpcaoTipoDescricao
apiKeystringChave de API para autenticacao
baseURLstringEndpoint de API personalizado
timeoutnumber/falseTimeout da requisicao em ms (padrao: 300000)
setCacheKeybooleanHabilitar chave de cache de prompt
enterpriseUrlstringURL do GitHub Enterprise para copilot

Filtragem de Modelos

Controle quais modelos aparecem:

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

Desabilitando Provedores

Desabilite provedores especificos:

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

Habilite apenas provedores especificos:

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

Configuracao de Agentes

Configure o comportamento dos agentes:

{
"agent": {
"cyberstrike": {
"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"
}
}
}

Opcoes do Agente

OpcaoTipoDescricao
modelstringModelo sobrescrito para este agente
temperaturenumberTemperatura do modelo (0-1)
top_pnumberValor de amostragem top-p
stepsnumberMaximo de iteracoes agentivas
promptstringPrompt de sistema personalizado
colorstringCodigo de cor hex (#RRGGBB)
descriptionstringDescricao do agente
modestringModo do agente: “primary”, “subagent”, “all”
hiddenbooleanOcultar do autocompletar
disablebooleanDesabilitar este agente

Criando Agentes Personalizados

Crie .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

Configuracao MCP

Configure servidores Model Context Protocol:

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

Servidor MCP Local

OpcaoTipoDescricao
type“local”Tipo do servidor
commandstring[]Comando e argumentos
environmentobjectVariaveis de ambiente
enabledbooleanHabilitar/desabilitar servidor
timeoutnumberTimeout da requisicao em ms

Servidor MCP Remoto

OpcaoTipoDescricao
type“remote”Tipo do servidor
urlstringURL do servidor
headersobjectHeaders da requisicao
oauthobject/falseConfiguracao OAuth
enabledbooleanHabilitar/desabilitar servidor
timeoutnumberTimeout da requisicao em ms

Configuracao OAuth

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

Configuracao de Permissoes

Controle permissoes de ferramentas:

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

Acoes de Permissao

AcaoDescricao
askSolicitar aprovacao do usuario (padrao)
allowAprovar automaticamente sem perguntar
denyBloquear uso da ferramenta

Permissoes Baseadas em Padrao

Especifique permissoes por padrao:

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

Chaves de Permissao Disponiveis

ChaveDescricao
readLeitura de arquivos
editEdicao/escrita de arquivos
globCorrespondencia de padroes de arquivo
grepBusca de conteudo
listListagem de diretorios
bashExecucao de comandos
taskExecucao de tarefas
websearchBuscas na web
webfetchBusca de URLs
lspOperacoes LSP
external_directoryAcesso fora do projeto

Keybindings

Personalize atalhos de teclado:

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

Formato de Tecla

  • Tecla unica: ctrl+c, escape, return
  • Multiplos bindings: ctrl+c,ctrl+d (separados por virgula)
  • Sequencias de lider: <leader>n (usa a tecla lider)
  • Desabilitar: none

Configuracoes da TUI

Configure a interface de terminal:

{
"tui": {
"scroll_speed": 1.0,
"scroll_acceleration": {
"enabled": true
},
"diff_style": "auto"
}
}
OpcaoTipoDescricao
scroll_speednumberMultiplicador de velocidade de rolagem
scroll_accelerationobjectConfiguracoes de aceleracao
diff_style“auto”/“stacked”Estilo de renderizacao de diff

Configuracao do Servidor

Configure o servidor de API:

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

Plugins e Hooks

O Cyberstrike nao usa um sistema de hooks baseado em configuracao. Hooks de automacao e ciclo de vida sao implementados como plugins — modulos JavaScript/TypeScript que se inscrevem em eventos como tool.execute.before, tool.execute.after ou permission.ask.

Registre plugins por nome. Eles sao resolvidos do npm ou de um diretorio local {plugin,plugins}/ dentro de .cyberstrike/:

{
"plugin": ["my-plugin", "@scope/another-plugin"]
}

Consulte Hooks e Plugins para a lista completa de eventos e o guia de autoria.

Opcoes Experimentais

O bloco experimental expoe funcionalidades opt-in:

{
"experimental": {
"batch_tool": true,
"openTelemetry": false,
"continue_loop_on_deny": false,
"mcp_timeout": 5000
}
}
OpcaoTipoDescricao
disable_paste_summarybooleanDesabilitar o resumo de colagem
batch_toolbooleanHabilitar a ferramenta de lote
openTelemetrybooleanHabilitar spans OpenTelemetry para chamadas AI SDK
primary_toolsstring[]Ferramentas disponiveis apenas para agentes primarios
continue_loop_on_denybooleanContinuar o loop do agente quando uma chamada de ferramenta e negada
mcp_timeoutnumberTimeout (ms) para requisicoes MCP

Configuracao de Compartilhamento

Controle o compartilhamento de sessoes:

{
"share": "manual"
}
ValorDescricao
manualCompartilhar apenas via comandos
autoAuto-compartilhar novas sessoes
disabledDesabilitar todo compartilhamento

Configuracoes de Compactacao

Configure a compactacao de contexto:

{
"compaction": {
"auto": true,
"prune": true
}
}
OpcaoDescricao
autoAuto-compactar quando o contexto esta cheio
prunePodar saidas antigas de ferramentas

Variaveis de Ambiente

Variaveis de Configuracao

VariavelDescricao
CYBERSTRIKE_CONFIGCaminho personalizado do arquivo de configuracao
CYBERSTRIKE_CONFIG_CONTENTConfiguracao JSON inline
CYBERSTRIKE_CONFIG_DIRDiretorio de configuracao adicional
CYBERSTRIKE_DISABLE_PROJECT_CONFIGIgnorar configuracao do projeto
CYBERSTRIKE_PERMISSIONSobrescrita de permissoes em JSON

Chaves de API de Provedores

VariavelProvedor
ANTHROPIC_API_KEYAnthropic
OPENAI_API_KEYOpenAI
GOOGLE_GENERATIVE_AI_API_KEYGoogle (Gemini)
OPENROUTER_API_KEYOpenRouter
AWS_ACCESS_KEY_IDAWS Bedrock
AZURE_API_KEYAzure OpenAI

Flags de Comportamento

VariavelDescricao
CYBERSTRIKE_AUTO_SHAREAuto-compartilhar sessoes
CYBERSTRIKE_DISABLE_AUTOCOMPACTDesabilitar auto-compactacao
CYBERSTRIKE_DISABLE_PRUNEDesabilitar poda de saidas

Substituicao de Variaveis

Variaveis de Ambiente

Referencie variaveis de ambiente na configuracao:

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

Referencias de Arquivo

Inclua conteudo de arquivos:

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

Suporta:

  • Caminhos relativos: {file:./path/to/file}
  • Caminhos absolutos: {file:/absolute/path}
  • Diretorio home: {file:~/path/from/home}

Configuracao LSP

Configure o Language Server Protocol:

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

Defina lsp: false para desabilitar todas as funcionalidades LSP.


Configuracao de Formatador

Configure formatadores de codigo:

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

Defina formatter: false para desabilitar todos os formatadores.


Exemplo Completo

cyberstrike.json
{
"$schema": "https://cyberstrike.io/config.json",
"model": "anthropic/claude-sonnet-4-20250514",
"small_model": "anthropic/claude-haiku-4-5-20251001",
"default_agent": "cyberstrike",
"theme": "cyberstrike",
"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
}
}