Примечание.
Облачные и локальные песочницы GitHub Copilot для них находятся и подвергаются Публичный предварительный просмотр изменениям.
Introduction
Copilot облачные и локальные песочницы — это платформа выполнения, обеспечивающая безопасные изолированные возможности и GitHub Copilot CLIGitHub Copilot appвозможности. При Copilot выполнении дополнительных действий от вашего имени — запуска инструментов, выполнения команд и изменения файлов — песочница обеспечивает изоляцию, переносимость и элементы управления политикой, необходимые для безопасного внедрения рабочих процессов агента.
Песочница доступна в обоих GitHub Copilot CLI и GitHub Copilot appдвух поверхностях, но две поверхности предоставляют ее по-разному:
- В Copilot CLIэтом разделе вы управляете как локальным, так и облачным песочницами с помощью команд и параметров, описанных в этой статье.
- В этом GitHub Copilot appслучае можно запустить сеанс в облачной песочнице или использовать локальную песочницу для локального репозитория и рабочих сеансов дерева. параметры Project определяют значение по умолчанию для новых локальных сеансов, и вы можете изменить песочницу для активного локального сеанса. Дополнительные сведения см. в разделе Работа с сессиями агентов в приложении GitHub приложение Copilot.
Локальные параметры песочницы настраиваются отдельно и Copilot CLI в GitHub Copilot app. Включение или настройка локальной песочницы в одной поверхности не изменяет ее в другой.
С помощью песочницы можно выбрать место Copilot выполнения:
- Локальная песочница: безопасное выполнение Copilot на собственном компьютере. Команды, которые Copilot выполняются, имеют ограниченный доступ к файловой системе, сети и системным возможностям. Вы можете использовать локальную песочницу без дополнительной платы.
- Песочница облака: удаленное выполнение всего Copilot сеанса внутри полностью изолированной среды Linux, размещенной GitHubв эфемерной среде Linux. Облачная песочница оценивается по использованию.
Локальная песочница
Примечание.
- В Copilot CLIнастоящее время локальная песочница является экспериментальной функцией. Чтобы использовать его, запустите интерфейс командной строки с параметром
‑‑experimentalкомандной строки или введите/experimental onво время сеанса. - В локальной GitHub Copilot appпесочнице включено Публичный предварительный просмотр и подлежит изменению.
Локальная песочница позволяет Copilot запускать в песочнице непосредственно на вашем компьютере, с ограниченным доступом к вашей файловой системе, сетевому подключению и возможностям системы. Вы можете настроить локальную песочницу в Copilot CLI или в GitHub Copilot app.
Локальная песочница отключена по умолчанию. Пока вы не включите ее, команды оболочки, Copilot которые выполняются непосредственно на компьютере с тем же доступом, что и учетная запись пользователя: они могут читать, записывать и удалять везде, где вы можете, добраться до любой сети, к которой может достичь компьютер, и использовать учетные данные без ограничений. Включение локальной песочницы ограничивает этот доступ к политике, которую вы управляете.
Как работает локальная песочница
Локальная песочница поддерживается Microsoft контейнер eXecution (MXC), кроссплатформенная технология, которая предоставляет общий интерфейс для механизмов изоляции, доступных в каждой операционной системе. Copilot CLI объявляет политику песочницы, которую требуется применить , какие пути доступны для чтения или записи, разрешен ли сетевой доступ и т. д., и MXC применяет эту политику с помощью соответствующей серверной части изоляции для операционной системы.
Технологии изоляции существуют в спектре, от строгой изоляции, таких как полные гипервизоры или контейнеры, до более легкой изоляции, например процесса уровня ОС и хранения файловой системы. Локальная песочница в настоящее время находится на более легком весе в конце этого спектра: она ограничивает процесс чтения, записи и доступа к сети, но не выполняет команды внутри отдельной виртуальной машины или контейнера. Если вы хотите оценить, соответствует ли этот уровень изоляции требованиям безопасности, ознакомьтесь с репозиторием microsoft/mxc для получения сведений о реализации.
Дополнительные сведения см. в разделе Общие сведения о политиках файловой системы для локальной песочницы GitHub Copilot CLI.
Возможность локального песочницы
Чтобы включить локальный песочницу внутри Copilot CLI сессии, запустите:
/sandbox enable
/sandbox enable
После включения локальной песочницы команды и средства, которые агент выполняет от вашего имени, команды оболочки, поиск файлов и серверы MCP и языка (LSP) запускаются в песочнице уровня операционной системы, ограничивая доступ к системе. Интерфейс командной строки продолжает использовать локальную песочницу всякий раз, когда вы используете ИНТЕРФЕЙС командной строки в будущем для программного, а также интерактивного использования, пока не будете запускать /sandbox disable его. Если для управляемых параметров предприятия требуется песочница, обычные параметры, параметры запуска и /sandbox disable не удается отключить его. Если эффективная политика разрешает обход песочницы, вы по-прежнему можете явно отключить песочницу для остальной части текущего сеанса из запроса на активное обходное разрешение.
Встроенные средства файлов интерфейса командной строки — сторонние команды, которые являются частью интерфейса командной строки, а не команды оболочки, такие как sed— выполнение в интерфейсе командной строки. Так как сам интерфейс командной строки не является изолированным, песочница операционной системы никогда не видит операции с файлами, которые выполняются и не могут ограничивать их. Вместо этого встроенные средства кодируются для проверки политики песочницы и учета настроенных параметров на основе лучших усилий.
Дополнительные сведения о включении локальной песочницы см. в Copilot CLIразделе Использование локальной песочницы.
GitHub Copilot appВ параметрах проекта определяются локальные песочницы по умолчанию для нового локального репозитория и рабочих сеансов дерева. Вы также можете изменить песочницу для активного локального сеанса, не изменив значение по умолчанию проекта. Дополнительные сведения см. в разделе Настройка локальной песочницы в приложение Copilot GitHub.
Настройка локальной песочницы
Вы можете использовать поведение локальной песочницы по умолчанию или изменить доступ Copilot . Доступные элементы управления зависят от используемой поверхности.
В Copilot CLIэтом случае можно управлять несколькими измерениями доступа:
- Файловая система: предоставление доступа только для чтения или чтения или записи к определенным путям или запрету путей.
- Сеть: разрешить или заблокировать исходящий доступ к Интернету и локальный сетевой доступ независимо.
- Учетные данные. Выберите, доступны ли учетные данные Git и GitHub CLI (
gh) в песочнице. - Подпроцессы. Выберите, выполняются ли локальные серверы MCP и языковые серверы в песочнице. Удаленные серверы MCP никогда не песочницы.
- Цепочка ключей (macOS): выберите, доступен ли системная цепочка ключей из песочницы.
- Исключения для каждой команды: разрешить или запретить выполнение отдельных команд за пределами песочницы, когда им нужен более широкий доступ.
Дополнительные сведения о настройке параметров локальной песочницы см. в Copilot CLIразделе Настройка локальных настроек песочницы.
GitHub Copilot appВ параметрах проекта предоставляется подмножество этих элементов управления:
- Файловая система: предоставление дополнительного доступа только для чтения или чтения или записи к определенным путям или запрету путей.
- Сеть: разрешить или заблокировать исходящий доступ к Интернету и локальной сети.
- Учетные данные. Выберите, доступны ли Git и GitHub CLI учетные данные в песочнице.
Приложение также может попросить вас утвердить отдельную команду для выполнения за пределами песочницы. Невозможно настроить, разрешены ли запросы обхода в параметрах проекта. Дополнительные сведения о настройке политики проекта и изменении песочницы для активного локального сеанса см. в разделе Настройка локальной песочницы в приложение Copilot GitHub.
Кроссплатформенная поддержка
Локальная песочница доступна в macOS, в Linux и в последних Windows 11 сборках. Каждая операционная система использует другую серверную часть изоляции, поэтому требования отличаются:
- macOS использует серверную часть Seatbelt. Copilot CLI Применяет профиль области процесса к каждой изолированной команде. Используйте macOS 15 (Sequoia) или более поздней версии. Copilot CLI не блокирует более старый macOS, но серверная часть не проверяется там.
- Linux использует серверную часть bubblewrap. Установите bubblewrap 0.5.0 или более поздней версии и убедитесь, что
bwrapна вашем компьютереPATH. Если/sandboxвы сообщаете, что вашbwrapпакет слишком старый, обновите пакет. Если политика песочницы разрешает исходящий трафик, необходимо также:slirp4netnsна вашемPATH.unshareиnsenterиз util-linux 2.35 или более поздней версии с--map-current-userподдержкой.--keep-capsiptables,ip6tablesи их двоичные файлы восстановления. Используйте сервернуюnf_tablesчасть. Устаревшая серверная часть также работает, но только в том случае, если вы можете написать/run/xtables.lock.- Доступ к
/dev/net/tun.
- Windows использует уровень BaseContainer серверной части ProcessContainer. Copilot CLI не использует резервные уровни AppContainer. Если сборка Windows не может предоставить BaseContainer, сообщает, Copilot CLI что песочница не поддерживается. Сведения о поддерживаемых версиях Windows см. в разделе Windows поддержка ОС для Copilot песочницы.
Поддержка прокси-сервера
Прокси-сервер песочницы работает по-разному в каждой операционной системе:
- macOS: Copilot CLI не предоставляет прокси-сервер в Seatbelt. Вместо этого он задает
HTTP_PROXYиALL_PROXY``HTTPS_PROXYв изолированной среде. Только программы, которые подчиняются этим переменным, используют прокси-сервер. Программа, которая игнорирует их подключение напрямую. - Linux: bubblewrap принудительно применяет прокси-сервер. Песочница получает пространство имен частной сети, и разрешена только конечная точка прокси-сервера. Требования Linux к исходящему трафику, перечисленным в кроссплатформенной поддержке , также применяются при настройке вышестоящего прокси-сервера. Прокси-сервер должен иметь IPv4-адрес, так как Copilot CLI отказывается от прокси-сервера, который может достичь только IPv6. URL-адрес прокси-сервера не должен содержать учетные данные, поэтому предоставьте учетные данные самому прокси-серверу.
- Windows: прокси-сервер недоступен. В Copilot CLIпротивном случае не используйте запрещенные пути. Если политика песочницы CLI включает любой параметр, команда песочницы завершается ошибкой. В этом GitHub Copilot appразделе можно сохранить запрещенные пути в параметрах проекта. Если активные возможности BaseContainer не могут применить запрещенный путь, команда песочницы завершается ошибкой, а не работает с более слабой политикой или без песочницы.
В Linux bubblewrap не может управлять доступом к локальной сети независимо для разреженных процессов, включая команды оболочки и локальные серверы MCP или LSP. В параметре GitHub Copilot appлокальной сети по-прежнему применяется к операциям внутри процесса, таким как веб-запросы и удаленные подключения MCP.
Если узел не поддерживает локальную песочницу
В Copilot CLIслучае отключения песочницы для сеанса отображается уведомление. Затем команды оболочки и изолированные службы выполняются без песочницы, а параметр sandbox.enabled не изменяется. Если ваше предприятие применяет песочницу с помощью параметров, управляемых устройством, сеанс завершается сбоем. Изолированные команды не выполняются.
GitHub Copilot appВ поддержку узла проверяется при запуске первой изолированной оболочки. Если узел не может применить запрошенную политику, оболочка завершается ошибкой с сообщением о неподдерживаемой платформе или неподдерживаемой политике и не выполняет отмену блокировки.
Применение корпоративной политики
Предприятия могут требовать локальную песочницу и применять ее конфигурацию с помощью управляемых сервером, MDM-управляемых или файловых параметров. См . раздел AUTOTITLE.
Изоляция в облаке
Облачная песочница позволяет запускать сеансы в полностью изолированных средах Linux, размещенных в GitHubэфемерных средах Linux. Вы можете использовать облачную песочницу из обоих Copilot CLI и .GitHub Copilot app Каждая сессия облачной песочницы изолирована от вашей локальной среды и от других сессий.
Облачная песочница построена на Контейнеры приложений Azure песочницах, где GitHub обеспечивает уровень идентификации, политики и биллинга.
Примечание.
Если вы получаете Copilot доступ к облачной песочнице, доступ к облачной песочнице зависит от включения в параметрах организации или предприятия, где он отключен по умолчанию. Дополнительные сведения см. в разделе Включение или отключение облачных песочниц для организации или предприятия.
Запуск сессии облачной песочницы
Чтобы начать облачную сессию, выполните следующую команду:
copilot ‑‑cloud ‑‑experimental
copilot ‑‑cloud ‑‑experimental
Примечание.
Облачная песочница в настоящее время является экспериментальной функцией. Чтобы использовать его, необходимо включить Copilot CLIэкспериментальные функции, например с помощью ‑‑experimental параметра командной строки при запуске сеанса CLI, как показано выше.
Параметр ‑‑cloud командной строки запускает интерактивный Copilot CLI сеанс в облачной песочнице. Вы можете отправлять запросы Copilot на выполнение задач, выполнять команды shell и итерировать код, так же, как в локальной сессии. Команды, которые Copilot выполняются, выполняются в облачной среде, а не на вашем локальном компьютере.
Запуск copilot ‑‑cloud запускает один Copilot CLI сеанс в облачной песочнице. Это не влияет на будущие Copilot сеансы. Каждый раз, когда вы хотите запустить новый сеанс в облачной песочнице, необходимо запустить интерфейс командной строки с параметром ‑‑cloud .
Примечание.
Песочница облака доступна только для интерактивных Copilot CLI сеансов. Вы не можете выполнять ИНТЕРФЕЙС командной строки программным способом в облачной песочнице, т. е. невозможно объединить ‑‑cloud этот параметр с -p параметрами или -i параметрами.
В этом GitHub Copilot appслучае команда не используется для запуска сеанса облачной песочницы. Вместо этого при создании нового сеанса выберите параметр облачной песочницы. Дополнительные сведения см. в разделе Работа с сессиями агентов в приложении GitHub приложение Copilot.
Продолжайте сессии на разных устройствах
Поскольку облачные песочницы проходят в GitHub-hosted инфраструктуре, вы можете зарегистрировать Copilot сессию на любом устройстве, независимо от того, где она была изначально начата. Это обеспечивает более гибкие рабочие процессы без необходимости копировать файлы или переустанавливать зависимости.
Разгрузка вычислительных рабочих процессов
Вы можете выполнять несколько Copilot задач параллельно в облаке, не тратя локальные ресурсы. Это делает вашу локальную среду лёгкой и отзывчивой, одновременно масштабируя работу, управляемую агентами.
Единое управление
Политики облачных песочниц имеют ту же конфигурацию, что Copilot cloud agent и политики, расширяя существующие меры безопасности на выполнение в облаке песочницы без дополнительной настройки.
Жизненный цикл сеанса
Облачная песочница-сессия имеет три основных состояния:
- Активный: сеанс выполняется, и вы взаимодействуете с ним или Copilot CLIGitHub Copilot appс ним.
- Остановлено: Сессия в данный момент не работает, но её состояние сохранено. Когда вы возобновляете процесс, ваши файлы, переменные среды и текущая работа восстанавливаются.
- Удалено: Сессия и её сохранённое состояние удалены и не могут быть восстановлены.
Когда вы останавливаете сессию, облачная песочница создаёт снимок её состояния, чтобы вы могли продолжить с того места, где остановились. При удалении сессии удаляются и рабочая среда, и снимок.
Проверка подлинности и доступ
Песочница использует существующую Copilot проверку подлинности. Если вы можете войти Copilot CLI в систему или GitHub Copilot app получить доступ Copilotк ней, вам не нужно настраивать отдельную проверку подлинности для параметров песочницы, доступных в этой области. Вам не нужно настраивать отдельного облачного провайдера, управлять ключами API или настраивать инфраструктуру.
Владелец организации или предприятия должен включить политику доступа к облачной песочнице в организации или корпоративных параметрах, прежде чем участники смогут использовать облачные песочницы.
Сведения о включении или отключении облачных песочниц для членов вашей организации см. в разделе Включение или отключение облачных песочниц для организации или предприятия.
Выставление счетов
В стандартном GitHub Copilot кресле предусмотрена местная песочница без дополнительной платы.
Облачная песочница оценивается по использованию. GitHub Измеряет использование облачной песочницы по трём метрам:
| Метр | Description | Единица | Цена (USD) |
|---|---|---|---|
| Compute | Время запускать облачную песочницу. | Вычислить секунду | $0.000024 |
| Memory | Память выделена для облачной песочницы во время её работы. | GiB — второй | $0.000003 |
| Storage | Хранилище снимков для остановленных сессий. | Месяц GiB | $0,005 |
Для получения дополнительной информации о том, как измеряется и выставляет счета использование облачных песочниц, см. Выставление счетов за облачные и локальные песочницы GitHub Copilot.