Коротко
- Песочница изолирует инструменты, но не проверяет действие внутри разрешённых инструментов.
- Режим
roмонтирует рабочий каталог агента только для чтения. - Подтверждения останавливают запросы на выполнение команд, установку плагинов и действия системного агента.
Сверено с документацией OpenClaw 2026.10.9, 31 октября 2026.
Отправка неверного письма не требует выхода из песочницы. Границу задают доступ к инструментам, подтверждения и ограничение контекста сообщений.
Участник r-openclaw /u/genunix64 отмечает: агент с правом отправлять письма отправит не то письмо, не нарушив песочницу. Покупка внутри исправной песочницы создаёт тот же риск.
agents.defaults.sandbox.scope разделяет агентов или сессии. Значение shared использует один контейнер или рабочий каталог. Песочница изолирует инструменты, но не проверяет действие внутри разрешённых инструментов.
Как работают подтверждения
Команда openclaw approvals показывает ожидающие подтверждения для выполнения команд, действий с плагинами и системного агента OpenClaw.
openclaw approvals get
openclaw approvals get --node <id|name|ip>
openclaw approvals get --gateway
openclaw approvals pending
openclaw approvals resolve <id> <allow-once|allow-always|deny>
allow-once разрешает конкретный запрос. allow-always привязывает разрешение на выполнение команды к точным аргументам и текущему рабочему каталогу. Команда из другого каталога требует отдельного подтверждения.
В сценариях делегированной настройки и восстановления режим Full Access, включая Default (Full Access), разрешает допустимые изменения без запроса подтверждения. Ограниченные запуски требуют участия человека. Инструмент gateway остаётся доступным только владельцу, а задания cron продолжают работать после завершения чата.
workspaceAccess и ограничение инструментов
agents.defaults.sandbox.workspaceAccess задаёт файловые права. Значение none оставляет инструментам отдельную песочницу. Значение ro монтирует рабочий каталог агента только для чтения и отключает write, edit, apply_patch. Значение rw разрешает чтение и запись в /workspace.
Для песочницы с обязательной ролью OpenClaw ограничивает rw до ro. Это закрывает общий доступ гостей к записываемому рабочему каталогу агента.
Для агентов, обрабатывающих недоверенное содержимое, запретите чувствительные инструменты:
{
tools: {
deny: ["gateway", "cron", "sessions_spawn", "sessions_send"],
},
}
Отдельно ограничьте отправку между диалогами и провайдерами. По умолчанию allowWithinProvider и allowAcrossProviders равны true.
{
tools: {
message: {
crossContext: {
allowWithinProvider: false,
allowAcrossProviders: false,
},
},
},
}
Эти параметры ограничивают защищённые действия с сообщениями: отправку, ответы, правки, удаления и создание веток. Чтение и административные действия канала имеют отдельные разрешения.
Дрейф намерения между сессиями
Отдельный вызов может выглядеть разумным, пока серии вызовов движутся к другой цели. По наблюдению /u/genunix64, следующая сессия наследует слегка изменённую интерпретацию исходной задачи.
OpenClaw также делает сессии и сообщения между агентами широко доступными по умолчанию. По умолчанию tools.sessions.visibility равен all, а tools.agentToAgent.enabled равен true. Агент без песочницы может читать сессии и писать другим агентам.
Где ломается
scope: "shared"объединяет контейнер или рабочий каталог.- Режим
rwоткрывает рабочий каталог для записи. - Параметры
crossContextпо умолчанию разрешают переходы между диалогами и провайдерами. - Значение
allдляtools.sessions.visibilityрасширяет видимость сессий внутри Gateway. - Full Access снимает подтверждение допустимых изменений в делегированных операциях.
Что проверить у себя
- Проверьте
agents.defaults.sandbox.scope: оставьтеagentили выберитеsession. - Проверьте
agents.defaults.sandbox.workspaceAccess: используйтеnoneилиro, пока запись не нужна. - Добавьте
gateway,cron,sessions_spawnиsessions_sendвdeny. - Установите
allowWithinProviderиallowAcrossProvidersвfalse. - Ограничьте
tools.sessions.visibilityзначениемagentилиself. Проверьтеtools.agentToAgent.enabledи пары вtools.agentToAgent.allow. - Сопоставьте
tools.execс документом разрешений черезopenclaw approvals get --gateway. Затем проверьте очередь командойopenclaw approvals pending.