Безопасность — восемь уровней защиты
Plugin System — Endless Extensions — easy-to-understand guide based on official docs (updated 2026-08-09)
Безопасность — восемь уровней защиты
Когда вы позволяете ИИ-агенту выполнять команды на вашей машине, вы хотите быть уверены, что это безопасно. Hermes Agent относится к этому серьёзно, используя многоуровневую модель безопасности — восемь уровней защиты, которые работают вместе, чтобы вы сохраняли контроль.
Представьте это как банковское хранилище: одного замка недостаточно. Нужен охранник у двери, дверь хранилища, сигнализация и записи с камер. У Hermes та же философия.
Вот как выглядят эти восемь уровней:
- Авторизация пользователя — только одобренные люди могут общаться с агентом
- Подтверждение опасных команд — вы одобряете деструктивные действия
- Безопасность записи файлов — защищает ваши файлы от нежелательных изменений
- Изоляция в контейнерах — запускает рискованную работу в песочницах (Docker, Singularity, Modal)
- Фильтрация учётных данных MCP — не допускает секреты до дочерних процессов
- Сканирование контекстных файлов — обнаруживает prompt-инъекции в файлах проекта
- Изоляция между сессиями — сессии не могут заглядывать в данные друг друга
- Очистка ввода — блокирует shell-инъекции через трюки с рабочей директорией
Немало уровней. Давайте разберём тот, с которым вы будете взаимодействовать чаще всего: подтверждение опасных команд.
Умное подтверждение: человек в цикле
Прежде чем Hermes выполнит любую команду, он проверяет её по списку опасных паттернов. Если что-то выглядит рискованно, у вас запрашивается подтверждение.
Но вот что хитро — система подтверждения имеет три режима, задаваемых в ~/.hermes/config.yaml:
approvals:
mode: smart # smart | manual | off
timeout: 300 # seconds to wait for user response
cron_mode: deny # deny | approve — for cron jobs
single_query_mode: deny # deny | approve — for -q sessions
mcp_reload_confirm: true # /reload-mcp asks before rebuilding tools
destructive_slash_confirm: true # /clear, /new, /reset, /undo prompt first
Вот что делает каждый режим:
| Режим | Поведение |
|---|---|
| smart (по умолчанию) | Использует вспомогательную LLM для оценки риска. Безопасные команды вроде python -c "print('hello')" одобряются автоматически. По-настоящему опасные автоматически отклоняются. В сомнительных случаях спрашивает вас. |
| manual | Всегда запрашивает ваше подтверждение для опасных команд. Без автоматизации. |
| off | Отключает все проверки — эквивалент --yolo. Только для доверенных сред. |
Режим smart — золотая середина. Это как охранник, который понимает разницу между «проверить почту» и «открыть хранилище».
YOLO-режим: действуйте с осторожностью
Иногда вы просто хотите, чтобы агент работал быстро и не досаждал вопросами. Для этого и нужен YOLO-режим — он обходит все запросы на подтверждение опасных команд в текущей сессии.
Активировать его можно тремя способами:
- Флаг CLI:
hermes --yoloилиhermes chat --yolo - Слэш-команда: введите
/yoloво время сессии - Переменная окружения: установите
HERMES_YOLO_MODE=1
Команда /yolo — это переключатель — каждое использование включает или выключает её:
> /yolo
⚡ YOLO mode ON — all commands auto-approved. Use with caution.
> /yolo
⚠ YOLO mode OFF — dangerous commands will require approval.
Когда YOLO активен, Hermes следит, чтобы вы не забыли об этом. Вы увидите красный баннер в начале сессии и индикатор ⚠ YOLO в строке состояния, который обновляется в реальном времени при переключении.
⚠️ Предупреждение: YOLO-режим отключает все проверки безопасности опасных команд — кроме жёсткого блок-листа. Используйте его только тогда, когда полностью доверяете тому, что генерируется, например, хорошо протестированным скриптам автоматизации в одноразовых средах.
Новые ключи конфигурации, о которых стоит знать
Последнее обновление добавляет два важных ключа в конфигурацию подтверждений:
mcp_reload_confirm (по умолчанию: true) — Когда вы запускаете /reload-mcp, Hermes спрашивает перед пересборкой набора инструментов MCP. Почему? Потому что пересборка инвалидирует кэш промптов провайдера, а это значит, что следующее сообщение заново отправляет полные входные токены (обходится дороже). Если вы нажмёте Always Approve, значение переключится на false.
destructive_slash_confirm (по умолчанию: true) — Деструктивные команды сессии вроде /clear, /new, /reset и /undo теперь запрашивают подтверждение перед удалением состояния разговора. Вы получаете диалог с тремя вариантами: Approve Once / Always Approve / Cancel. В Telegram, Discord и Slack используются нативные кнопки да/нет. В остальных местах — текстовый вариант. TUI тоже это поддерживает — и вы можете принудительно пропустить модальное окно с помощью HERMES_TUI_NO_CONFIRM=1.
Headless-сессии: Cron и одиночные запросы
Две новые настройки обрабатывают случаи, когда рядом никого нет, чтобы отвечать на запросы:
cron_mode(по умолчанию:deny) — Когда cron-задача сталкивается с опасной командой,denyблокирует её (агенту приходится искать другой путь).approveавтоматически одобряет всё в контексте cron.single_query_mode(по умолчанию:deny) — Та же идея для одноразовых сессийhermes chat -q. Сессия-qвыполняет один ход и завершается — пользователя, ожидающего ответа, нет.denyблокирует команду;approveодобряет автоматически.
Обе настройки по умолчанию deny не просто так: когда в цикле нет человека, безопаснее заблокировать, чем гадать.
Суть
Модель безопасности Hermes Agent создана для реального использования. Режим умного подтверждения даёт автоматизацию без безрассудства. YOLO-режим даёт скорость, когда она нужна — с визуальными напоминаниями, чтобы вы никогда не забывали. А новые ключи конфигурации дают тонкий контроль над headless-сессиями и деструктивными командами.
Философия проста: вы остаётесь под контролем, даже когда агент работает автономно.
📖 Официальная документация
Эта статья основана на официальной документации Hermes Agent :Официальные документы › user-guide/features/plugins