Skip to main content

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

Umgebungsvariablen

Umgebungsvariablen konfigurieren Anbieter-Anmeldedaten und schalten Laufzeitverhalten um — nuetzlich fuer CI/CD und containerisierte Umgebungen.

Info

Cyberstrike liest Einstellungen wie Modell, Agent oder Theme nicht aus Umgebungsvariablen. Diese befinden sich in der Konfigurationsdatei (siehe Konfigurationsreferenz). Die unten aufgefuehrten CYBERSTRIKE_*-Variablen sind auf Anmeldedaten, Konfigurationspfade und Verhaltens-Flags beschraenkt.

📸 SCREENSHOT: env-vars-terminal.png

Umgebungsvariablen im Terminal setzen

Anbieter-API-Schluessel

Anbieter-Schluessel verwenden die Standard-Variablennamen des SDKs. Siehe KI-Anbieter fuer die vollstaendige Liste.

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 wird ebenfalls akzeptiert

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"
# oder ein Bearer-Token:
export AWS_BEARER_TOKEN_BEDROCK="..."

Konfigurationspfad-Variablen

VariableBeschreibung
CYBERSTRIKE_CONFIGVollstaendiger Pfad zu einer benutzerdefinierten Konfigurationsdatei
CYBERSTRIKE_CONFIG_DIRZusaetzliches .cyberstrike-Verzeichnis zum Scannen
CYBERSTRIKE_CONFIG_CONTENTInline-JSON-Konfiguration (ueberschreibt Dateiquellen)
CYBERSTRIKE_DISABLE_PROJECT_CONFIGAuf wahr setzen, um Projektkonfiguration zu ueberspringen
CYBERSTRIKE_PERMISSIONBerechtigungsueberschreibung als JSON-String

Verhaltens-Flags

Diese Variablen schalten Laufzeitverhalten um. Boolesche Flags sind aktiviert, wenn sie auf einen wahren Wert gesetzt sind (1, true).

VariableBeschreibung
CYBERSTRIKE_AUTO_SHARENeu erstellte Sitzungen automatisch teilen
CYBERSTRIKE_DISABLE_AUTOUPDATEAutomatische Updates deaktivieren
CYBERSTRIKE_DISABLE_AUTOCOMPACTAutomatische Kontext-Komprimierung deaktivieren
CYBERSTRIKE_DISABLE_PRUNEBereinigung alter Werkzeugausgaben deaktivieren
CYBERSTRIKE_DISABLE_TERMINAL_TITLETerminal-Titel nicht aktualisieren
CYBERSTRIKE_DISABLE_DEFAULT_PLUGINSEingebaute Plugins nicht laden
CYBERSTRIKE_DISABLE_LSP_DOWNLOADLSP-Server nicht herunterladen
CYBERSTRIKE_DISABLE_MODELS_FETCHRemote-Modellkatalog nicht abrufen
CYBERSTRIKE_DISABLE_EXTERNAL_SKILLSExterne Skills nicht laden
CYBERSTRIKE_ENABLE_EXAExa-basierte Websuche aktivieren
CYBERSTRIKE_MODELS_URLModellkatalog-URL ueberschreiben
CYBERSTRIKE_MODELS_PATHModellkatalog von einem lokalen Pfad laden

Server-Anmeldedaten

Verwendet von cyberstrike serve und cyberstrike web:

Terminal window
export CYBERSTRIKE_SERVER_PASSWORD="..." # erforderlich, um den Server zu starten
export CYBERSTRIKE_SERVER_USERNAME="admin" # optional, Standards existieren

Variablen in der Konfiguration referenzieren

Konfigurationsdateien unterstuetzen zwei Ersetzungen — und nur diese zwei:

Umgebungsvariablen — {env:VAR}

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

{env:VAR} wird durch den Wert von VAR ersetzt, oder einen leeren String, wenn nicht gesetzt. Shell-Syntax ${VAR}, $VAR und Standardwert-Syntax ({env:VAR:-default}) werden nicht unterstuetzt.

Dateiinhalte — {file:path}

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

Pfade koennen relativ zur Konfigurationsdatei, absolut oder mit ~/ fuer das Home-Verzeichnis beginnen.

Berechtigungsueberschreibungen fuer Automatisierung

cyberstrike run (nicht-interaktiv) lehnt automatisch jeden Werkzeugaufruf ab, der andernfalls eine Abfrage ausloesen wuerde. Um Werkzeuge in CI vorab zu genehmigen, uebergeben Sie eine JSON-Berechtigungszuordnung ueber CYBERSTRIKE_PERMISSION:

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

Der Wert folgt der gleichen Struktur wie das Konfigurationsfeld permission. Siehe Berechtigungen.

Shell-Konfiguration

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

.env-Dateien

.env
ANTHROPIC_API_KEY=sk-ant-...
CYBERSTRIKE_PERMISSION={"bash":"allow"}
Terminal window
# Vor dem Start laden
source .env && cyberstrike

Caution

Committen Sie niemals .env-Dateien in die Versionskontrolle. Fuegen Sie .env zu .gitignore hinzu.

CI/CD-Integration

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

Prioritaetsreihenfolge

Konfigurationsquellen werden in dieser Reihenfolge zusammengefuehrt (hoechste gewinnt):

1. Kommandozeilenargumente
2. Enterprise-verwaltete Konfiguration
3. CYBERSTRIKE_CONFIG_CONTENT (Inline-JSON)
4. .cyberstrike/-Verzeichniskonfiguration
5. Projektkonfiguration (cyberstrike.json / .jsonc)
6. CYBERSTRIKE_CONFIG (benutzerdefinierte Datei)
7. Globale Konfiguration (~/.config/cyberstrike/)
8. Remote .well-known/cyberstrike
9. Standardwerte

Siehe die Konfigurationsreferenz fuer Details.

Variablen ueberpruefen

Terminal window
# Aktive Cyberstrike-Variablen auflisten
env | grep CYBERSTRIKE
# Pruefen, ob ein Anbieterschluessel gesetzt ist (ohne ihn vollstaendig anzuzeigen)
echo "${ANTHROPIC_API_KEY:0:12}..."

Sicherheit

  1. Geben Sie niemals vollstaendige API-Schluessel aus
  2. Verwenden Sie Secrets-Management in CI/CD
  3. Rotieren Sie Schluessel regelmaessig
  4. Beschraenken Sie .env-Berechtigungen: chmod 600 .env

Tip

Verwenden Sie einen Secrets-Manager wie HashiCorp Vault, AWS Secrets Manager oder 1Password CLI fuer Produktionsumgebungen.

Verwandte Dokumentation