Skip to main content

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

Variaveis de Ambiente

Variaveis de ambiente configuram credenciais de provedores e alternam comportamentos em tempo de execucao — util para ambientes de CI/CD e containerizados.

Info

O Cyberstrike nao le configuracoes como modelo, agente ou tema a partir de variaveis de ambiente. Essas ficam no arquivo de configuracao (veja Referencia de Configuracao). As variaveis CYBERSTRIKE_* abaixo sao limitadas a credenciais, caminhos de configuracao e flags de comportamento.

📸 SCREENSHOT: env-vars-terminal.png

Definindo variaveis de ambiente no terminal

Chaves de API de Provedores

As chaves de provedores usam os nomes de variaveis padrao do SDK. Consulte Provedores de IA para a lista completa.

Anthropic

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

OpenAI

Terminal window
export OPENAI_API_KEY="sk-proj-..."

Google (Gemini)

Terminal window
export GOOGLE_GENERATIVE_AI_API_KEY="AI..."
# GEMINI_API_KEY tambem e aceito

OpenRouter

Terminal window
export OPENROUTER_API_KEY="sk-or-..."

Groq

Terminal window
export GROQ_API_KEY="gsk_..."

Azure OpenAI

Terminal window
export AZURE_RESOURCE_NAME="your-resource"
export AZURE_API_KEY="..."

AWS Bedrock

Terminal window
export AWS_ACCESS_KEY_ID="AKIA..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_REGION="us-east-1"
# ou um bearer token:
export AWS_BEARER_TOKEN_BEDROCK="..."

Variaveis de Caminho de Configuracao

VariavelDescricao
CYBERSTRIKE_CONFIGCaminho completo para um arquivo de configuracao personalizado
CYBERSTRIKE_CONFIG_DIRDiretorio .cyberstrike adicional para escanear
CYBERSTRIKE_CONFIG_CONTENTConfiguracao JSON inline (sobrescreve fontes de arquivo)
CYBERSTRIKE_DISABLE_PROJECT_CONFIGDefina como verdadeiro para pular o carregamento da configuracao do projeto
CYBERSTRIKE_PERMISSIONSobrescrita de permissao como string JSON

Flags de Comportamento

Estas variaveis alternam comportamentos em tempo de execucao. Flags booleanas sao habilitadas quando definidas com um valor verdadeiro (1, true).

VariavelDescricao
CYBERSTRIKE_AUTO_SHAREAuto-compartilhar sessoes recem-criadas
CYBERSTRIKE_DISABLE_AUTOUPDATEDesabilitar atualizacoes automaticas
CYBERSTRIKE_DISABLE_AUTOCOMPACTDesabilitar compactacao automatica de contexto
CYBERSTRIKE_DISABLE_PRUNEDesabilitar poda de saidas antigas de ferramentas
CYBERSTRIKE_DISABLE_TERMINAL_TITLENao atualizar o titulo do terminal
CYBERSTRIKE_DISABLE_DEFAULT_PLUGINSPular carregamento dos plugins integrados
CYBERSTRIKE_DISABLE_LSP_DOWNLOADNao baixar servidores LSP
CYBERSTRIKE_DISABLE_MODELS_FETCHNao buscar o catalogo remoto de modelos
CYBERSTRIKE_DISABLE_EXTERNAL_SKILLSPular carregamento de skills externas
CYBERSTRIKE_ENABLE_EXAHabilitar busca web via Exa
CYBERSTRIKE_MODELS_URLSobrescrever a URL do catalogo de modelos
CYBERSTRIKE_MODELS_PATHCarregar o catalogo de modelos de um caminho local

Credenciais do Servidor

Usadas por cyberstrike serve e cyberstrike web:

Terminal window
export CYBERSTRIKE_SERVER_PASSWORD="..." # obrigatorio para iniciar o servidor
export CYBERSTRIKE_SERVER_USERNAME="admin" # opcional, existem valores padrao

Referenciando Variaveis na Configuracao

Arquivos de configuracao suportam duas substituicoes — e apenas estas duas:

Variaveis de Ambiente — {env:VAR}

~/.config/cyberstrike/cyberstrike.jsonc
{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
}
}
}

{env:VAR} e substituido pelo valor de VAR, ou uma string vazia se nao definido. Sintaxe estilo shell ${VAR}, $VAR e sintaxe de valor padrao ({env:VAR:-default}) nao sao suportadas.

Conteudo de Arquivos — {file:path}

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

Caminhos podem ser relativos ao arquivo de configuracao, absolutos ou comecar com ~/ para o diretorio home.

Sobrescrita de Permissoes para Automacao

cyberstrike run (nao interativo) rejeita automaticamente qualquer chamada de ferramenta que normalmente solicitaria aprovacao. Para pre-aprovar ferramentas em CI, passe um mapa de permissoes JSON via CYBERSTRIKE_PERMISSION:

Terminal window
export CYBERSTRIKE_PERMISSION='{"bash":"allow","edit":"allow","read":"allow"}'

O valor segue o mesmo formato do campo permission da configuracao. Consulte Permissoes.

Configuracao do Shell

Bash / Zsh

~/.bashrc / ~/.zshrc
export ANTHROPIC_API_KEY="sk-ant-..."
export CYBERSTRIKE_AUTO_SHARE=1

Fish

~/.config/fish/config.fish
set -gx ANTHROPIC_API_KEY "sk-ant-..."
set -gx CYBERSTRIKE_AUTO_SHARE 1

Arquivos .env

.env
ANTHROPIC_API_KEY=sk-ant-...
CYBERSTRIKE_PERMISSION={"bash":"allow"}
Terminal window
# Carregue antes de iniciar
source .env && cyberstrike

Caution

Nunca faca commit de arquivos .env no controle de versao. Adicione .env ao .gitignore.

Integracao CI/CD

GitHub Actions

env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
CYBERSTRIKE_PERMISSION: '{"bash":"allow","read":"allow","edit":"allow"}'
steps:
- name: Security Scan
run: cyberstrike run "scan for vulnerabilities"

GitLab CI

variables:
CYBERSTRIKE_PERMISSION: '{"bash":"allow","read":"allow"}'
security_scan:
script:
- cyberstrike run "analyze code for security issues"

Docker

Docker Run

Terminal window
docker run -it \
-e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
-e CYBERSTRIKE_PERMISSION='{"bash":"allow"}' \
cyberstrike/cyberstrike

Docker Compose

docker-compose.yml
services:
cyberstrike:
image: cyberstrike/cyberstrike
environment:
- ANTHROPIC_API_KEY
- CYBERSTRIKE_AUTO_SHARE=1
env_file:
- .env

Ordem de Prioridade

As fontes de configuracao sao mescladas nesta ordem (a mais alta vence):

1. Argumentos de linha de comando
2. Configuracao gerenciada empresarial
3. CYBERSTRIKE_CONFIG_CONTENT (JSON inline)
4. Configuracao do diretorio .cyberstrike/
5. Configuracao do projeto (cyberstrike.json / .jsonc)
6. CYBERSTRIKE_CONFIG (arquivo personalizado)
7. Configuracao global (~/.config/cyberstrike/)
8. Remoto .well-known/cyberstrike
9. Valores padrao

Consulte a Referencia de Configuracao para detalhes.

Verificando Variaveis

Terminal window
# Listar variaveis ativas do Cyberstrike
env | grep CYBERSTRIKE
# Verificar se uma chave de provedor esta definida (sem imprimi-la completamente)
echo "${ANTHROPIC_API_KEY:0:12}..."

Seguranca

  1. Nunca exiba chaves de API completas
  2. Use gerenciamento de secrets em CI/CD
  3. Rotacione chaves periodicamente
  4. Restrinja permissoes de .env: chmod 600 .env

Tip

Use um gerenciador de secrets como HashiCorp Vault, AWS Secrets Manager ou 1Password CLI para ambientes de producao.

Documentacao Relacionada