WorkAI

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

Как WorkAI ограничивает действия агента, какие подтверждения запрашивает и как настроить доверенные команды и инструменты.

Агент WorkAI может ошибаться — из-за неточных инструкций, галлюцинаций или содержимого, которое он прочитал в файлах проекта. Поэтому потенциально опасные действия по умолчанию требуют вашего подтверждения. На этой странице — как устроены эти ограничения и как ими управлять. Где лежат код, индекс и чат — отдельная страница Приватность и данные.

Рекомендуем не отключать защитные механизмы без необходимости.

Режимы чата

У агента три режима работы, переключаются в интерфейсе чата:

  • Обсуждение — агент только читает и отвечает, не меняет файлы.
  • Обучение — режим для обучения/объяснений, с доступом к редактированию и локальному превью.
  • Агент — полный доступ к инструментам, включая редактирование и создание файлов.

Правка и создание файлов, а также локальное превью страницы доступны в режимах «Агент» и «Обучение». В режиме «Обсуждение» агент не может менять файлы, даже если предложит это сделать.

Файловые инструменты

Чтение файлов и поиск по коду не требуют подтверждения.

Редактирование и создание файлов агент выполняет без запроса подтверждения на каждое изменение — правки сохраняются на диск сразу, и это касается любых файлов проекта, включая конфигурационные (например, settings.json рабочей области) — отдельного защищённого режима именно для них в WorkAI нет. Используйте git, чтобы иметь возможность откатить нежелательные изменения.

Мутирующие файловые операции (правка, создание, git-команды) выполняются последовательно, с возможностью подтверждения на уровне отдельного вызова — в зависимости от ваших настроек разрешений (см. ниже). Безопасные read-only операции (чтение, поиск) выполняются параллельно и не блокируют работу.

Секретные файлы — .env, credentials.json и подобные — помечаются в проводнике значком замка, чтобы было видно, что агент работает с чувствительными данными.

Терминал

Инструмент запуска команд создаёт терминальную сессию и стримит вывод построчно; буфер вывода ограничен — сохраняются только последние ~50 КБ.

По умолчанию команда, которой нет в списке разрешённых, требует вашего подтверждения перед выполнением. В настройках — раздел «Терминал и защита» — можно вести списки:

  • Разрешённые команды — команды, которые выполняются без подтверждения;
  • Запрещённые команды — команды, которые агент не выполнит никогда.

Выполнение команд идёт последовательно (группа sequential) — это тоже защита от параллельного запуска потенциально опасных операций.

Разрешения и области видимости

В настройках есть единый список Разрешения — какие действия агент может выполнять без подтверждения. Каждую запись можно добавить с одной из областей действия:

  • global — действует во всех проектах;
  • workspace — действует только в текущем проекте;
  • session — действует только в текущем чате и не переживает перезапуск клиента.

Любую запись можно отозвать (revoke) в любой момент.

Есть также глобальный тумблер «Разрешать всё без подтверждения» — отключает вообще все запросы подтверждения. Включайте его осознанно: он снимает разом и терминальные, и файловые, и остальные защиты.

Браузер и локальное превью

Подробности — на странице Инструмент: Браузер. Кратко про подтверждения:

  • Превью вашей вёрстки открывается во вкладке рядом с чатом и само обновляется при сохранении. Это просмотр результата работы над проектом, не сёрфинг по интернету. Отдельного подтверждения не требует.
  • Открытие сайта и переход на другой адрес показывают диалог с адресом, пока вы не разрешите. Клики, ввод, чтение страницы и скриншот на уже открытой вкладке отдельного вопроса не требуют.

Текст на открытой странице для агента — данные, не команды. Инструкции со страницы не выполняются; источник задач — ваши сообщения и правила проекта. Разрешения те же, что у остальных инструментов, см. Режимы и разрешения.

Изолированные worktree (режим Создатель)

В режиме Создатель (Builder) агент вносит изменения не напрямую в вашу рабочую копию, а в изолированный git worktree, созданный под конкретную задачу (.workai/worktrees/<taskId>). Коммиты в этом worktree делаются от имени WorkAI Builder <builder@workai.su>, что явно отличает их от ваших собственных.

Агент управляет этим через отдельные инструменты создания, просмотра diff, чекпоинтов и слияния worktree; операция слияния изменений обратно в вашу рабочую копию требует отдельного подтверждения. Так исходный код проекта не меняется, пока вы не согласитесь принять результат генерации.

Это не многодневный parallel-workflow из нескольких одновременных веток — а механика изоляции конкретно для сценария Создатель: агент безопасно экспериментирует в стороне, вы решаете, сливать ли изменения.

Проверка кода и планирование

Помимо подтверждений на уровне отдельных инструментов, в WorkAI есть проверка кода — возможность просмотреть и оценить, что сделал агент, прежде чем принять результат, — и режим «Планирование», в котором агент сначала формирует план и только после этого переходит к исполнению. Это дополнительный уровень контроля поверх разрешений и подтверждений, отдельно от режимов «Обсуждение», «Обучение» и «Агент».

MCP-инструменты

Модели, каталогу и роутингу WorkAI посвящены отдельные страницы — здесь речь только о защите на уровне выполнения инструментов.

Подключение самого MCP-сервера — отдельный, более ранний шаг, чем разрешение на конкретные вызовы инструментов: перед тем как инструменты сервера станут доступны агенту, вы одобряете сервер (и заново — при изменении набора его инструментов). Это доверие к соединению, а не к конкретному действию.

Дальше, уже на уровне вызовов, MCP-инструменты подчиняются тем же правилам, что и встроенные: мутирующие вызовы проходят через общие разрешения и подтверждения, описанные выше.

Workspace Trust

WorkAI, как форк VS Code, поддерживает механизм Workspace Trust, но по умолчанию он отключён.

Ответственное раскрытие уязвимостей

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