WorkAI

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

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

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

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

Режимы чата

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

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

Часть инструментов — например, редактирование (edit_file), создание файлов (create_file) и локальное превью (open_local_preview) — доступна только в режимах Agent и Learn. В режиме Ask агент не может менять файлы, даже если предложит это сделать.

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

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

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

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

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

Терминал

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

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

  • Allowed commands — команды, которые выполняются без подтверждения;
  • Denied commands — команды, которые агент не выполнит никогда.

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

Permissions и области видимости

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

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

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

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

Настройки «Инструменты и безопасность»: список разрешений с областью действия и общий тумблер

Браузерные инструменты и локальное превью

У WorkAI два разных набора инструментов для работы с браузером — подробности и полный список каждого на странице «Браузер».

open_local_preview открывает локальный .html-файл проекта во встроенном браузере клиента, поднимая для этого лёгкий сервер статики на localhost, и автоматически перезагружает страницу при сохранении .html/.css/.js. Агенту явно предписано не запускать для этой же цели live-server, http.server или что-то похожее через терминал и не открывать превью повторно, если оно уже открыто. Это инструмент для просмотра результата собственной работы агента над вашим проектом, а не браузер для сёрфинга по интернету, и отдельного подтверждения не требует.

Отдельно есть набор инструментов общего браузинга (open_browser_page, navigate_page, read_page, screenshot_page, run_playwright_code и другие) — он умеет открывать произвольные http(s)-адреса, читать содержимое страницы, кликать и вводить текст. Открытие новой страницы, переход по адресу и выполнение произвольного Playwright-кода показывают подтверждение с адресом до выполнения; остальные действия (чтение, скриншот, клик, ввод) на уже открытой странице подтверждения не требуют. Содержимое страницы для агента — данные, а не команды: инструкции, обнаруженные на открытой странице, не выполняются, источник команд — только ваши сообщения и правила проекта. Разрешения для этих инструментов работают по общей модели «Режимов запуска», описанной ниже.

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

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

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

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

Agent Review и Plan Mode

Помимо подтверждений на уровне отдельных инструментов, в WorkAI есть Agent Review — возможность просмотреть и оценить, что сделал агент, прежде чем принять результат, — и Plan Mode, режим, в котором агент сначала формирует план действий и только после этого переходит к исполнению. Это дополнительный уровень контроля поверх Permissions и подтверждений по инструментам, отдельно от режимов Ask/Learn/Agent, описанных выше.

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

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

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

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

Workspace Trust

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

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

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