ИИ / Автоматизация 7 мая 2026

2026-05-07 Плагин передачи файлов OpenClaw: политика путей, потолки байт и безголовый арендованный облачный Mac (HK / JP / KR / SG / US)

MacXCode Engineering Team 7 мая 2026 ~25 мин чтения

OpenClaw 2026.5.x урезает горячий путь шлюза и поставляет встроенный плагин передачи файлов. Поверхности file_fetch / dir_list / dir_fetch / file_write остаются бинарно-безопасными, к ним добавляются политика путей по умолчанию «запрет» и потолок около 16 МБ на операцию. На арендованном Mac mini M4 в HK/JP/KR/SG/US чаще больно соседство с CI, чем нехватка NVMe: OpenClaw, checkout Xcode, подпись и scratch живут под одним пользователем автоматизации. Материал на 2026-05-07 фиксирует контракт: разрешённые корни, рабочий каталог launchd, корреляция отказов с структурированным логированием, возврат при необходимости к ripgrep-first и чанкам, плюс TCC / доступ к файлам. Даже если модель «просто хочет файл», границы приватности остаются.

Плагин — это плоскость данных: новые разрешённые строки проходят тот же контроль, что и правила файрвола. Закрепление semver npm и откат tarball см. обновление и откат шлюза; при двойном шлюзе разверните ту же файловую политику на обоих OPENCLAW_STATE_DIR.

Почему меняется модель угроз

Общее «чтение файлов» уязвимо к prompt injection и симлинкам; запрет по умолчанию превращается в проверяемую в Git конфигурацию.

Правило: плагин — плоскость данных—новое разрешение как правило файрвола.

Контекст 2026.5.x

Ленивая загрузка помогает холодному старту, но сужает окно дрейфа конфигурации. Фиксируйте semver, сохраняйте npm ls --depth=0, репетируйте откат.

Запрет по умолчанию для общих билдеров

Нулевое доверие: только CI checkout, явный OPENCLAW_STATE_DIR, scratch NVMe с жизненным циклом. ~/.ssh и цепочка связки ключей — явный запрет в policy-as-code и журнал.

Инструменты

Думайте глаголами:

ЗадачаБезопасноАнтипаттерн
dir_listОбзор внутри разрешённых корнейОбход /
file_fetchБинарник с известным хэшемТянуть огромное медиа целиком
file_writeПатч в scratch → git applyПрямая запись в подписанное дерево

Отличие от старых инструментов

На headless SSH без GUI дисциплина чанков обязательна. Уберите shell-cat как второй канал данных.

Потолок байт и чанки

Даже 16 МБ расточительны при ошибках: (1) метаданные (2) при возможности превью 64 КБ (3) полный fetch после согласования. Крупные медиа — подписанный URL.

Подсказка: CPU простаивает, а медленно? возможно AV/EDR сканирует scratch—выделенный том APFS.

launchd и cwd

Зафиксируйте WorkingDirectory на нейтральном пути вроде /var/lib/openclaw; следуйте приоритетам переменных окружения и секретов, чтобы HOME не расширял whitelist. Затем launchctl kickstart и curl-матрица health/readiness.

Аудит

На каждый fetch: актор, нормализованный путь, результат, байты; тот же бакет, что и nginx ingress, чтобы отделить TLS и отказы политики.

Семь шагов выката

  1. Заморозить semver npm и записать lock
  2. Снимок OPENCLAW_STATE_DIR и plist
  3. Allowlist в Git, ревью PR
  4. Синтетические пробы dir_list/file_fetch
  5. Включить плагин только на канарейке
  6. 24 ч следить за отказами и p95
  7. Промоут или откат tarball + plist

SLO

СигналПорогДействие
Отказы/часнеожиданные пути >5остановить запись, diff
Медиана размера>6 МБ держитсявернуть chunk-gates
Свободный scratch<15 %уборка или SKU 2 ТБ

FAQ

ВопросОтвет
Рекурсия на ~?Нет—перечисляйте корни явно.
Замена объектного хранилища?Нет—большие объёмы через подписанный URL.

Почему Mac mini M4

Пики записи конкурируют с метаданными APFS и xcodebuild. 1–2 ТБ NVMe на Mac mini M4 выравнивают задержку scratch. Ёмкость: цены, аварийные шаги: справка, FDA при необходимости через VNC.

Изолируйте scratch OpenClaw до prod

HK / JP / KR / SG / US · SSH / optional VNC