Skip to main content

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

Configuracao do Projeto

A configuracao do projeto personaliza o comportamento do Cyberstrike para projetos especificos, sobrescrevendo configuracoes globais quando presente.

📸 SCREENSHOT: project-config.png

Estrutura do arquivo de configuracao do projeto

Localizacao do Arquivo

A configuracao do projeto e armazenada em cyberstrike.json (ou cyberstrike.jsonc) na raiz do projeto. O Cyberstrike sobe a partir do diretorio de trabalho, entao uma configuracao em qualquer pasta pai e detectada:

my-project/
├── cyberstrike.json ← Configuracao do projeto
├── src/
├── package.json
└── ...

Criando a Configuracao do Projeto

Nao existe comando de inicializacao — crie o arquivo manualmente:

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

Configuracoes Basicas

Selecao de Modelo

{
"model": "anthropic/claude-opus-4-5-20251101"
}

Agente Padrao

{
"default_agent": "cyberstrike"
}

default_agent deve ser um agente primario; volta para cyberstrike se nao definido ou invalido.

Instrucoes Personalizadas

instructions e uma lista de arquivos ou padroes glob cujos conteudos sao adicionados ao prompt do sistema (nao e prosa inline). Listas sao mescladas por uniao com a configuracao global:

{
"instructions": [
"SECURITY.md",
"docs/security-guidelines.md",
".cursor/rules/*.md"
]
}

Configuracao de Provedores

Configure provedores sob provider. Nao existe chave provider.default — o provedor ativo segue do model (provider/model):

{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
}
}
}

Consulte Provedores de IA para detalhes por provedor.

Permissoes

Permissoes mapeiam um nome de ferramenta para uma acao (ask, allow, deny) ou para um mapa glob → acao. Nao existem arrays allow/deny e nenhum “modo” de permissao:

{
"permission": {
"read": "allow",
"bash": {
"npm test": "allow",
"npm run lint": "allow",
"rm -rf *": "deny"
},
"edit": {
"reports/**": "allow",
".env*": "deny"
}
}
}

Apenas * e ? sao suportados como wildcards. Consulte Permissoes para o modelo completo e a lista de chaves de permissao.

Servidores MCP

Servidores MCP sao declarados como um mapa plano sob mcp, indexados pelo nome do servidor. Servidores locais usam type: "local" com um unico array command:

{
"mcp": {
"project-tools": {
"type": "local",
"command": ["node", "./tools/mcp-server.js"],
"enabled": true
}
}
}

Entradas mcp do projeto sao mescladas sobre as globais. Para desligar um servidor herdado, defina seu enabled como false:

{
"mcp": {
"some-global-server": { "enabled": false }
}
}

Agentes Personalizados

Defina agentes de projeto como arquivos Markdown sob .cyberstrike/agents/ (consulte Agentes Personalizados), depois selecione um como padrao:

{
"default_agent": "project-scanner"
}

Exemplo Completo

cyberstrike.json
{
"$schema": "https://cyberstrike.io/config.json",
"model": "anthropic/claude-sonnet-4-20250514",
"default_agent": "cyberstrike",
"instructions": ["docs/SECURITY.md"],
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
}
},
"permission": {
"read": "allow",
"bash": { "npm *": "allow", "git status": "allow", "rm *": "deny" },
"edit": { "reports/**": "allow", ".env*": "deny" }
},
"mcp": {
"db-tools": {
"type": "local",
"command": ["node", "./tools/db-mcp.js"],
"enabled": true
}
}
}

Heranca de Configuracao

A configuracao do projeto e mesclada sobre a configuracao global e remota:

Configuracao remota / well-known (base)
↓
Configuracao global (~/.config/cyberstrike/)
↓
Configuracao personalizada (CYBERSTRIKE_CONFIG)
↓
Configuracao do projeto (cyberstrike.json)
↓
Configuracao do diretorio .cyberstrike/
↓
CYBERSTRIKE_CONFIG_CONTENT / configuracao gerenciada / argumentos CLI (sobrescrita)

Consulte a Referencia de Configuracao para a ordem completa de prioridade.

Comportamento de Mesclagem

ConfiguracaoComportamento
EscalaresSubstituidos
ObjetosMesclagem profunda
ArraysSubstituidos — exceto plugin e instructions, que sao mesclados por uniao

Validacao de Schema

Adicione a referencia de schema para autocompletar e validacao no IDE:

{
"$schema": "https://cyberstrike.io/config.json"
}

Integracao com Git

Fazer Commit da Configuracao do Projeto

Terminal window
git add cyberstrike.json
git commit -m "Add Cyberstrike project configuration"

Ignorar Dados Sensiveis

.gitignore
# Ignorar dados de sessao locais
.cyberstrike/sessions/

Boas Praticas

  1. Controle de versao - Faca commit da configuracao do projeto para compartilhamento com a equipe
  2. Use referencias de ambiente - Nunca codifique chaves de API diretamente ({env:VAR})
  3. Documente instrucoes - Aponte instructions para seus documentos de seguranca
  4. Permissoes minimas - Permita apenas o necessario
  5. Sobrescritas pessoais - Use CYBERSTRIKE_CONFIG para configuracoes que nao devem ser commitadas

Tip

Faca commit de cyberstrike.json para compartilhamento com a equipe. Use variaveis de ambiente ou CYBERSTRIKE_CONFIG para sobrescritas pessoais que nao devem ser commitadas.

Documentacao Relacionada