Безопасность агента
Как 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, сообщите об этом через обращение в поддержку с описанием проблемы и шагами воспроизведения.