Почему macOS-агентам нужна песочница, а не только промпт
Cursor, Windsurf и подобные ИИ-инструменты для кодирования сделали «позволить модели править код» обычным делом.
Профиль риска полностью меняется, когда Agent переходит от подсказок в IDE к автономному выполнению shell, доступу к секретам и вызовам системных API —
он больше не предлагает diff, а пишет на диск под вашей пользовательской учётной записью.
Во внутренних тестах Agent без ограничений во время многофайлового рефакторинга пытался записать рядом с
~/.ssh/id_ed25519 и запускал security find-identity для перечисления связки ключей —
терпимо на ноутбуке разработчика, недопустимо на облачном Mac с ключами подписи CI.
Обычный ответ — Docker или VM, но контейнерные варианты на macOS либо не дают полный набор Xcode, либо конфликтуют со стеком подписи Apple. Другой путь: выделить Agent отдельную физическую машину и заблокировать доступ к файловой системе, сети и процессам за движком политик — здесь начинается OpenClaw. Он работает на выделенных узлах Mac mini M4 PixVPS, делит вычисления Apple Silicon с хостом и добавляет аудит на уровне операций и границы прав, чтобы Agents работали, не касаясь запрещённых ресурсов.
Оборудование: Mac mini M4 · 10-ядерный CPU · 16 ГБ объединённой памяти · 256 ГБ NVMe · выделенная полоса 1 Гбит/с (узел PixVPS Сингапур).
ОС: macOS 15 Sequoia. OpenClaw CLI 0.9.4, формат политик v2.
Среда Agent: внутренний скрипт оркестрации + LangGraph 0.2; эталонная задача: сканирование репозитория → генерация патча → запуск unit-тестов.
Доступ: SSH zero trust токен + VNC консоли для наблюдения.
Архитектура OpenClaw: трёхслойная изоляция
OpenClaw — это промежуточный слой политик и аудита между macOS и вашим Agent, состоящий из трёх взаимодействующих компонентов:
- Policy Engine: читает декларативные YAML-правила и оценивает allow/deny перед каждым системным вызовом; при отказе возвращает структурированные коды ошибок для повтора или отката оркестрации.
- Sandbox Runtime: монтирует изолированное записываемое рабочее пространство на сессию Agent, по умолчанию открывая только
/workspaceи явные пути из белого списка; блокирует чувствительные зоны вроде~/Library/Keychainsи/etc. - Audit Bus: записывает каждое чтение/запись файла, запуск дочернего процесса и исходящее сетевое соединение в JSON Lines — с запросами по ID сессии, версии политики и временному окну; хранение по умолчанию 90 дней.
По сравнению с «переустановить всю машину» или «переключить учётную запись» OpenClaw выигрывает за счёт версионируемых политик с откатом:
на одном узле M4 можно одновременно запустить Agent анализа кода только для чтения и build-Agent с записью в /workspace,
каждый привязан к своему YAML, без взаимного влияния. Neural Engine 38 TOPS на M4 остаётся у хоста; слой песочницы почти не добавляет задержки инференса —
в 200 последовательных стресс-запусках tool calls средняя оценка политики составила 1,8 мс, практически незаметно.
Активация в консоли и подготовка среды
OpenClaw входит в каждый стандартный экземпляр Mac mini M4 PixVPS — отдельная покупка не нужна. Если облачного узла ещё нет, выберите регион и срок на странице заказа — учётные данные SSH появятся в консоли в течение 1–5 минут после оплаты. Ниже предполагается, что вы уже можете подключиться по SSH.
-
01
Включить OpenClaw в консоли
Детали экземпляра → Security & Sandbox → включить OpenClaw. При первой активации генерируется
instance-tokenуровня экземпляра, показывается один раз — сразу сохраните в хранилище секретов команды. -
02
Установить CLI и привязать экземпляр
Подключитесь по SSH и выполните команды ниже. CLI распространяется через источники ПО PixVPS и не конфликтует с системным Python или Homebrew.
-
03
Проверить демоны и health check
Выполните
openclaw statusи убедитесь, что Policy Engine, Sandbox Runtime и Audit Bus показываютhealthy.
В SSH-сессии:
curl -fsSL https://api.pixvps.com/openclaw/install.sh | bash
openclaw auth login --token <instance-token>
openclaw status
Храните instance-token в 1Password, Bitwarden и т. п. — не в открытом виде в репозитории.
При утечке используйте Rotate Instance Token в консоли для мгновенной инвалидации; текущие сессии песочницы не затрагиваются, новым сессиям нужен новый токен.
CLI-команды и первая задача в песочнице
CLI OpenClaw рассчитан на то, что операторы выполняют ~90 % работы по SSH; GUI нужен только для поиска в аудите и аварийного обхода. Минимальный happy path: создать песочницу → привязать политику → запустить входной скрипт Agent внутри песочницы.
openclaw sandbox create --name dev-agent --policy ./policies/readonly.yaml
openclaw sandbox exec dev-agent -- /bin/zsh -lc 'ls -la /workspace'
openclaw sandbox list
openclaw sandbox stop dev-agent
sandbox create выделяет изолированное рабочее пространство в /var/openclaw/sandboxes/<id>/
и записывает хеш файла политики в журнал аудита, чтобы потом ответить на вопрос «какие пути были разрешены в тот момент».
sandbox exec — лучший инструмент отладки: проверьте жёсткость политики до подключения полной оркестрации Agent.
Первая задача — клонирование приватного Git-репозитория и запуск тестов. Подводный камень: политика по умолчанию блокирует ~/.gitconfig,
чтение HTTPS-учётных данных не удалось. Решение: добавить запись только для чтения в белый список для ~/.gitconfig или перейти на SSH deploy key и явно разрешить ~/.ssh/deploy_key.
YAML прав доступа: от read-only до записываемых сборок
Файлы политик используют декларативный YAML с apiVersion: openclaw.pixvps.com/v2.
Основные блоки — filesystem, process и network;
каждый поддерживает списки allow и deny — deny важнее allow.
apiVersion: openclaw.pixvps.com/v2
kind: SandboxPolicy
metadata:
name: readonly-analyzer
spec:
filesystem:
allow:
- path: /workspace
access: [read]
deny:
- path: "**/Keychains/**"
- path: "**/.ssh/**"
process:
allow: [git, rg, python3]
network:
egress: deny-all
Build-агентам нужна запись в /workspace, вызовы xcodebuild и доступ к реестру npm.
Установите доступ к /workspace на [read, write] в filesystem.allow,
добавьте xcodebuild, swift и npm в process.allow,
переключите network.egress на allow-list с записями вроде registry.npmjs.org:443 и github.com:443.
| Сценарий Agent | Файловая система | Белый список процессов | Сеть |
|---|---|---|---|
| Статический code review | /workspace только чтение |
git, rg, python3 | Исходящий трафик запрещён |
| iOS build Agent | /workspace чтение/запись; пути Keychain запрещены |
xcodebuild, codesign, fastlane | Белый список доменов Apple / GitHub |
| Agent сбора документации | /workspace чтение/запись |
curl, python3 | Конкретные сайты документации по HTTPS |
| Ops-инспекционный Agent | Пути системных логов только для чтения | log, df, top | Исходящий трафик запрещён |
Применяйте изменения через openclaw policy apply -f ./policies/build.yaml --sandbox dev-agent для hot reload;
движок проверяет синтаксис YAML и конфликты путей и отклоняет конфигурации, одновременно разрешающие и запрещающие один путь.
Храните файлы политик в Git и ревьюйте в PR — расширение прав заслуживает той же строгости, что и код приложения.
Zero trust для нескольких пользователей
В продакшене редко один инженер следит за Agents — и общий SSH-ключ плохая идея. OpenClaw интегрируется со шлюзом zero trust PixVPS: каждый пользователь получает персональный сертификат устройства на странице Team Members консоли, проходит MFA и получает краткосрочный SSH-сертификат (по умолчанию 8 часов) вместо долгосрочного пароля.
Три роли: viewer (только журналы аудита); operator (создание/остановка песочниц, sandbox exec);
admin (редактирование политик, ротация токенов). Роли назначаются в консоли; на CLI используйте openclaw auth whoami для текущей идентичности.
Не кладите instance-token в открытый secret GitHub Actions с автозапуском workflow на fork PR —
то же правило, что и для токенов CI Runner: ограничьте триггеры в настройках репозитория или используйте краткосрочные OIDC-токены федерации PixVPS.
Немедленно отзывайте сертификаты устройств уходящих участников в консоли; журналы аудита сохраняют их исторические действия.
Интеграция CI/CD и пайплайнов автоматизации
Когда задачи Agent переходят от ручного запуска к «на каждый push», сессии OpenClaw должны входить в оркестрацию пайплайна.
Типичная схема: self-hosted Runner GitHub Actions на том же узле M4 PixVPS,
шаги workflow с openclaw sandbox create, запуском входного скрипта Agent внутри, затем sandbox stop и загрузкой сводки аудита.
- name: Run Agent in OpenClaw sandbox
run: |
openclaw sandbox create --name ci-${{ github.run_id }} \
--policy ./ops/openclaw/ci-build.yaml
openclaw sandbox exec ci-${{ github.run_id }} -- \
./scripts/agent-entry.sh
openclaw audit export --sandbox ci-${{ github.run_id }} \
--format jsonl -o ./audit-${{ github.run_id }}.jsonl
openclaw sandbox stop ci-${{ github.run_id }}
В Jenkins оберните шаги в Shared Pipeline Library и принудительно экспортируйте аудит в post { always { ... } } —
чтобы упавшие Agents не оставляли зомби-песочницы, съедающие диск. Мы измерили пики рабочего пространства одной песочницы около 2,4 ГБ (включая DerivedData);
узел M4 с 16 ГБ объединённой памяти может одновременно держать две build-песочницы без swap — дальше рассмотрите кластеризацию TB5 или разделение Runner.
Поиск в журналах аудита и типичное устранение неполадок
Аудит — ключевая продакшен-ценность OpenClaw. Каждая блокировка и разрешение пишется в Audit Bus с полями
timestamp, sandbox_id, policy_hash, action, target, decision и actor.
Примеры CLI:
openclaw audit tail --sandbox dev-agent --follow для live tail;
openclaw audit query --since 24h --decision deny для отказов за последние 24 часа;
openclaw audit export --format jsonl -o audit.jsonl для юридических цепочек доказательств или SOC2.
| Симптом | Вероятная причина | Действие |
|---|---|---|
openclaw status показывает Audit Bus unhealthy |
Заполнение диска > 85 %, сбой ротации логов | Выполнить openclaw audit vacuum --before 30d или добавить SSD |
Agent сообщает E_POLICY_DENY: filesystem |
Целевой путь не в белом списке | audit query --decision deny для пути, затем обновить YAML |
sandbox create истекает по таймауту |
Достигнут лимит одновременных песочниц (по умолчанию 5) | sandbox list для очистки зомби-сессий или повысить квоту в консоли |
| Сеть блокируется при домене в allow-list | Отсутствует порт или не покрыт CDN CNAME | Использовать шаблон *:443 или захватить реальную цель |
| Не удаётся войти по SSH-сертификату | Истёкший сертификат устройства или устаревший MFA | Перевыпустить в консоли; проверить системные часы |
Если сам движок политик падает, в консоли есть переключатель Security Bypass — только admin, максимум 15 минут за активацию —
все действия обхода логируются с наивысшей серьёзностью. В продакшене избегайте, кроме инцидентов P0.
В продакшен: развёртывание песочниц Agent на облачном Mac в своём темпе
Вернёмся к исходному вопросу: Agents нужен macOS, но нельзя запускать их без ограничений на bare metal — офисные Mac — нагрузка по питанию и ops; публичные облачные macOS часто виртуализированы и без аудита на уровне операций, как у OpenClaw. PixVPS предлагает выделенный физический Mac mini M4 + нативную интеграцию OpenClaw: развёртывание за 1–5 минут после оплаты, доступ SSH / VNC, пять узлов (Сингапур, Япония Токио, Южная Корея Сеул, Гонконг, восток США) по задержке, эксперименты от $21.1/день — при стабилизации переходите на $105.7/месяц, по завершении освобождайте.
Рекомендуемый rollout: проверить логику Agent с read-only политикой на одном узле → постепенно открыть запись в /workspace и сетевые allow-list →
закоммитить YAML политик в Git и подключить CI → выдать команде zero trust сертификаты с ролевым доступом.
Для on-device инференса Neural Engine 38 TOPS на M4 может ускорять вне песочницы, независимо от политики sandbox.
Для более короткого пути за 5 минут см. сопутствующую статью Песочница OpenClaw за 5 минут.
-
01
Выбрать узел и развернуть экземпляр
На странице заказа выберите регион и срок; после оплаты включите OpenClaw в консоли и сохраните instance-token.
-
02
Установить CLI и закоммитить первую read-only политику
Через
sandbox execубедитесь, что входной скрипт Agent работает под ограничениями, затем поэтапно расширяйте права записи. -
03
Подключить CI и zero trust команды
Принудительный экспорт аудита в workflow; назначьте роли viewer / operator / admin; регулярно ротируйте токены.
Планка для продакшен-Agents — не размер модели, а то, предсказуем ли каждый системный вызов, отслеживаем и обратим. OpenClaw превращает это в версионируемый YAML и поисковые журналы аудита; PixVPS даёт вычисления Apple Silicon без налога виртуализации и провижининг за минуты. Вместе это прагматичный путь к автоматизированным Agents на macOS с балансом скорости и соответствия требованиям.
Дайте AI Agent облачный Mac с песочницей OpenClaw
Выделенные узлы Mac mini M4 PixVPS поставляются с OpenClaw: изоляция на уровне операций, zero trust, хранение аудита 90 дней, 16 ГБ объединённой памяти и on-device инференс 38 TOPS — от $21.1/день на пяти глобальных узлах.