Безопасность

Обзор

Neotask разработан с архитектурой, ориентированной на безопасность. Gateway по умолчанию привязывается к localhost, все чувствительные данные шифруются в состоянии покоя, а выполнение команд агентов может быть изолировано в контейнерах-sandbox.

Сетевая безопасность

Только loopback по умолчанию

Gateway прослушивает только 127.0.0.1 (localhost), если только вы явно не измените режим привязки. По умолчанию нет внешнего сетевого доступа.

Аутентификация

Все WebSocket-соединения требуют аутентификации:

Безопасность удалённого доступа

Для удалённого доступа рекомендуемый подход, Tailscale VPN или SSH-туннелирование, никогда не открывайте Gateway напрямую в интернет.

Сопряжение устройств

Как работает сопряжение

Каждый клиент, подключающийся к Gateway, должен быть сопряжён:

  1. Устройство представляет свою идентичность (отпечаток + публичный ключ)
  2. Gateway выдаёт запрос сопряжения (nonce)
  3. Устройство подписывает nonce своим приватным ключом
  4. Вы подтверждаете устройство через UI
  5. Gateway выдаёт токен устройства для будущих соединений

Модель доверия

Шифрование

Данные в состоянии покоя

Данные в транзите

Изоляция в sandbox

Изоляция на основе Docker

Выполнение команд агентов может быть изолировано в Docker-контейнерах:

Области действия sandbox

Область Описание
На сессию Новый контейнер для каждой сессии
На агента Постоянный контейнер для каждого агента
Общий Общий контейнер для всех агентов

Доступ к рабочему пространству

Агенты в sandbox могут получать доступ к своей директории рабочего пространства (смонтированной в контейнер), но не могут получать доступ к файловой системе хоста за пределами своего рабочего пространства.

Подтверждение выполнения команд

Управляйте тем, какие команды агенты могут выполнять на узлах и хосте Gateway:

Режимы

Режим Описание
Allowlist Выполняются только предварительно одобренные команды
Ask Неизвестные команды запрашивают подтверждение пользователя
Full Без ограничений (используйте с осторожностью)

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

Каждый узел (macOS, безголовой хост) имеет собственную конфигурацию подтверждения exec, хранящуюся локально. Вы можете разрешить конкретные бинарные файлы (например, /usr/bin/docker, /usr/local/bin/terraform), заблокировав всё остальное.

Расширенный режим

Некоторые операции требуют выполнения непосредственно на хосте Gateway (не в sandbox). Расширенный режим:

Аудит безопасности

Встроенный аудит безопасности проверяет:

Аудит может автоматически исправить многие проблемы, если ему дать разрешение.

Лучшие практики

  1. Держите Gateway на loopback, используйте Tailscale или SSH для удалённого доступа
  2. Включите изоляцию в sandbox, запускайте команды агентов в Docker-контейнерах
  3. Используйте белые списки exec, ограничивайте команды, которые агенты могут запускать на узлах
  4. Задайте токены аутентификации, всегда настраивайте аутентификацию по токену, даже для loopback
  5. Проверяйте разрешения агентов, там, где возможно, используйте минимальные профили инструментов
  6. Обновляйте Neotask, обновления включают патчи безопасности
  7. Регулярно проводите аудит, запускайте аудиты безопасности для выявления неправильных настроек
  8. Ограничивайте загрузку плагинов, устанавливайте только доверенные плагины