🤖HermesBlog
Hermes Official Tutorials · Часть 98/9/2026

Урок 9: Настройки безопасности

Tutorial 9: Security Settings — easy-to-understand guide based on official docs

Hermes tutorial

Урок 9: Настройки безопасности

С возвращением! В этом уроке мы погрузимся в одну из самых важных тем в Hermes Agent: безопасность. Если вы следили за серией, то знаете, что Hermes — мощный инструмент. Но с большой силой приходит большая ответственность — и Hermes позаботился об этом, предложив многоуровневую модель безопасности.

Представьте это как замок с несколькими стенами. Даже если один слой даст сбой, остальные вас защитят. Давайте пройдёмся по восьми уровням защиты, а затем сосредоточимся на самом практичном из них: подтверждение опасных команд.

Восемь уровней безопасности

Hermes защищает вас по восьми направлениям:

  1. Авторизация пользователя — контролирует, кто может общаться с агентом
  2. Подтверждение опасных команд — человек в цикле для разрушительных операций
  3. Безопасность записи файлов — денylist и опциональная песочница для записи файлов
  4. Изоляция контейнеров — песочница Docker/Singularity/Modal
  5. Фильтрация учётных данных MCP — изолирует переменные окружения для подпроцессов MCP
  6. Сканирование контекстных файлов — обнаруживает инъекции в промпты в файлах проекта
  7. Изоляция между сессиями — сессии не могут получить доступ к данным друг друга
  8. Очистка ввода — проверяет параметры рабочей директории для предотвращения инъекций в shell

Немало защиты! Но с чем вы будете сталкиваться чаще всего — это подтверждение команд.

Как работает подтверждение опасных команд

Перед выполнением любой команды Hermes проверяет её по списку опасных шаблонов. Если есть совпадение — вам нужно будет подтвердить выполнение. Просто, правда?

Настраивается это в ~/.hermes/config.yaml:

approvals:
  mode: smart                     # smart | manual | off
  timeout: 300                    # секунды ожидания подтверждения
  cron_mode: deny                 # deny | approve
  single_query_mode: deny         # deny | approve
  mcp_reload_confirm: true        # подтверждение перед перезагрузкой MCP-инструментов
  destructive_slash_confirm: true # подтверждение перед /clear, /new и т.д.

Три режима подтверждения

Умный режим (по умолчанию) — золотая середина. Он использует вспомогательную LLM для оценки риска:

  • Команды с низким риском (например, python -c "print('hello')") подтверждаются автоматически
  • Действительно опасные команды автоматически отклоняются
  • Сомнительные случаи передаются на ручное подтверждение

Ручной режим всегда спрашивает вас. Никаких автоподтверждений, никаких исключений.

Режим «выкл» отключает все проверки — эквивалент запуска с флагом --yolo. Используйте только в доверенных средах, например, в CI/CD-контейнерах.

⚠️ Предупреждение: Установка approvals.mode: off отключает все запросы безопасности. Используйте только в доверенных средах!

YOLO-режим: Быстрая полоса (используйте с осторожностью)

YOLO-режим отключает все запросы на подтверждение для текущей сессии. Активировать его можно тремя способами:

  1. Флаг CLI: hermes --yolo или hermes chat --yolo
  2. Слэш-команда: Введите /yolo во время сессии
  3. Переменная окружения: Установите HERMES_YOLO_MODE=1

Команда /yolo — это переключатель:

> /yolo
  ⚡ YOLO-режим ВКЛ — все команды подтверждаются автоматически. Будьте осторожны.

> /yolo
  ⚠ YOLO-режим ВЫКЛ — опасные команды снова требуют подтверждения.

Когда YOLO активен, Hermes показывает два визуальных напоминания:

  • Красный баннер при старте сессии: ⚠ YOLO-режим — все запросы на подтверждение отключены
  • Фрагмент ⚠ YOLO в строке состояния, обновляемый в реальном времени

⚠️ Опасно: YOLO-режим отключает все проверки опасных команд — кроме жёсткого блок-листа. Используйте его только когда полностью доверяете генерируемым командам.

Новое в этой версии

Две новые настройки заслуживают особого внимания:

mcp_reload_confirm (по умолчанию true): При выполнении /reload-mcp Hermes теперь спрашивает перед пересборкой набора MCP-инструментов. Почему? Потому что пересборка инвалидирует кэш промптов провайдера, и следующее сообщение отправляет полные входные токены заново. Если нажать Всегда подтверждать, значение сменится на false.

destructive_slash_confirm (по умолчанию true): Разрушительные команды вроде /clear, /new, /reset и /undo теперь запрашивают подтверждение перед удалением состояния разговора. Вы увидите диалог с тремя вариантами: Подтвердить один раз / Всегда подтверждать / Отмена. В Telegram, Discord и Slack они отображаются как нативные кнопки «да/нет».

Ключевые выводы

  • Умный режим — ваш друг: он балансирует между безопасностью и скоростью
  • YOLO-режим — это переключатель, а не дорога в один конец
  • Cron- и одиночные сессии по умолчанию отклоняют опасные команды — агенту приходится искать другой путь
  • Всегда проверяйте визуальные индикаторы, чтобы знать, активен ли YOLO

Безопасность — это не паранойя, а готовность. С многоуровневым подходом Hermes вы можете автоматизировать с уверенностью. Оставайтесь в безопасности и приятной автоматизации!

📖 Официальная документация

Эта статья основана на официальной документации Hermes Agent :Официальные документы › user-guide/security