Skip to main content

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

Variables d'environnement

Les variables d’environnement configurent les identifiants des fournisseurs et les comportements à l’exécution — utile pour le CI/CD et les environnements conteneurisés.

Info

Cyberstrike ne lit pas les paramètres comme le modèle, l’agent ou le thème depuis les variables d’environnement. Ceux-ci sont dans le fichier de configuration (voir Référence de configuration). Les variables CYBERSTRIKE_* ci-dessous sont limitées aux identifiants, chemins de configuration et indicateurs de comportement.

📸 SCREENSHOT: env-vars-terminal.png

Définition des variables d’environnement dans le terminal

Clés API des fournisseurs

Les clés des fournisseurs utilisent les noms de variables standard du SDK. Voir Fournisseurs IA pour la liste complète.

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 est également accepté

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 un jeton porteur :
export AWS_BEARER_TOKEN_BEDROCK="..."

Variables de chemin de configuration

VariableDescription
CYBERSTRIKE_CONFIGChemin complet vers un fichier de configuration personnalisé
CYBERSTRIKE_CONFIG_DIRRépertoire .cyberstrike supplémentaire à scanner
CYBERSTRIKE_CONFIG_CONTENTConfiguration JSON en ligne (surcharge les sources fichier)
CYBERSTRIKE_DISABLE_PROJECT_CONFIGDéfinir à vrai pour ignorer la configuration du projet
CYBERSTRIKE_PERMISSIONSurcharge de permissions sous forme de chaîne JSON

Indicateurs de comportement

Ces variables activent/désactivent des comportements à l’exécution. Les indicateurs booléens sont activés lorsqu’ils sont définis à une valeur vraie (1, true).

VariableDescription
CYBERSTRIKE_AUTO_SHAREPartager automatiquement les sessions nouvellement créées
CYBERSTRIKE_DISABLE_AUTOUPDATEDésactiver les mises à jour automatiques
CYBERSTRIKE_DISABLE_AUTOCOMPACTDésactiver la compaction automatique du contexte
CYBERSTRIKE_DISABLE_PRUNEDésactiver l’élagage des anciennes sorties d’outils
CYBERSTRIKE_DISABLE_TERMINAL_TITLENe pas mettre à jour le titre du terminal
CYBERSTRIKE_DISABLE_DEFAULT_PLUGINSNe pas charger les plugins intégrés
CYBERSTRIKE_DISABLE_LSP_DOWNLOADNe pas télécharger les serveurs LSP
CYBERSTRIKE_DISABLE_MODELS_FETCHNe pas récupérer le catalogue de modèles distant
CYBERSTRIKE_DISABLE_EXTERNAL_SKILLSNe pas charger les compétences externes
CYBERSTRIKE_ENABLE_EXAActiver la recherche web via Exa
CYBERSTRIKE_MODELS_URLRemplacer l’URL du catalogue de modèles
CYBERSTRIKE_MODELS_PATHCharger le catalogue de modèles depuis un chemin local

Identifiants du serveur

Utilisés par cyberstrike serve et cyberstrike web :

Terminal window
export CYBERSTRIKE_SERVER_PASSWORD="..." # requis pour démarrer le serveur
export CYBERSTRIKE_SERVER_USERNAME="admin" # optionnel, des valeurs par défaut existent

Référencer les variables dans la configuration

Les fichiers de configuration supportent deux substitutions — et uniquement ces deux :

Variables d’environnement — {env:VAR}

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

{env:VAR} est remplacé par la valeur de VAR, ou une chaîne vide si non défini. La syntaxe shell ${VAR}, $VAR et la syntaxe de valeur par défaut ({env:VAR:-default}) ne sont pas supportées.

Contenu de fichiers — {file:path}

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

Les chemins peuvent être relatifs au fichier de configuration, absolus, ou commencer par ~/ pour le répertoire personnel.

Surcharges de permissions pour l’automatisation

cyberstrike run (non interactif) rejette automatiquement tout appel d’outil qui demanderait sinon confirmation. Pour pré-approuver des outils en CI, passez une carte de permissions JSON via CYBERSTRIKE_PERMISSION :

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

La valeur suit la même structure que le champ permission de la configuration. Voir Permissions.

Configuration du 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

Fichiers .env

.env
ANTHROPIC_API_KEY=sk-ant-...
CYBERSTRIKE_PERMISSION={"bash":"allow"}
Terminal window
# Charger avant le lancement
source .env && cyberstrike

Caution

Ne committez jamais les fichiers .env dans le contrôle de version. Ajoutez .env au .gitignore.

Intégration 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

Ordre de priorité

Les sources de configuration sont fusionnées dans cet ordre (la plus haute l’emporte) :

1. Arguments en ligne de commande
2. Configuration gérée entreprise
3. CYBERSTRIKE_CONFIG_CONTENT (JSON en ligne)
4. Configuration du répertoire .cyberstrike/
5. Configuration du projet (cyberstrike.json / .jsonc)
6. CYBERSTRIKE_CONFIG (fichier personnalisé)
7. Configuration globale (~/.config/cyberstrike/)
8. Remote .well-known/cyberstrike
9. Valeurs par défaut

Voir la Référence de configuration pour les détails.

Vérifier les variables

Terminal window
# Lister les variables Cyberstrike actives
env | grep CYBERSTRIKE
# Vérifier qu'une clé fournisseur est définie (sans l'afficher entièrement)
echo "${ANTHROPIC_API_KEY:0:12}..."

Sécurité

  1. N’affichez jamais les clés API complètes
  2. Utilisez la gestion des secrets en CI/CD
  3. Faites une rotation des clés périodiquement
  4. Restreignez les permissions .env : chmod 600 .env

Tip

Utilisez un gestionnaire de secrets comme HashiCorp Vault, AWS Secrets Manager ou 1Password CLI pour les environnements de production.

Documentation associée