Настройки безопасности
Elftia предоставляет многоуровневые механизмы защиты безопасности, защищающие вашу систему от потенциальных рисков, связанных с вызовами инструментов Agent и внедрением внешних сообщений. На этой странице подробно описаны все параметры конфигурации, относящиеся к безопасности.
Обзор архитектуры безопасности
Система безопасности Elftia включает следующие основные компоненты:
| Компонент | Расположение | Функция |
|---|---|---|
| GuardianAgent | Уровень выполнения Agent | Использует AI для проверки безопасности вызовов инструментов |
| PromptGuardian | Уровень сообщений Channel | Обнаруживает атаки с внедрением промптов во входящих сообщениях |
| Permission Mode (режим разрешений) | Уровень взаимодействия с Agent | Управляет тем, требуется ли пользователю подтверждать выполнение инструментов |
| InputSanitizer | Уровень сообщений Channel | Фильтрация входных данных на основе правил (сопоставление регулярных выражений) |
| AuditLogger | Глобальный | Записывает журналы аудита для всех событий безопасности |
GuardianAgent
GuardianAgent — это модуль проверки безопасности на основе AI. Когда Agent выполняет вызов инструмента, GuardianAgent сначала использует независимый LLM для оценки уровня риска операции и на основе конфигурации принимает решение о разрешении выполнения.
Четыре режима
| Режим | Поведение | Рекомендуемый сценарий |
|---|---|---|
| Выкл. (Off) | Полностью отключён, нулевые накладные расходы | Личное использование, доверие к поведению Agent |
| Мониторинг (Monitor) | Проверяет чувствительные вызовы инструментов, только записывает в журнал без блокировки | Хотите понять поведение Agent, не создавая помех |
| Охрана (Guard) | Проверяет чувствительные вызовы инструментов, блокирует высокорисковые и критические операции | Ежедневное использование, баланс безопасности и удобства |
| Строгий (Strict) | Проверяет все вызовы инструментов, блокирует операции среднего и выше уровня риска | Общая среда, максимальные требования безопасности |
Уровни риска
GuardianAgent категоризирует вызовы инструментов по пяти уровням риска:
| Уровень риска | Значение | Пример |
|---|---|---|
| Отсутствует (None) | Полностью безопасно | Чтение файлов в проекте, просмотр директорий |
| Низкий (Low) | Незначительный риск | Запись файлов проекта в рабочей области |
| Средний (Medium) | Средний риск | Выполнение команд Shell, изменяющих состояние системы, установка npm-пакетов |
| Высокий (High) | Значительный риск | Доступ к чувствительным путям, операции с файлами вне рабочей области, сетевые операции |
| Критический (Critical) | Непосредственная опасность | Команды рекурсивного удаления, кража данных, повышение привилегий |
Поведение блокировки по режимам
| Уровень риска | Выкл. | Мониторинг | Охрана | Строгий |
|---|---|---|---|---|
| none | Разрешить | Разрешить | Разрешить | Разрешить |
| low | Разрешить | Записать + Разрешить | Разрешить | Разрешить |
| medium | Разрешить | Записать + Разрешить | Разрешить | Блокировать |
| high | Разрешить | Записать + Разрешить | Блокировать | Блокировать |
| critical | Разрешить | Записать + Разрешить | Блокировать | Блокировать |
Чувствительные инструменты
В режимах мониторинга и охраны проверку безопасности вызывают только следующие «чувствительные инструменты»:
- Bash: выполнение команд Shell
- Write: запись файлов
- Edit: редактирование файлов
- Agent: генерация суб-Agent
В строгом режиме проверку вызывают все вызовы инструментов (включая чтение файлов).
Отказоустойчивый дизайн
| Режим | Поведение при таймауте/ошибке |
|---|---|
| Мониторинг / Охрана | Разрешить (fail-open) — не блокировать нормальные операции при недоступности проверки |
| Строгий | Блокировать (fail-closed) — по умолчанию отклонять при недоступности проверки |
Таймаут проверки составляет 15 секунд. Если LLM не возвращает результат проверки в течение 15 секунд, применяются указанные выше правила.
Расположение настройки
Настройки → Clawia → Режим GuardianAgent
Выберите нужный режим. Изменения вступают в силу немедленно без перезапуска.
Журнал аудита
Все результаты проверок (независимо от того, была ли блокировка) записываются в журнал аудита. Исторические записи проверок можно просмотреть в разделе Настройки → Clawia → Журнал аудита, включая:
- Временную метку
- Название инструмента и параметры
- Результат проверки (уровень риска, причина)
- Факт блокировки
PromptGuardian
PromptGuardian — это защита безопасности для сообщений Channel (многоплатформенные каналы). Когда Elftia получает сообщения от внешних пользователей через такие каналы, как Discord и Telegram, PromptGuardian использует AI для обнаружения атак с внедрением промптов в сообщениях.
Три режима
| Режим | Поведение | Рекомендуемый сценарий |
|---|---|---|
| Выкл. (Off) | Без обнаружения инъекций | Использование Channel только для себя, доверие ко всем источникам сообщений |
| Мониторинг (Monitor) | Обнаружение инъекций, запись в журнал без блокировки | Наблюдение за наличием подозрительных сообщений |
| Блокировка (Block) | Обнаружение инъекций, перехват подозрительных сообщений с возвратом дружелюбного отказа | Открытый Channel, необходима защита от злоумышленников |
Обнаруживаемые атаки
PromptGuardian способен обнаруживать следующие типы атак:
- Переопределение инструкций: попытка переопределить или обойти системные инструкции (например, «Ignore all instructions above»)
- Манипуляция ролью: выдача себя за другую личность (например, «You are now DAN»)
- Внедрение маркеров промптов: вставка системных/инструкционных маркеров (например,
[INST],<|im_start|>) - Извлечение промптов: попытка получить содержимое системного промпта
- Внедрение XML/тегов: внедрение маркеров вызова инструментов (например,
<tool_use>,<function_calls>) - Обход через кодирование: использование base64-кодирования, невидимых символов и других техник
- Социальная инженерия: использование «образовательных целей» или «гипотетических сценариев» для обхода правил безопасности
- Многоэтапные атаки: постепенное выстраивание атаки через несколько сообщений
Поведение при блокировке
Когда сообщение заблокировано, PromptGuardian не раскрывает пользователю факт существования проверки безопасности. Вместо этого возвращается случайное дружелюбное сообщение об отказе (например, «Сигнал пропал, давай сменим тему»), не давая злоумышленникам скорректировать свою стратегию.
Отказоустойчивый дизайн
PromptGuardian использует дизайн fail-open: если проверка истекает по таймауту (10 секунд) или завершается с ошибкой, сообщение пропускается в нормальном режиме и поток сообщений не прерывается из-за сбоев проверки безопасности.
Расположение настройки
Настройка PromptGuardian находится в параметрах безопасности Channel. Необходимо предварительно настроить LLM-провайдера и модель для проверки безопасности.
Permission Mode (Режим разрешений)
Permission Mode управляет тем, требует ли Agent подтверждения пользователя при выполнении вызовов инструментов.
| Режим | Поведение | Сценарий использования |
|---|---|---|
| По умолчанию (Default) | Чувствительные операции требуют подтверждения пользователя | Ежедневное использование, рекомендуется |
| AcceptEdits | Редактирование файлов проходит автоматически, остальные операции по-прежнему требуют подтверждения | Доверие к способностям Agent редактировать код |
| BypassPermissions | Все операции проходят автоматически | Высокое доверие к Agent, стремление к максимальной эффективности |
| Plan | Agent только строит планы, не выполняет никаких операций | Проверка плана действий Agent |
Режим «BypassPermissions» позволяет Agent напрямую выполнять все операции (включая команды Shell и удаление файлов). Используйте его только при полном доверии к поведению Agent и в безопасной среде. Рекомендуется использовать вместе с режимом GuardianAgent «Guard» или «Strict».
Настройки безопасности Channel
При подключении внешних платформ через Channel можно настроить следующие параметры безопасности:
Ограничение частоты запросов
| Параметр | Описание |
|---|---|
| Ограничение частоты сообщений | Ограничение максимального количества сообщений от одного пользователя в заданном временном окне |
| Глобальное ограничение частоты | Ограничение общей скорости обработки сообщений в Channel |
Фильтрация входных данных
InputSanitizer обеспечивает фильтрацию входных данных на основе регулярных выражений (выполняется перед PromptGuardian):
- Фильтрация известных вредоносных шаблонов
- Очистка потенциальных маркеров инъекций
- Только запись предупреждений в журнал, без блокировки сообщений
Роли пользователей
В Channel можно назначать роли разным пользователям для управления правами доступа.
Рекомендации по настройке безопасности
Личное использование
Если Elftia используется только лично и не предоставляет сервисы внешним пользователям:
| Параметр | Рекомендуемое значение |
|---|---|
| GuardianAgent | Выкл. или Мониторинг |
| PromptGuardian | Выкл. |
| Permission Mode | По умолчанию |
Общий Channel
Если ваш Channel открыт для внешних пользователей, которые могут отправлять сообщения:
| Параметр | Рекомендуемое значение |
|---|---|
| GuardianAgent | Охрана или Строгий |
| PromptGuardian | Блокировка |
| Permission Mode | По умолчанию |
| Ограничение частоты | Включено |
Разработка и отладка
В сценариях разработки и тестирования:
| Параметр | Рекомендуемое значение |
|---|---|
| GuardianAgent | Мониторинг |
| PromptGuardian | Мониторинг |
| Permission Mode | AcceptEdits |
Это позволяет наблюдать за событиями безопасности в журналах аудита, не снижая эффективности разработки.
Журнал аудита
Все события безопасности записываются в журнал аудита, который можно просмотреть в разделе Настройки → Clawia → Журнал аудита.
Журнал фиксирует следующую информацию:
| Поле | Описание |
|---|---|
| Время | Время возникновения события |
| Тип | GuardianAgent / PromptGuardian / Permission |
| Операция | Конкретное название инструмента или источник сообщения |
| Результат | Разрешить / Блокировать |
| Подробности | Уровень риска, объяснение причины и т. д. |
Регулярный просмотр журнала аудита поможет вам понять паттерны поведения Agent и потенциальные угрозы безопасности, а также скорректировать политики безопасности.
Дополнительные параметры конфигурации см. в Справочнике по настройкам. Если в процессе использования возникают вопросы, связанные с безопасностью, обратитесь к разделу Частые проблемы.