Режим песочницы Gemini CLI: включение, бэкенды, безопасность YOLO
Иллюстрированный гайд без воды: как запустить Gemini CLI в песочнице через -s, включить её на постоянку, выбрать бэкенд под свою ОС и дать режиму YOLO страховочный трос.
Коротко
- Команда gemini -s запускает сессию целиком — шелл-команды, правки файлов, сетевые запросы — внутри изолированной песочницы; в футере появляется метка sandbox, видно, что она активна.
- Три способа включения применяются по старшинству: флаг -s / --sandbox, переменная окружения GEMINI_SANDBOX, затем "sandbox": true в объекте tools файла settings.json.
- Бэкенд зависит от ОС: macOS — профили Seatbelt (по умолчанию permissive-open), Linux — gVisor runsc для самой сильной изоляции, всё остальное — контейнеры Docker или Podman.
- Режим YOLO (--yolo) пропускает все запросы разрешений — используйте его вместе с песочницей. В v0.61.0 (23 сентября 2026) укрепили границы файловой системы песочницы и изолировали состояние рантайма.
Gemini CLI Essentials – Full Course (sandboxing chapter)
Канал: freeCodeCamp.org3:49:40
Gemini CLI: Everything You Need To Know (Full Tutorial)
Канал: lustoykov42:54
Sandboxing in Gemini CLI — official documentation
Документация: google-gemini/gemini-cli (GitHub)
Кадры взяты из главы о песочнице курса freeCodeCamp; названия флагов, настроек и профилей сверены с официальной документацией по песочнице и примечаниями к релизу v0.61.0.
Скриншоты: freeCodeCamp.org и lustoykov — использованы как визуальный справочник с указанием авторства; весь текст шагов наш собственный.
Песочница для Gemini CLI, шаг за шагом
Запустите первую сессию в песочнице
- 1
Поймите, что именно изолирует песочница
Песочница отделяет от хост-системы те операции, из-за которых ИИ-агент становится опасным — шелл-команды, запись файлов, сетевые вызовы. Gemini CLI v0.61.0 (23 сентября 2026) укрепил границы файловой системы песочницы и изолировал состояние рантайма, закрыв пути непрямых промпт-инъекций через build-файлы и недоверенные флаги.

Где живёт песочница: библиотека изоляции уровня ОС, своя для каждой платформы.Смотреть с 140:00 - 2
Запуститесь сразу в песочнице — одним флагом
Самый быстрый путь — флаг команды: запустите gemini -s (длинная форма --sandbox). Первый запуск может занять минуту: образ песочницы, возможно, придётся скачать. Для разовых задач объедините флаг с промптом: gemini -s -p "analyze the code structure".

Флаг включён, метка в футере появилась — экспресс-проверка за пару секунд.Смотреть с 140:50 - 3
Разберитесь с тремя способами включения — и кто главнее
Gemini CLI разрешает песочницу по приоритету: сперва флаг -s / --sandbox, затем переменная окружения GEMINI_SANDBOX (true, docker, podman, sandbox-exec, runsc или lxc), затем запись "sandbox" в объекте tools вашего settings.json.

Официальная документация перечисляет все три способа в порядке приоритета.Смотреть с 145:45 - 4
Подтвердите в футере, что сессия в песочнице
Когда CLI поднялся, в строке состояния появляется метка sandbox с версией компонента — рядом с селектором модели. Нет метки — нет песочницы: возвращайтесь и проверяйте, какой флаг или настройка, как вам казалось, её включали.

Живая сессия в песочнице: метка стоит рядом с Auto (Gemini 3).Смотреть с 146:40
Выберите бэкенд под свою ОС
- 5
На macOS используйте встроенный Seatbelt
macOS не требует контейнеров: Gemini CLI оборачивает процесс в Seatbelt (sandbox-exec). Профиль по умолчанию permissive-open ограничивает запись каталогом проекта, оставляя чтение и сеть открытыми. Для ужесточения используйте переменную окружения SEATBELT_PROFILE: permissive-proxied, restrictive-open, restrictive-proxied, strict-open или strict-proxied.
- 6
На Linux или WSL2 встречайте gVisor runsc
gVisor от Google — рантайм runsc — даёт самую сильную изоляцию: контейнеры работают поверх пользовательского ядра, перехватывающего каждый системный вызов. Выбирайте явно через GEMINI_SANDBOX=runsc или "sandbox": "runsc" (автоопределения нет), и Gemini CLI сам запустит docker run --runtime=runsc.

Документация называет runsc самым сильным бэкендом, только для Linux.Смотреть с 141:20 - 7
Установите рантайм runsc
В Ubuntu — нативной или внутри WSL2 — рантайм gVisor ставится одной командой apt: sudo apt get install runsc. Docker тоже должен быть установлен и запущен: Gemini CLI гоняет runsc как рантайм Docker, а не как отдельный инструмент.

Команда установки набирается в терминале WSL2 Ubuntu.Смотреть с 143:35 - 8
Проверьте, что установка состоялась
apt распаковывает runsc прямо из репозитория security-обновлений Ubuntu — никаких сторонних PPA. Пропустите этот шаг — и последующий gemini -s на Linux упадёт либо молча откатится на контейнерный бэкенд, так что перед первым запуском убедитесь, что пакет на месте.

apt завершает распаковку runsc на Ubuntu 24.04.Смотреть с 144:15 - 9
Любите контейнеры? Docker или Podman на любой ОС
Контейнерная песочница работает везде, где живёт Docker или Podman, и оба должны быть установлены и запущены до старта — выполните docker один раз, чтобы убедиться, что CLI отвечает. По умолчанию песочница берёт образ ghcr.io/google/gemini-cli:latest и монтирует рабочую папку по точно такому же абсолютному пути внутри контейнера.

Разовый запуск docker, чтобы убедиться, что движок отвечает.Смотреть с 145:30
Запускайте YOLO без нервов
- 10
Скомпонуйте песочницу с режимом YOLO
gemini --yolo (сокращение от --approval-mode=yolo) опасным образом пропускает все запросы разрешений — ровно то, что нужно автономным запускам, и ровно то, для чего сделана песочница. Запускайте YOLO-сессии с флагом песочницы, чтобы пропущенные подтверждения оставались внутри изолированной среды.

YOLO-режим на одном слайде: без пауз, все разрешения сразу.Смотреть с 148:20 - 11
Убедитесь, что автономные запуски остались в песочнице
Во время YOLO-сессий в футере загорается синяя плашка YOLO Mode — сигнал, что подтверждения пропускаются. После запуска сводка /stats покажет, какие инструменты срабатывали, а метка песочницы останется доказательством, что работа шла внутри коробки.

Плашка YOLO Mode в футере завершённой автономной сессии.Смотреть с 147:40
Свои образы песочницы и флаги контейнеров
Образа по умолчанию хватает для обычного кодинга. Когда проекту нужен свой тулчейн — или контейнерное окружение сопротивляется — у Gemini CLI есть четыре ручки.
- 1Укажите любой образ: задайте GEMINI_SANDBOX_IMAGE или используйте объектную форму в settings.json — "sandbox": "command": "docker", "image": "..." (a JSON object). Подойдёт любой образ Docker/Podman с bash внутри.
- 2Соберите свой: положите .gemini/sandbox.Dockerfile в корень проекта и запустите с BUILD_SANDBOX=1 — Gemini CLI соберёт образ автоматически. Автосборка работает только при запуске CLI из исходников; при установке через npm ссылайтесь на готовый образ.
- 3Подкрутите команду контейнера: SANDBOX_FLAGS добавляет флаги docker/podman — например, export SANDBOX_FLAGS="--security-opt label=disable" лечит отказ SELinux монтировать тома в Podman.
- 4Исправьте владельца файлов на Linux: песочница сама отображает права пользователя, но SANDBOX_SET_UID_GID=true принудительно берёт UID/GID хоста, если файлы создаются не от того пользователя.
Запускаете сам Gemini CLI в контейнере и хотите песочницу внутри? Смонтируйте /var/run/docker.sock, чтобы CLI поднимал соседние контейнеры через демон хоста, и сделайте путь рабочей папки в точности равным абсолютному пути на хосте — тома резолвит демон хоста, а не контейнер.
Траблшутинг: ошибки, доступ к файлам, отключение
Почти все беды песочницы сводятся к пяти сценариям. Прежде всего воспроизведите проблему с отладкой: DEBUG=1 gemini -s -p "your prompt".
- 1"Operation not permitted" — команде нужен доступ за пределы песочницы. Перейдите на более мягкий профиль (macOS: SEATBELT_PROFILE) или добавьте нужные монтирования.
- 2Не хватает команд внутри песочницы — запеките инструменты в свой образ или поставьте через sandbox.bashrc. Помните: автосборка BUILD_SANDBOX — только для исходников.
- 3Сеть не работает — проверьте, разрешает ли активный профиль сеть вообще, и сверьте настройки прокси; профили с суффиксом -proxied гонят трафик через прокси песочницы.
- 4Файлы на Linux создаются не от того владельца — переключите SANDBOX_SET_UID_GID (true принудительно берёт UID/GID хоста, false отключает отображение).
- 5Windows оставила файлы с меткой Low integrity — нативная песочница размечает записываемые пути через icacls; верните их командой icacls "C:\path\to\dir" /setintegritylevel Medium.
Хотите знать, что песочнице доступно? Спросите сам CLI: gemini -s -p "run shell command: env | grep SANDBOX" перечислит переменные песочницы, а mount | grep workspace покажет монтирования. Экспортировать файлы не нужно — контейнерная песочница монтирует проект по тому же абсолютному пути, правки сразу попадают в вашу папку. Отключение: уберите флаг -s, снимите GEMINI_SANDBOX или удалите запись "sandbox" из settings.json; у песочницы на уровне инструментов свой выключатель — "security": "toolSandboxing": false (нужен перезапуск CLI).
