Deepseek ArtifactsDeepseek Artifacts
Иллюстрированный гайд · обновлено под v0.61.0

Режим песочницы 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

Открыть на YouTube

Gemini CLI: Everything You Need To Know (Full Tutorial)

Канал: lustoykov42:54

Открыть на YouTube

Sandboxing in Gemini CLI — official documentation

Документация: google-gemini/gemini-cli (GitHub)

Открыть на YouTube

Кадры взяты из главы о песочнице курса freeCodeCamp; названия флагов, настроек и профилей сверены с официальной документацией по песочнице и примечаниями к релизу v0.61.0.

Скриншоты: freeCodeCamp.org и lustoykov — использованы как визуальный справочник с указанием авторства; весь текст шагов наш собственный.

Песочница для Gemini CLI, шаг за шагом

Запустите первую сессию в песочнице

  1. 1

    Поймите, что именно изолирует песочница

    Песочница отделяет от хост-системы те операции, из-за которых ИИ-агент становится опасным — шелл-команды, запись файлов, сетевые вызовы. Gemini CLI v0.61.0 (23 сентября 2026) укрепил границы файловой системы песочницы и изолировал состояние рантайма, закрыв пути непрямых промпт-инъекций через build-файлы и недоверенные флаги.

    Course slide explaining that Gemini CLI sandboxing relies on OS-level sandboxing libraries — gVisor and runsc or LXC/LXD on Linux WSL2, Seatbelt on macOS, and Docker or Podman containers
    Где живёт песочница: библиотека изоляции уровня ОС, своя для каждой платформы.Смотреть с 140:00
  2. 2

    Запуститесь сразу в песочнице — одним флагом

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

    Gemini CLI course slide showing the gemini --sandbox launch command next to a terminal footer where a sandbox version chip confirms the session is sandboxed
    Флаг включён, метка в футере появилась — экспресс-проверка за пару секунд.Смотреть с 140:50
  3. 3

    Разберитесь с тремя способами включения — и кто главнее

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

    Official Gemini CLI documentation Sandboxing section listing the three ways to enable the sandbox: the -s flag, the GEMINI_SANDBOX environment variable, or the sandbox setting in settings.json
    Официальная документация перечисляет все три способа в порядке приоритета.Смотреть с 145:45
  4. 4

    Подтвердите в футере, что сессия в песочнице

    Когда CLI поднялся, в строке состояния появляется метка sandbox с версией компонента — рядом с селектором модели. Нет метки — нет песочницы: возвращайтесь и проверяйте, какой флаг или настройка, как вам казалось, её включали.

    Gemini CLI session footer showing the sandbox version chip next to the Auto Gemini 3 model selector while the agent thinks inside the sandbox
    Живая сессия в песочнице: метка стоит рядом с Auto (Gemini 3).Смотреть с 146:40

Выберите бэкенд под свою ОС

  1. 5

    На macOS используйте встроенный Seatbelt

    macOS не требует контейнеров: Gemini CLI оборачивает процесс в Seatbelt (sandbox-exec). Профиль по умолчанию permissive-open ограничивает запись каталогом проекта, оставляя чтение и сеть открытыми. Для ужесточения используйте переменную окружения SEATBELT_PROFILE: permissive-proxied, restrictive-open, restrictive-proxied, strict-open или strict-proxied.

  2. 6

    На Linux или WSL2 встречайте gVisor runsc

    gVisor от Google — рантайм runsc — даёт самую сильную изоляцию: контейнеры работают поверх пользовательского ядра, перехватывающего каждый системный вызов. Выбирайте явно через GEMINI_SANDBOX=runsc или "sandbox": "runsc" (автоопределения нет), и Gemini CLI сам запустит docker run --runtime=runsc.

    Gemini CLI documentation page for the gVisor runsc sandbox backend, the strongest Linux-only isolation that runs containers inside a user-space kernel
    Документация называет runsc самым сильным бэкендом, только для Linux.Смотреть с 141:20
  3. 7

    Установите рантайм runsc

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

    WSL2 Ubuntu terminal in VS Code running sudo apt get install runsc to set up the gVisor runtime for Gemini CLI sandbox mode
    Команда установки набирается в терминале WSL2 Ubuntu.Смотреть с 143:35
  4. 8

    Проверьте, что установка состоялась

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

    apt output finishing the runsc package install on Ubuntu 24.04, the gVisor runtime that backs Gemini CLI sandbox containers on Linux
    apt завершает распаковку runsc на Ubuntu 24.04.Смотреть с 144:15
  5. 9

    Любите контейнеры? Docker или Podman на любой ОС

    Контейнерная песочница работает везде, где живёт Docker или Podman, и оба должны быть установлены и запущены до старта — выполните docker один раз, чтобы убедиться, что CLI отвечает. По умолчанию песочница берёт образ ghcr.io/google/gemini-cli:latest и монтирует рабочую папку по точно такому же абсолютному пути внутри контейнера.

    Docker CLI global options printed in a VS Code terminal to confirm the Docker engine is installed and answering before enabling container-based Gemini CLI sandboxing
    Разовый запуск docker, чтобы убедиться, что движок отвечает.Смотреть с 145:30

Запускайте YOLO без нервов

  1. 10

    Скомпонуйте песочницу с режимом YOLO

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

    Slide introducing Gemini CLI YOLO mode where the --yolo or --approval-mode=yolo flag dangerously skips every permission prompt
    YOLO-режим на одном слайде: без пауз, все разрешения сразу.Смотреть с 148:20
  2. 11

    Убедитесь, что автономные запуски остались в песочнице

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

    Gemini CLI interaction summary in VS Code with the blue YOLO Mode badge glowing in the status footer after an autonomous session
    Плашка 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).

FAQ о песочнице Gemini CLI

Похожие гайды