Skip to main content

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

On this page

Справочник по конфигурации

Cyberstrike может быть настроен несколькими способами: файлы конфигурации, переменные окружения и аргументы командной строки. Этот справочник охватывает все параметры конфигурации.

📸 SCREENSHOT: s13-config-structure.png

Структура файла конфигурации

Приоритет конфигурации — наивысший приоритет побеждает, от аргументов CLI до значений по умолчанию

Иерархия конфигурации

Источники конфигурации объединяются в порядке приоритета (наивысший приоритет побеждает):

  1. Аргументы командной строки
  2. Управляемая (корпоративная) конфигурация — административный cyberstrike.json/cyberstrike.jsonc в управляемом каталоге
  3. Переменная окружения CYBERSTRIKE_CONFIG_CONTENT (встроенный JSON)
  4. Конфигурация каталога .cyberstrike/ — проектный .cyberstrike/, затем ~/.cyberstrike/ в домашнем каталоге
  5. Конфигурация проекта (./cyberstrike.json или ./cyberstrike.jsonc, обнаруживается при обходе вверх от рабочего каталога)
  6. Пользовательский путь конфигурации (CYBERSTRIKE_CONFIG)
  7. Глобальная конфигурация (~/.config/cyberstrike/config.json, cyberstrike.json или cyberstrike.jsonc)
  8. Удалённая / well-known конфигурация
  9. Значения по умолчанию

Проверка конфигурации

Для просмотра результирующей конфигурации после объединения всех источников выполните:

Terminal window
cyberstrike debug config

Это выводит разрешённую конфигурацию в формате JSON. Команд config get/set не существует — изменяйте настройки, редактируя файл конфигурации напрямую (см. ниже).

Файлы конфигурации

Конфигурация проекта

Создайте cyberstrike.json или cyberstrike.jsonc в корне проекта:

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

Глобальная конфигурация

Храните пользовательские настройки в ~/.config/cyberstrike/. Любой из файлов config.json, cyberstrike.json или cyberstrike.jsonc загружается (Cyberstrike автоматически генерирует config.json):

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

Структура каталога проекта

Создайте каталог .cyberstrike/ для организованной конфигурации:

.cyberstrike/
├── cyberstrike.json # Конфигурация проекта
├── agents/ # Пользовательские агенты
│ └── security.md
├── commands/ # Пользовательские команды
│ └── scan.md
├── plugins/ # Пользовательские плагины
│ └── my-plugin.ts
└── modes/ # Пользовательские режимы (устарело)

Основные настройки

Выбор модели

Установка ИИ-модели по умолчанию:

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

Формат: provider/model-name

Лёгкая модель

Установка модели для лёгких задач (генерация заголовков):

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

Агент по умолчанию

Установка агента безопасности по умолчанию:

{
"default_agent": "cyberstrike"
}

Имя пользователя

Переопределение системного имени пользователя:

{
"username": "pentester"
}

Тема

Установка темы интерфейса:

{
"theme": "cyberstrike"
}

Конфигурация провайдеров

Настройка ИИ-провайдеров по отдельности:

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

Параметры провайдера

ПараметрТипОписание
apiKeystringAPI-ключ для аутентификации
baseURLstringПользовательская конечная точка API
timeoutnumber/falseТайм-аут запроса в мс (по умолчанию: 300000)
setCacheKeybooleanВключить ключ кэша промптов
enterpriseUrlstringURL GitHub Enterprise для copilot

Фильтрация моделей

Управление отображаемыми моделями:

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

Отключение провайдеров

Отключение конкретных провайдеров:

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

Включение только определённых провайдеров:

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

Конфигурация агентов

Настройка поведения агентов:

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

Параметры агента

ПараметрТипОписание
modelstringПереопределение модели для этого агента
temperaturenumberТемпература модели (0-1)
top_pnumberЗначение top-p семплирования
stepsnumberМаксимум агентных итераций
promptstringПользовательский системный промпт
colorstringHex-код цвета (#RRGGBB)
descriptionstringОписание агента
modestringРежим агента: “primary”, “subagent”, “all”
hiddenbooleanСкрыть из автодополнения
disablebooleanОтключить этого агента

Создание пользовательских агентов

Создайте .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

Настройка серверов Model Context Protocol:

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

Локальный MCP-сервер

ПараметрТипОписание
type“local”Тип сервера
commandstring[]Команда и аргументы
environmentobjectПеременные окружения
enabledbooleanВключение/отключение сервера
timeoutnumberТайм-аут запроса в мс

Удалённый MCP-сервер

ПараметрТипОписание
type“remote”Тип сервера
urlstringURL сервера
headersobjectЗаголовки запросов
oauthobject/falseКонфигурация OAuth
enabledbooleanВключение/отключение сервера
timeoutnumberТайм-аут запроса в мс

Конфигурация OAuth

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

Конфигурация разрешений

Управление разрешениями инструментов:

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

Действия разрешений

ДействиеОписание
askЗапрос одобрения у пользователя (по умолчанию)
allowАвтоматическое одобрение без запроса
denyБлокировка использования инструмента

Разрешения на основе паттернов

Указание разрешений по паттерну:

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

Доступные ключи разрешений

КлючОписание
readЧтение файлов
editРедактирование/запись файлов
globПоиск файлов по паттерну
grepПоиск по содержимому
listПросмотр каталогов
bashВыполнение команд
taskВыполнение задач
websearchВеб-поиск
webfetchЗагрузка URL
lspОперации LSP
external_directoryДоступ за пределами проекта

Привязки клавиш

Настройка сочетаний клавиш:

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

Формат клавиш

  • Одна клавиша: ctrl+c, escape, return
  • Несколько привязок: ctrl+c,ctrl+d (через запятую)
  • Последовательности с лидером: <leader>n (использует лидер-клавишу)
  • Отключение: none

Настройки TUI

Настройка терминального интерфейса:

{
"tui": {
"scroll_speed": 1.0,
"scroll_acceleration": {
"enabled": true
},
"diff_style": "auto"
}
}
ПараметрТипОписание
scroll_speednumberМножитель скорости прокрутки
scroll_accelerationobjectНастройки ускорения
diff_style“auto”/“stacked”Стиль отображения diff

Конфигурация сервера

Настройка API-сервера:

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

Плагины и хуки

Cyberstrike не использует систему хуков на основе конфигурации. Автоматизация и хуки жизненного цикла реализованы как плагины — модули JavaScript/TypeScript, подписывающиеся на события: tool.execute.before, tool.execute.after или permission.ask.

Регистрируйте плагины по имени. Они разрешаются из npm или из локального каталога {plugin,plugins}/ внутри .cyberstrike/:

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

Подробности см. в Хуки и плагины.

Экспериментальные параметры

Блок experimental предоставляет опциональные функции:

{
"experimental": {
"batch_tool": true,
"openTelemetry": false,
"continue_loop_on_deny": false,
"mcp_timeout": 5000
}
}
ПараметрТипОписание
disable_paste_summarybooleanОтключить сводку вставки
batch_toolbooleanВключить пакетный инструмент
openTelemetrybooleanВключить OpenTelemetry spans для вызовов AI SDK
primary_toolsstring[]Инструменты, доступные только первичным агентам
continue_loop_on_denybooleanПродолжать цикл агента при отклонении вызова инструмента
mcp_timeoutnumberТайм-аут (мс) для MCP-запросов

Конфигурация общего доступа

Управление общим доступом к сессиям:

{
"share": "manual"
}
ЗначениеОписание
manualОбщий доступ только через команды
autoАвтоматический общий доступ для новых сессий
disabledОтключить весь общий доступ

Настройки компактификации

Настройка компактификации контекста:

{
"compaction": {
"auto": true,
"prune": true
}
}
ПараметрОписание
autoАвтоматическая компактификация при заполнении контекста
pruneОчистка старых выводов инструментов

Переменные окружения

Переменные конфигурации

ПеременнаяОписание
CYBERSTRIKE_CONFIGПользовательский путь к файлу конфигурации
CYBERSTRIKE_CONFIG_CONTENTВстроенная JSON-конфигурация
CYBERSTRIKE_CONFIG_DIRДополнительный каталог конфигурации
CYBERSTRIKE_DISABLE_PROJECT_CONFIGИгнорировать конфигурацию проекта
CYBERSTRIKE_PERMISSIONJSON-переопределение разрешений

API-ключи провайдеров

ПеременнаяПровайдер
ANTHROPIC_API_KEYAnthropic
OPENAI_API_KEYOpenAI
GOOGLE_GENERATIVE_AI_API_KEYGoogle (Gemini)
OPENROUTER_API_KEYOpenRouter
AWS_ACCESS_KEY_IDAWS Bedrock
AZURE_API_KEYAzure OpenAI

Флаги поведения

ПеременнаяОписание
CYBERSTRIKE_AUTO_SHAREАвтоматический общий доступ к сессиям
CYBERSTRIKE_DISABLE_AUTOCOMPACTОтключить автоматическую компактификацию
CYBERSTRIKE_DISABLE_PRUNEОтключить очистку вывода

Подстановка переменных

Переменные окружения

Ссылка на переменные окружения в конфигурации:

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

Ссылки на файлы

Включение содержимого из файлов:

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

Поддерживается:

  • Относительные пути: {file:./path/to/file}
  • Абсолютные пути: {file:/absolute/path}
  • Домашний каталог: {file:~/path/from/home}

Конфигурация LSP

Настройка Language Server Protocol:

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

Установите lsp: false для отключения всех функций LSP.


Конфигурация форматтера

Настройка форматтеров кода:

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

Установите formatter: false для отключения всех форматтеров.


Полный пример

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