Зачем AI Agent нужна песочница на уровне операций
Агенты на базе LLM уже не ограничиваются автодополнением пары строк — они читают и пишут файлы, вызывают терминал, тянут зависимости и обращаются к внешним API. В macOS по-прежнему нужны Xcode, подпись кода и локальный инференс на Apple Neural Engine; Linux-контейнеры этот стек не дают, а запуск Agent «голым» на рабочем MacBook означает общую плоскость прав с SSH-ключами, Keychain и глобальным хранилищем IDE.
OpenClaw — слой песочницы ZovCloud на выделенном железе Mac mini M4: каждая задача получает настраиваемые, отслеживаемые и останавливаемые границы при полном нативном macOS. В отличие от передачи всей машины, сессии песочницы несут независимые политики и потоки аудита — владелец (Owner) может отозвать токены и завершить активные задания в любой момент.
В статье — путь от одиночной сессии до сценария «команда + CI в продакшене». После прочтения вы сможете: выделить узел → инициализировать OpenClaw → написать policy YAML → назначить роли → поднять изолированную сессию ревью в GitHub Actions → запросить и экспортировать журналы аудита.
Текст основан на OpenClaw 1.4.2 под macOS Sequoia 15.3, протестирован на узле Mac mini M4 в Сингапуре (10 ядер · 16 GB · SSD 256 GB). Интерфейс консоли может меняться между релизами; семантика CLI и структура полей YAML остаются стабильными.
Предварительные требования: узел, сеть и ожидания по правам
OpenClaw работает на выделенном физическом оборудовании ZovCloud — это не отдельная лицензия на ПО. Сначала нужен доставленный узел Mac mini M4. На странице заказа выберите один из пяти регионов (Сингапур, Япония, Корея, Гонконг, Восток США); базовый тариф от $19.8/день, после оплаты узел готов за 1–5 минут, учётные данные SSH и VNC приходят на почту автоматически.
При первой инициализации система запросит авторизацию macOS Endpoint Security (аудит файлов и процессов) и разрешение на сетевой фильтр. Если корпоративная сеть использует исходящий прокси, убедитесь, что домены API Agent доступны, или заранее добавьте их в allowlist в YAML-политике. Для команд пусть Owner завершит инициализацию до приглашения Operator и Auditor — одновременные запросы ES у нескольких людей только путают.
Инициализация в консоли: от инстанса до первого claw status
-
01
Войдите в консоль и откройте детали инстанса
В разделе «Мои инстансы» выберите целевой Mac mini M4 и убедитесь, что он запущен. На свежем узле сначала зайдите по SSH и проверьте диск и сеть.
-
02
Откройте вкладку OpenClaw и выполните инициализацию zero trust
При первом заходе генерируется пара ключей Ed25519, устанавливается служба
com.zovcloud.openclaw.daemonи создаётся/var/log/openclaw/для аудита. Подтвердите ES и сетевое расширение по подсказкам на экране. -
03
Настройте участников и политики доступа
В разделе управления доступом добавьте коллег и назначьте роли Owner / Operator / Auditor. Operator запускает сессии песочницы; Auditor только читает журналы аудита — без правки политик.
-
04
Скачайте CLI-пакет и токен, затем проверьте
Консоль выдаёт однострочный скрипт установки. По SSH на узле выполните
claw status— ожидайтеdaemon: runningиauth: valid. Иначе сначала запуститеclaw doctor.
После инициализации на панели видны число активных сессий, CPU/RAM по сессиям, события BLOCK за последние 24 часа; можно экспортировать PDF-сводку для службы безопасности. Настройте оповещения при всплесках BLOCK, чтобы ослабленные политики не оставались незамеченными.
Группы CLI-команд и ритм ежедневной эксплуатации
Повседневная работа строится вокруг claw. Команды сгруппированы по зонам ответственности — удобнее для скриптов:
# Проверка состояния
claw status
claw doctor
# Жизненный цикл сессии
claw run --config policy.yaml
claw run --template ci-review --detach
claw attach <session-id>
claw stop <session-id>
claw list
# Шаблоны политик
claw template list
claw template export agent > policy.yaml
claw template save my-ci-policy
# Аудит и сетевые проверки
claw audit tail <session> --follow
claw audit query --since 24h --action BLOCK
claw audit export <session> --format json
claw net test --domain api.openai.com
Включайте claw doctor в регулярные проверки: здоровье демона, авторизация Endpoint Security, запись в каталог аудита, срок токена.
Если старт песочницы падает с неясной ошибкой — сначала диагностика: частые причины — просроченное ES-разрешение или отсутствующий путь workspace.
В продакшене используйте разные шаблоны для CI и ручных задач: ci-review ближе к read-only с узким сетевым allowlist;
agent-dev разрешает запись в workspace и DerivedData, но всегда запрещает ~/.ssh и пути Keychain.
Для интерактивной отладки подключайтесь к уже запущенной сессии через claw attach <session-id> —
stdout/stderr Agent стримится в ваш терминал, а события файловой системы и сети по-прежнему пишутся в аудит.
Если сессия поднята с --detach, список активных идентификаторов всегда доступен через claw list;
перед выходными или релизом прогоните claw stop --all, чтобы не оставлять «забытые» песочницы с открытым сетевым allowlist.
Продакшен policy.yaml: значения полей и типичные ошибки
Файл политики — единственный источник истины для границ песочницы. Ниже полная конфигурация, часто используемая для продакшен-Agent, с пояснениями по разделам:
version: "1"
session:
name: "prod-agent"
auto_cleanup: false
max_duration: "4h"
idle_timeout: "30m"
filesystem:
workspace: "~/agent-workspace"
readonly_mounts:
- /Applications
- /usr/local/bin
- /Library/Developer
deny:
- ~/.ssh
- ~/Library/Keychains
- ~/Library/Application Support/Cursor/User/globalStorage
syscalls:
preset: "agent"
deny: [ptrace, setuid, mount]
network:
allow_domains:
- "api.openai.com"
- "api.anthropic.com"
- "*.github.com"
- "registry.npmjs.org"
- "pypi.org"
block_all_others: true
log_blocked: true
Блок session управляет жизненным циклом: max_duration не даёт безнадзорным задачам бесконечно держать 16 GB RAM;
idle_timeout освобождает ресурсы после простоя Agent; auto_cleanup: false подходит для генерации кода, когда артефакты нужно сохранить.
В filesystem правило deny важнее readonly_mounts.
OpenClaw разрешает цели симлинков — если инструменты Homebrew указывают в Cellar, добавьте Cellar в readonly_mounts, иначе вызовы git / python3 могут тихо падать.
Для network держите block_all_others: true и включите log_blocked: true:
неавторизованный исходящий трафик отбрасывается, но в потоке аудита остаётся попытка обращения к неизвестным доменам.
Помимо /Applications/Xcode.app смонтируйте /Library/Developer
и сделайте ~/Library/Developer/Xcode/DerivedData записываемым подпутём workspace.
Без DerivedData сборки идут с нуля — мы видели замедление в 3–5 раз; в одном случае Agent очистил кэш и запустил clean build на 18 минут.
Zero trust для нескольких пользователей: роли, токены и границы совместной работы
В командной схеме назначьте три роли по принципу наименьших привилегий. Каждая роль аутентифицируется своим CLI-токеном (TTL по умолчанию 24 часа); Owner может отозвать токены и завершить соответствующие активные сессии. Для внешних консультантов выдавайте гостевые токены с ограниченным сроком — они истекают без правки мастер-политики.
| Роль | Запуск песочницы | Просмотр аудита | Правка политики | Типичный пользователь |
|---|---|---|---|---|
| Owner | Да | Да | Да | Техлид / DevOps |
| Operator | Да | Да | Нет | Разработчик в ежедневной работе |
| Auditor | Нет | Да | Нет | Безопасность / комплаенс |
Zero trust здесь означает: каждый вызов CLI несёт краткоживущий токен; смена политики и рискованные действия (например, расширение сетевого allowlist) — только для Owner,
каждое событие ALLOW/BLOCK попадает в защищённый от подделки поток аудита.
Не кладите токены Owner в секреты CI — создавайте ограниченные токены Operator для пайплайнов, привязанные только к шаблону ci-review.
Интеграция с GitHub Actions: одна сессия песочницы на PR
После регистрации ZovCloud M4 как self-hosted Runner можно поднимать изолированную песочницу для каждого AI-ревью кода в пайплайне PR. Паттерн: старт сессии → запуск Agent внутри песочницы → экспорт аудита независимо от исхода → остановка сессии.
# .github/workflows/ai-review.yml
name: AI Code Review (Sandboxed)
on: [pull_request]
jobs:
review:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Start OpenClaw sandbox
run: |
claw run --template ci-review --detach
SESSION=$(claw list --json | jq -r '.[0].id')
echo "SESSION_ID=$SESSION" >> $GITHUB_ENV
- name: Run AI review agent
run: |
claw attach $SESSION_ID --exec \
"claude -p 'Review this PR for security issues'"
- name: Export audit log
if: always()
run: |
claw audit export $SESSION_ID \
--format json \
--output audit-${{ github.run_id }}.json
- name: Stop sandbox
if: always()
run: claw stop $SESSION_ID
Храните YAML шаблона ci-review в репозитории под .openclaw/, версионируя вместе с workflow —
изменения политики проходят code review, и безопасность видит фактические границы.
Если несколько проектов делят один узел, регистрируйте разные метки Runner по репозиториям или ограничивайте через OpenClaw область файловой системы каждой сессии, чтобы Agent не читал чужие деревья исходников.
Журналы аудита, оповещения и типичные неполадки
Для расследования аномалий отфильтруйте поток аудита по времени и типу:
claw audit query --since 7d --action BLOCK --type network --format table
claw audit query --since 24h --action BLOCK --type write --format json \
| jq '.[] | select(.target | contains("/etc"))'
Экспорт для комплаенса поддерживает JSON, CSV и PDF. PDF включает сводку сессии, статистику ALLOW/BLOCK, снимок политики и таймлайн — готово для аудиторов.
В консоли можно настроить правила вроде «BLOCK > 50 в час в одной сессии» или «попытка чтения ~/.ssh» с уведомлением Owner по email или Webhook.
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Падают git / python | Путь к инструменту не смонтирован | Проверьте симлинки; добавьте Cellar в readonly_mounts |
| Сборка Xcode очень медленная | DerivedData не доступен для записи | Добавьте записываемый подпуть workspace |
claw run по таймауту |
Истекла авторизация ES | Повторите авторизацию по claw doctor |
| Вся сеть в BLOCK | Домен не в allowlist | Проверьте через claw net test |
| Большой объём диска под аудит | Рост логов при частых задачах | Ротация логов или пороги фильтрации |
Полный аудит стоит ~3% CPU на десятиядерном M4 — для большинства нагрузок это пренебрежимо мало.
В чувствительных к задержке сценариях можно отключить детальный аудит syscall и оставить только файловый и сетевой слои; в продакшене всё же предпочтителен полный аудит.
Чеклист перед запуском: одна сессия на задачу; policy YAML в Git с ревью;
~/.ssh, Keychain и глобальное хранилище IDE всегда в deny; сеть по умолчанию запрещена с явным allowlist;
задайте max_duration и idle_timeout; экспортируйте аудит в CI с if: always(); настройте оповещения по BLOCK.
Когда запускать OpenClaw на выделенном Mac в облаке, а не локально
Agent на голом MacBook: те же привилегии, что у ежедневной машины, нет аудита на уровне операций, на 8 GB при длинных задачах начинается swap, сложно крутить CI 7×24. Публичные облачные инстансы macOS часто виртуализированы — нет проброса Neural Engine и встроенной песочницы, а минимальные сроки или поминутная оплата могут обойтись дороже гибкой посуточной физической машины. macOS Runner в GitHub Actions тарифицируются поминутно по высокой ставке, среда общая, контроль политик слабый, в пиковые часы — очереди.
ZovCloud предлагает выделенное железо Mac mini M4 (от $19.8/день, $53.5/нед., $99.1/мес.), встроенный OpenClaw, пять регионов с доставкой за 1–5 минут и поддержку людей 7×24 — сценарии совместной работы, CI и аудита из этого руководства рассчитаны на этот стек из коробки. Оцениваете перенос Agent с перегруженного ноутбука? Арендуйте на день узел в Сингапуре или Токио, прогоните тот же репозиторий и задачу Agent, сравните полноту аудита и время выполнения — и решите, должны ли продакшен-пайплайны ревью жить в облаке.
По окончании аренды или отмене ZovCloud выполняет безопасное стирание диска; перед освобождением узла архивируйте журналы аудита через claw audit export в объектное хранилище, чтобы артефакты комплаенса не исчезли вместе с инстансом.
Для более лёгкого старта попробуйте краткое руководство за пять минут, затем расширяйте командные и CI-сценарии по этому документу.
Встройте песочницу OpenClaw в продакшен-пайплайн
Выделенный узел ZovCloud Mac mini M4: совместная работа zero trust, полные журналы аудита, 16 GB унифицированной памяти и 38 TOPS AI-вычислений — от $19.8/день, без долгосрочного контракта.