На арендованном удалённом Mac стек OpenClaw работает на железе и образе, которые вы не контролируете физически: типичная цель — минимальные привилегии для пакетов навыков, рабочая область с монтированием только для чтения там, где возможно, и явный белый список исходящих доменов, чтобы инструменты не ходили на произвольные хосты. Ниже — компактный runbook для внутренней документации после поднятого шлюза (см. Docker, прокси и усиление OpenClaw) и SSH-доступа по чек-листу SSH/VNC; для совместной работы с локальным Ollama на том же узле — пакетный инференс OpenClaw + Ollama.
Три риска «аренды вычислений» без политики
- Дрейф версий — ночное обновление образа или @latest расширяет набор инструментов и сетевых вызовов без тикета.
- Смешение каталогов — запись агента в домашние каталоги или общие тома провайдера смешивает артефакты с чужими сценариями.
- Сырой исходящий канал — щедрый outbound у колокации не заменяет прикладную политику: один curl из навыка обходит доверие к :ro.
Шлюз и фиксация версий пакетов навыков
Трактуйте арендованный Mac как небольшую прод-ячейку. Шлюз: при глобальном CLI ставьте явный semver ([email protected]), фиксируйте команду обновления в change control, после bump запускайте openclaw doctor. В Docker задайте OPENCLAW_IMAGE с digest, а не только тег :latest, и храните digest рядом с compose. Пакеты навыков: вендорские и внутренние деревья — в версионированном каталоге (git-тег или checksum tarball); конфигурация должна указывать на замороженное дерево до планового обновления. Снимок конфига: экспортируйте эффективный конфиг OpenClaw (секреты из env вычеркните) в тикет при каждом изменении пинов — на общих хостах это доказательство «что было live» при инциденте.
Фиксация без политики исходящего трафика бесполезна: навык с HTTP-клиентом сразу открывает сеть. Сочетайте пины с таблицей монтирования и белым списком ниже.
Песочница каталогов и таблица параметров монтирования «только чтение»
На macOS и в Docker задайте один канонический корень workspace, :ro для кода и эталонных данных, отдельный rw scratch для выходов агента. Таблица — чек-лист под флаги docker -v или compose volumes; режим изоляции агентов в духе non-main согласуйте с апстрим-доками и материалом про agents.defaults.sandbox.mode в гайде по развёртыванию.
| Параметр | Рекомендуемая позиция | Заметка для аренды |
|---|---|---|
| Корень workspace | Один путь (напр. /srv/openclaw/workspace) | Не размазывать запись по home и общим утилитам других сценариев на том же хосте. |
| Дерево репозитория клиента | :ro | Перевод в rw — только в окно обслуживания; иначе навык меняет происхождение исходников. |
| Каталог skill-пакета | :ro после установки | Исключает самомодификацию в рантайме; обновления через ваш конвейер пакетов. |
| Scratch / выходы | Выделенный rw-том, квота если есть | Единственное место крупных файлов агента; ротация и учёт диска на съёмной ёмкости. |
| Конфиг и секреты | POSIX-права без world-read | На шаблонных образах аренды проверьте umask и группы до первого старта шлюза. |
| Режим песочницы ОС | non-main для недоверенных сессий | Согласуется с рекомендациями для групповых каналов в документации OpenClaw. |
Пример строк volumes (пути подставьте под MacCompute или другого оператора):
- /data/customer/acme/src:/workspace/src:ro
- /data/skills/acme-pack/v1.4.2:/skills/acme:ro
- /data/scratch/acme:/workspace/out:rw
Настройка белого списка исходящих доменов: пошаговый сценарий
Здесь сходятся безопасность аренды вычислений и прикладная политика: сеть колокации часто широкая, поэтому намерение фиксируется на процессе или периметре.
- Инвентаризация — по каждому навыку перечислите хосты: реестры пакетов, API моделей, Git, телеметрия, вебхуки; учитывайте поддомены API.
- Классификация — разделите «обязательно для успеха задачи» и «опционально»; аналитику отложите до стабилизации списка.
- Внедрение — один choke point: pf/профиль, egress-прокси с правилами по доменам или сетевая политика контейнера, если поддерживается. Если в OpenClaw есть фильтры URL на уровне инструментов — дублируйте тот же список в документе и в живом правиле.
- Поэтапное ужесточение — сначала режим только логирования или широкий allow, соберите отказы за рабочий день, затем сужайте; на аренде шумные deny часто вскрывают забытые CDN и редиректы.
- Проверка — прогоните сухую задачу по каждому пути навыка; ошибка должна явно говорить о блокировке egress, а не «таймаут без причины».
Локальный инференс (например Ollama) держите на 127.0.0.1: loopback не проходит внешний фильтр, но bind и права всё равно задокументируйте.
Журналы аудита: ключевые поля и практика
На арендованном Mac аудит отвечает на два вопроса постфактум: что агент пытался сделать и что было запрещено. Минимум полей (лучше JSON):
- Время и сессия — UTC, id сессии шлюза или канала, при мультиплексировании — метка арендатора.
- Инструмент — имя, версия skill-пакета, хэш конфигурации.
- Файловая система — запрошенный путь, нормализованный абсолютный путь, корень workspace, операция read/write/exec, исход allow/deny.
- Сеть — для HTTP-инструментов: метод, хост, при безопасном логировании — IP или причина блока.
- Версия политики — id списка egress и карты монтирования, чтобы аудитор знал действовавший набор правил.
Пересылка в ваш sink (объектное хранилище, SIEM, отдельный лог-хост): у провайдера диски могут переиспользоваться — локальную ретенцию считайте best-effort и настройте forwarder через launchd или оркестратор.
FAQ: повышение привилегий, обход путей (path traversal) и диагностика
Симптом: «permission denied» на существующий файл. Проверьте :ro монт, Full Disk Access для процесса шлюза на macOS и сопоставление uid/gid контейнера с правами на хосте.
Симптом: записи вне scratch. Просмотрите цели симлинков до монтирования, отключите следование по ссылкам там, где позволяет рантайм; в обёртках инструментов отвергайте ../ после нормализации.
Симптом: 403 у API после allowlist. Имя в TLS/SNI может отличаться от логического API (CDN). Добавьте фактический FQDN из логов; не открывайте целый регистраторский домен без принятия радиуса поражения на общей машине.
Симптом: «на ноутбуке работает», на аренде нет. Сравните таблицу монтирования, uid/gid и резолверы DNS — у шаблонов аренды иные search domain и конечные точки.
Симптом: подозрение на расширение поверхности после обновления навыка. Откат на предыдущий digest, diff сетевых и файловых аудит-записей между версиями; расширение allowlist только с номером тикета.
Резюме
Аренда Mac удобна для нативных macOS-задач и долгих агентов, если исполнение навыков вести как прод-код: пины версий, :ro для чувствительных деревьев, белый список исходящих доменов и логи с нормализацией путей. Это минимальный воспроизводимый пакет до мультиарендаторской нагрузки на одном железе.