Безопасность и ответственное использование
Цели урока
После прохождения этого урока вы сможете:
- 1Определить 5 ключевых категорий рисков при работе с AI-агентами
- 2Настроить песочницу для безопасного выполнения
- 3Составить чеклист безопасности перед запуском в продакшн
Neutral alignment = ваша ответственность
Hermes намеренно обучен с нейтральным выравниванием (neutral alignment). Это значит, что модель имеет минимум встроенных ограничений по сравнению с ChatGPT или Claude. Она не будет отказываться выполнять легитимные запросы только потому, что они "подозрительно звучат". Но это также означает, что ответственность за безопасное использование лежит полностью на вас.

Категории рисков
- Утечка API-ключей и секретов - агент может случайно отправить ключи в мессенджер или логи. Храните секреты в переменных окружения, никогда не в коде навыков
- Несанкционированные действия - агент с доступом к файловой системе может удалить важные файлы или изменить конфигурацию. Ограничивайте права доступа
- Спам и злоупотребление API - автоматический навык может отправить сотни запросов к внешнему API или сообщений в мессенджер. Устанавливайте rate limits
- Бесконтрольные циклы - агент застревает в цикле самоисправления и потребляет тысячи токенов впустую. Ограничивайте max_iterations
- Социальная инженерия - злоумышленник может попытаться заставить агента выполнить вредоносные действия через промпт-инъекцию. Валидируйте входящие данные
Матрица рисков
| Риск | Вероятность | Последствия | Защита |
|---|---|---|---|
| Утечка API-ключей | Высокая | Финансовые потери, взлом | Переменные окружения, ротация ключей |
| Удаление файлов | Средняя | Потеря данных | Read-only файловая система, бэкапы |
| Спам в мессенджере | Средняя | Блокировка аккаунта | Rate limit: макс. 10 сообщений/мин |
| Бесконтрольный цикл | Высокая | Перерасход токенов | max_iterations: 5, budget_limit |
| Промпт-инъекция | Низкая | Выполнение вредоносных команд | Валидация входных данных, песочница |
Настройка песочницы
# config/sandbox.yaml
# Конфигурация песочницы для безопасного выполнения
sandbox:
# Ограничения файловой системы
filesystem:
allowed_paths:
- ./data/ # Только папка данных
- ./output/ # Только папка вывода
denied_paths:
- /etc/ # Системные файлы
- ~/.ssh/ # SSH-ключи
- ~/.env # Секреты
mode: read-write # read-only для максимальной безопасности
max_file_size: 10MB # Макс. размер файла
# Ограничения сети
network:
allowed_domains:
- api.github.com
- api.telegram.org
- api.openweathermap.org
denied_domains:
- "*" # Все остальное запрещено
max_requests_per_minute: 30
timeout: 10s
# Ограничения мессенджеров
messenger:
telegram:
allowed_chats:
- "${MY_CHAT_ID}" # Только мой чат
max_messages_per_hour: 50
max_message_length: 4096
discord:
allowed_channels:
- "${MY_CHANNEL_ID}"
max_messages_per_hour: 30
# Ограничения ресурсов
resources:
max_tokens_per_session: 50000
max_tool_calls_per_session: 100
max_iterations: 5
session_timeout: 300s # 5 минут
# Логирование
logging:
level: info
log_all_tool_calls: true
log_all_api_requests: true
alert_on_denied_action: trueЧеклист безопасности перед продакшном
Секреты в переменных окружения - убедитесь, что ни один API-ключ, пароль или токен не захардкожен в коде навыков или конфигурации
Файловая система ограничена - агент имеет доступ только к необходимым директориям. Системные файлы и секреты недоступны
Сеть ограничена - агент может обращаться только к разрешенным доменам. Все остальные запросы блокируются
Rate limits настроены - установлены ограничения на количество сообщений, API-запросов и вызовов инструментов
Итерации ограничены - max_iterations не более 5-10 для циклических навыков. Budget limit установлен
Логирование включено - все действия агента записываются. Алерты настроены на подозрительную активность
Тестирование завершено - навыки протестированы в sandbox-режиме перед переводом в продакшн
Бэкапы настроены - данные, с которыми работает агент, имеют резервные копии
Управление доступом к инструментам
Помимо песочницы, Hermes Agent поддерживает ролевую модель доступа к инструментам. Каждый профиль пользователя или задачи может иметь свой набор разрешений - какие инструменты доступны, с какими ограничениями.
# config/permissions.yaml - управление доступом
roles:
admin:
tools: ["*"] # Все инструменты
filesystem: read-write
network: unrestricted
max_tokens: 100000
developer:
tools:
- file_read
- file_write
- run_command
- github_* # Все GitHub-инструменты
- telegram_send
filesystem:
allowed: ["./projects/", "./data/"]
denied: ["~/.ssh/", "~/.env"]
network:
allowed: ["api.github.com", "registry.npmjs.org"]
max_tokens: 50000
analyst:
tools:
- web_search
- data_analyze
- file_read # Только чтение
- telegram_send
filesystem:
allowed: ["./reports/"]
mode: read-only
network:
allowed: ["*"] # Нужен доступ к данным
max_tokens: 30000
viewer:
tools:
- web_search
- telegram_send
filesystem: none
network:
allowed: ["api.telegram.org"]
max_tokens: 10000
# Привязка: Telegram user -> роль
user_roles:
"123456789": admin # Ваш Telegram ID
"987654321": developer # ID коллеги
"555111333": analyst # ID аналитика
default: viewer # Все остальныеНачинайте с минимальных прав (viewer) и расширяйте по мере необходимости. Принцип наименьших привилегий работает для AI-агентов так же, как для людей. Если агенту не нужен доступ к файловой системе для конкретной задачи - не давайте.
Hermes с нейтральным выравниванием не будет отказываться от задач из-за излишней осторожности - это его преимущество. Но он также не будет останавливать себя, если вы дали опасные инструкции. Песочница, роли и мониторинг - это ваша зона ответственности. Без них агент с полным доступом - это как дать стажеру права администратора.
Безопасность AI-агента - это не опция, а требование. 30 минут на настройку песочницы сейчас предотвращают часы на разбор инцидентов потом. Три обязательных минимума: переменные окружения для секретов, ограниченная файловая система, лимиты на API-вызовы.
Вопросы для размышления
- •Какие из ваших текущих автоматизаций работают без ограничений, которые стоило бы добавить?
- •Готовы ли вы к ситуации, когда агент начнет действовать непредсказуемо - есть ли "красная кнопка"?
