Zerobox CLI

Песочница для команд и кода от ИИ-агента: запись, сеть и переменные среды закрыты по умолчанию, ключи подставляются только для разрешенных доменов

  • 724 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

Расширенный доступ

Почему такой уровень

  • Выполняет любую переданную команду, а флаги `-A` и `--no-sandbox` снимают изоляцию целиком
  • Принимает ключи API в аргументах командной строки, а сетевой прокси подставляет их в запросы к хостам
  • Режим `--restore` перезаписывает отслеживаемые файлы в рабочей папке состоянием до запуска
Все причины и проверки

afshinm/zerobox

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/zerobox

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Выполняет любую переданную команду, а флаги `-A` и `--no-sandbox` снимают изоляцию целиком
  • Принимает ключи API в аргументах командной строки, а сетевой прокси подставляет их в запросы к хостам
  • Режим `--restore` перезаписывает отслеживаемые файлы в рабочей папке состоянием до запуска

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Zerobox запускает любую команду в изоляции средствами самой системы: на macOS через Seatbelt, на Linux через Bubblewrap, Seccomp и пространства имен. Без разрешений процесс ничего не пишет на диск, не выходит в сеть и получает только базовые переменные среды вроде `PATH` и `HOME`. Разрешения задаются флагами: `--allow-write=.` открывает запись в текущую папку, `--allow-net=api.openai.com` открывает один домен, `--deny-read` и `--deny-write` закрывают отдельные пути и перекрывают разрешения. Типичный вызов выглядит так: `zerobox --allow-write=./dist -- npm run build`. Для ключей есть отдельный путь. При запуске с `--secret OPENAI_API_KEY=...` процесс внутри песочницы видит только заглушку, а настоящее значение сетевой прокси подставляет в запрос к хосту из `--secret-host`. Без `--secret-host` ключ уйдет на любой домен. Флаг `--snapshot` записывает изменения файловой системы за время работы команды, `--restore` откатывает отслеживаемые файлы после выхода, а `zerobox snapshot list`, `diff` и `restore` позволяют разобрать запись позже. Код изоляции взят из песочницы OpenAI Codex. Кроме двоичного файла, пакет дает SDK для Rust, TypeScript и Python с тем же набором разрешений, это удобно, когда вызовы инструментов агента нужно закрывать по одному.

Для кого. Для разработчиков, которые запускают код и команды, написанные ИИ-агентом, на своей машине с macOS или Linux и не хотят поднимать для этого Docker или виртуальную машину.

Подходит, если

  • Агент сгенерировал скрипт, и его нужно запустить без доступа к сети и с записью только в одну папку
  • Сборку или установку зависимостей надо провести с сетью, но с записью только в `./dist`
  • Ключ OpenAI или GitHub должен работать в процессе, но не лежать в его переменных среды
  • После `npm install` хочется получить список изменений и откатить их командой `zerobox snapshot restore`
  • Вызовы инструментов агента на TypeScript или Python нужно закрывать по одному через SDK

Не подходит, если

  • Вы работаете на Windows: поддержка в планах, сейчас доступны только macOS и Linux
  • Нужно запустить программу с графическим окном, например Chrome или Firefox: на macOS из-за WindowServer такие приложения в песочнице не работают
  • Нужна полная среда с браузером и терминалом для агента: здесь больше подойдет AIO Sandbox в Docker
  • Нужен готовый MCP-сервер или скилл: Zerobox выпускает CLI и SDK без интеграции с агентами

Пример запроса к агенту

Запусти сгенерированный скрипт task.py в песочнице Zerobox: запись только в /tmp/output, сеть закрыта

Ограничения

  • Работает на macOS и Linux. Поддержка Windows через ограниченные токены и брандмауэр в планах.
  • На Ubuntu 24.04 и новее непривилегированные пространства имен отключены через AppArmor, и для песочницы на Linux их нужно включить. Флаг `--strict-sandbox` завершает работу, если полной изоляции получить не удалось, без него возможен откат на более слабую.
  • Флаг `--allow-read` на macOS оставляет открытыми системные пути вроде `/etc`, а `-A` и `--no-sandbox` снимают защиту целиком.
  • Секрет без `--secret-host` подставляется для всех доменов. Node.js не учитывает `HTTPS_PROXY` сам, и внутри песочницы с секретами ему нужен аргумент `--use-env-proxy`.
  • Накладные расходы около 10 мс и 7 МБ на запуск разработчик измерил на Apple M5 Pro, на другой машине цифры будут иными.

Как отключить. Zerobox вмешивается только в те команды, которые вы запускаете через него: уберите префикс `zerobox --` из вызова, и защита исчезнет. Пакет удаляется тем способом, которым ставился, например `npm uninstall -g zerobox` или `pip uninstall zerobox`. Записи снимков чистит команда `zerobox snapshot clean --older-than=<дни>`.

Частые вопросы

Как запустить код от ИИ-агента в песочнице без Docker?

Поставьте Zerobox и выполните `zerobox -- python3 /tmp/task.py`. Запись и сеть будут закрыты. Чтобы скрипт писал в одну папку, добавьте `--allow-write=/tmp/output`.

Как передать ключ API процессу, чтобы он его не видел?

Используйте `--secret OPENAI_API_KEY=sk-... --secret-host OPENAI_API_KEY=api.openai.com`. Внутри песочницы переменная содержит заглушку, а прокси заменяет ее настоящим значением только в запросах к указанному хосту.

Как откатить изменения, которые сделала команда?

Запустите с `--restore`, и отслеживаемые файлы вернутся к состоянию до запуска после выхода. Или запишите изменения через `--snapshot` и позже выполните `zerobox snapshot diff <id>` и `zerobox snapshot restore <id>`.

Чем Zerobox отличается от Docker-песочницы?

Это один двоичный файл без контейнеров и виртуальных машин, он использует механизмы изоляции самой системы. Автор называет накладные расходы около 10 мс, а песочница из Docker поднимает отдельную среду.

Что делать на Ubuntu 24.04, если песочница не запускается?

В этих версиях AppArmor по умолчанию отключает непривилегированные пространства имен, а Bubblewrap на них опирается. Включите их в настройках системы или запускайте с `--strict-sandbox`, чтобы получить явную ошибку вместо тихого отката на слабую изоляцию.

Обсуждение

Вопросов и отзывов пока нет.

Команда safehouse запускает Claude Code, Codex и другие агенты в песочнице macOS: файлы закрыты по умолчанию, нужные папки открываются флагами

CLIРасширенный доступ2,1 тыс.Звезды репозитория

CLI-песочница для AI-агентов без контейнеров и демонов: запускает Claude Code, Codex или OpenCode с ограниченным доступом к файлам, сети и учетным данным

CLIРасширенный доступ4,7 тыс.Звезды репозитория
Официальный

Fence запускает команды и агентов вроде Claude Code в песочнице: сеть блокирована по умолчанию, доступ к файлам и команды задает конфигурация

CLIРасширенный доступ999Звезды репозитория

CLI с политиками, который перехватывает опасные команды AI-агентов вроде rm -rf, force push или чтения .env до их выполнения

CLIРасширенный доступ6 тыс.Звезды репозитория

AgentShield проверяет папку .claude на ключи в открытом виде, широкие разрешения, опасные хуки и небезопасные MCP-серверы и ставит оценку от A до F

CLIРасширенный доступ1,3 тыс.Звезды репозитория

VibeKit запускает Claude Code, Codex и другие CLI-агенты через прокси: вымарывает секреты в ответах, ведет журнал сессий, по флагу прячет агента в Docker

CLIШирокий доступ1,9 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Zerobox (эта запись)нет724
Fenceда999запускает команды и агентов вроде Claude Code в песочнице: сеть закрыта по умолчанию, доступ к файлам и команды задает конфигурация
AIO Sandboxнетключ необязателен6 217Docker-контейнер с браузером, терминалом, файлами, VS Code и MCP-сервисами внутри для изоляции действий агента
2passwordнет305обертка над 1Password CLI

Коротко о README

В репозитории лежат исходники на Rust с отдельными крейтами для снимков, протокола и профилей, пакеты для npm по платформам и SDK для Python. Обзор начинается с таблицы способов установки, примеров запуска и схемы работы песочницы, затем идут разделы о секретах, переменных среды и платформах. В папке `examples` есть три примера агентов с Vercel AI SDK и Vercel Workflow, в `bench` скрипт замеров. Лицензия Apache-2.0.

Бейдж для README

Сообщить о проблеме

Foxx AIZerobox
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.