Skip to main content

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

Konfigurationsreferenz

Cyberstrike kann ueber mehrere Methoden konfiguriert werden: Konfigurationsdateien, Umgebungsvariablen und Kommandozeilenargumente. Diese Referenz behandelt alle Konfigurationsoptionen.

📸 SCREENSHOT: s13-config-structure.png

Konfigurationsdateistruktur

Konfigurationsprioritaet — hoechste gewinnt, von CLI-Argumenten bis zu Standardwerten

Konfigurationshierarchie

Konfigurationsquellen werden in Prioritaetsreihenfolge zusammengefuehrt (hoechste Prioritaet gewinnt):

  1. Kommandozeilenargumente
  2. Verwaltete (Enterprise) Konfiguration — admin-gesteuerte cyberstrike.json/cyberstrike.jsonc im verwalteten Verzeichnis
  3. Umgebungsvariable CYBERSTRIKE_CONFIG_CONTENT (Inline-JSON)
  4. .cyberstrike/-Verzeichniskonfiguration — das .cyberstrike/ des Projekts, dann ~/.cyberstrike/ in Ihrem Home-Verzeichnis
  5. Projektkonfiguration (./cyberstrike.json oder ./cyberstrike.jsonc, durch Aufwaertssuche vom Arbeitsverzeichnis entdeckt)
  6. Benutzerdefinierter Konfigurationspfad (CYBERSTRIKE_CONFIG)
  7. Globale Konfiguration (~/.config/cyberstrike/config.json, cyberstrike.json oder cyberstrike.jsonc)
  8. Remote / Well-Known Konfiguration
  9. Standardwerte

Konfiguration einsehen

Um die effektive Konfiguration nach dem Zusammenfuehren aller Quellen zu sehen, fuehren Sie aus:

Terminal window
cyberstrike debug config

Dies gibt die aufgeloeste Konfiguration als JSON aus. Es gibt keine config get/set-Befehle — aendern Sie Einstellungen, indem Sie die Konfigurationsdatei direkt bearbeiten (siehe unten).

Konfigurationsdateien

Projektkonfiguration

Erstellen Sie cyberstrike.json oder cyberstrike.jsonc in Ihrem Projektstamm:

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

Globale Konfiguration

Speichern Sie benutzerweite Einstellungen in ~/.config/cyberstrike/. config.json, cyberstrike.json oder cyberstrike.jsonc werden geladen (Cyberstrike generiert config.json automatisch):

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

Projektverzeichnisstruktur

Erstellen Sie ein .cyberstrike/-Verzeichnis fuer organisierte Konfiguration:

.cyberstrike/
├── cyberstrike.json # Projektkonfiguration
├── agents/ # Benutzerdefinierte Agenten
│ └── security.md
├── commands/ # Benutzerdefinierte Befehle
│ └── scan.md
├── plugins/ # Benutzerdefinierte Plugins
│ └── my-plugin.ts
└── modes/ # Benutzerdefinierte Modi (veraltet)

Kerneinstellungen

Modellauswahl

Standardmaessiges KI-Modell festlegen:

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

Format: provider/model-name

Kleines Modell

Ein Modell fuer leichtgewichtige Aufgaben festlegen (Titelgenerierung):

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

Standardagent

Den Standard-Sicherheitsagenten festlegen:

{
"default_agent": "cyberstrike"
}

Benutzername

Den Systembenutzernamen ueberschreiben:

{
"username": "pentester"
}

Theme

Das Oberflaechen-Theme festlegen:

{
"theme": "cyberstrike"
}

Anbieterkonfiguration

KI-Anbieter einzeln konfigurieren:

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

Anbieteroptionen

OptionTypBeschreibung
apiKeystringAPI-Schluessel fuer Authentifizierung
baseURLstringBenutzerdefinierter API-Endpunkt
timeoutnumber/falseAnfrage-Timeout in ms (Standard: 300000)
setCacheKeybooleanPrompt-Cache-Schluessel aktivieren
enterpriseUrlstringGitHub Enterprise URL fuer Copilot

Modellfilterung

Steuern, welche Modelle erscheinen:

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

Anbieter deaktivieren

Bestimmte Anbieter deaktivieren:

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

Nur bestimmte Anbieter aktivieren:

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

Agentenkonfiguration

Agentenverhalten konfigurieren:

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

Agentenoptionen

OptionTypBeschreibung
modelstringModell fuer diesen Agenten ueberschreiben
temperaturenumberModell-Temperatur (0-1)
top_pnumberTop-p-Sampling-Wert
stepsnumberMaximale agentische Iterationen
promptstringBenutzerdefinierter System-Prompt
colorstringHex-Farbcode (#RRGGBB)
descriptionstringAgentenbeschreibung
modestringAgentenmodus: “primary”, “subagent”, “all”
hiddenbooleanAus Autovervollstaendigung ausblenden
disablebooleanDiesen Agenten deaktivieren

Benutzerdefinierte Agenten erstellen

Erstellen Sie .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

MCP-Konfiguration

Model Context Protocol Server konfigurieren:

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

Lokaler MCP-Server

OptionTypBeschreibung
type“local”Servertyp
commandstring[]Befehl und Argumente
environmentobjectUmgebungsvariablen
enabledbooleanServer aktivieren/deaktivieren
timeoutnumberAnfrage-Timeout in ms

Remote MCP-Server

OptionTypBeschreibung
type“remote”Servertyp
urlstringServer-URL
headersobjectAnfrage-Header
oauthobject/falseOAuth-Konfiguration
enabledbooleanServer aktivieren/deaktivieren
timeoutnumberAnfrage-Timeout in ms

OAuth-Konfiguration

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

Berechtigungskonfiguration

Werkzeugberechtigungen steuern:

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

Berechtigungsaktionen

AktionBeschreibung
askBenutzer um Genehmigung bitten (Standard)
allowAutomatisch genehmigen ohne Nachfrage
denyWerkzeugnutzung blockieren

Musterbasierte Berechtigungen

Berechtigungen pro Muster angeben:

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

Verfuegbare Berechtigungsschluessel

SchluesselBeschreibung
readDateien lesen
editDateien bearbeiten/schreiben
globDatei-Mustererkennung
grepInhaltssuche
listVerzeichnislisten
bashBefehlsausfuehrung
taskAufgabenausfuehrung
websearchWebsuchen
webfetchURL-Abruf
lspLSP-Operationen
external_directoryZugriff ausserhalb des Projekts

Tastenkombinationen

Tastaturkuerzel anpassen:

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

Tastenformat

  • Einzelne Taste: ctrl+c, escape, return
  • Mehrere Belegungen: ctrl+c,ctrl+d (kommagetrennt)
  • Leader-Sequenzen: <leader>n (verwendet Leader-Taste)
  • Deaktivieren: none

TUI-Einstellungen

Terminal-Oberflaeche konfigurieren:

{
"tui": {
"scroll_speed": 1.0,
"scroll_acceleration": {
"enabled": true
},
"diff_style": "auto"
}
}
OptionTypBeschreibung
scroll_speednumberScroll-Geschwindigkeitsmultiplikator
scroll_accelerationobjectBeschleunigungseinstellungen
diff_style“auto”/“stacked”Diff-Darstellungsstil

Serverkonfiguration

API-Server konfigurieren:

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

Plugins & Hooks

Cyberstrike verwendet kein konfigurationsbasiertes Hook-System. Automatisierung und Lifecycle-Hooks werden als Plugins implementiert — JavaScript/TypeScript-Module, die Events wie tool.execute.before, tool.execute.after oder permission.ask abonnieren.

Registrieren Sie Plugins nach Name. Sie werden von npm oder aus einem lokalen {plugin,plugins}/-Verzeichnis innerhalb von .cyberstrike/ aufgeloest:

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

Siehe Hooks & Plugins fuer die vollstaendige Event-Liste und die Erstellungsanleitung.

Experimentelle Optionen

Der experimental-Block stellt Opt-in-Funktionen bereit:

{
"experimental": {
"batch_tool": true,
"openTelemetry": false,
"continue_loop_on_deny": false,
"mcp_timeout": 5000
}
}
OptionTypBeschreibung
disable_paste_summarybooleanEinfuege-Zusammenfassung deaktivieren
batch_toolbooleanBatch-Werkzeug aktivieren
openTelemetrybooleanOpenTelemetry-Spans fuer AI SDK-Aufrufe aktivieren
primary_toolsstring[]Werkzeuge, die nur primaeren Agenten zur Verfuegung stehen
continue_loop_on_denybooleanAgentenschleife fortsetzen, wenn ein Werkzeugaufruf abgelehnt wird
mcp_timeoutnumberTimeout (ms) fuer MCP-Anfragen

Freigabekonfiguration

Sitzungsfreigabe steuern:

{
"share": "manual"
}
WertBeschreibung
manualNur ueber Befehle teilen
autoNeue Sitzungen automatisch teilen
disabledAlle Freigaben deaktivieren

Komprimierungseinstellungen

Kontext-Komprimierung konfigurieren:

{
"compaction": {
"auto": true,
"prune": true
}
}
OptionBeschreibung
autoAutomatisch komprimieren, wenn Kontext voll ist
pruneAlte Werkzeugausgaben bereinigen

Umgebungsvariablen

Konfigurationsvariablen

VariableBeschreibung
CYBERSTRIKE_CONFIGBenutzerdefinierter Konfigurationsdateipfad
CYBERSTRIKE_CONFIG_CONTENTInline-JSON-Konfiguration
CYBERSTRIKE_CONFIG_DIRZusaetzliches Konfigurationsverzeichnis
CYBERSTRIKE_DISABLE_PROJECT_CONFIGProjektkonfiguration ignorieren
CYBERSTRIKE_PERMISSIONJSON-Berechtigungsueberschreibungen

Anbieter-API-Schluessel

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

Verhaltens-Flags

VariableBeschreibung
CYBERSTRIKE_AUTO_SHARESitzungen automatisch teilen
CYBERSTRIKE_DISABLE_AUTOCOMPACTAutomatische Komprimierung deaktivieren
CYBERSTRIKE_DISABLE_PRUNEAusgabebereinigung deaktivieren

Variablenersetzung

Umgebungsvariablen

Umgebungsvariablen in der Konfiguration referenzieren:

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

Dateiverweise

Inhalte aus Dateien einbinden:

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

Unterstuetzt:

  • Relative Pfade: {file:./path/to/file}
  • Absolute Pfade: {file:/absolute/path}
  • Home-Verzeichnis: {file:~/path/from/home}

LSP-Konfiguration

Language Server Protocol konfigurieren:

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

Setzen Sie lsp: false, um alle LSP-Funktionen zu deaktivieren.


Formatierer-Konfiguration

Code-Formatierer konfigurieren:

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

Setzen Sie formatter: false, um alle Formatierer zu deaktivieren.


Vollstaendiges Beispiel

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