Skip to main content
Skip to content

Сведения об облачных и локальных песочницах для GitHub Copilot

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

Примечание.

Облачные песочницы для 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 запускать в песочнице непосредственно на вашем компьютере, с ограниченным доступом к вашей файловой системе, сетевому подключению и возможностям системы. Вы можете настроить локальную песочницу в Copilot CLI или в GitHub Copilot app.

Локальная песочница отключена по умолчанию. Пока вы не включите ее, команды оболочки, Copilot которые выполняются непосредственно на компьютере с тем же доступом, что и учетная запись пользователя: они могут читать, записывать и удалять везде, где вы можете, добраться до любой сети, к которой может достичь компьютер, и использовать учетные данные без ограничений. Включение локальной песочницы ограничивает этот доступ к политике, которую вы управляете.

Как работает локальная песочница

Локальная песочница поддерживается Microsoft контейнер eXecution (MXC), кроссплатформенная технология, которая предоставляет общий интерфейс для механизмов изоляции, доступных в каждой операционной системе. Copilot CLI объявляет политику песочницы, которую требуется применить , какие пути доступны для чтения или записи, разрешен ли сетевой доступ и т. д., и MXC применяет эту политику с помощью соответствующей серверной части изоляции для операционной системы.

Технологии изоляции существуют в спектре, от строгой изоляции, таких как полные гипервизоры или контейнеры, до более легкой изоляции, например процесса уровня ОС и хранения файловой системы. Локальная песочница в настоящее время находится на более легком весе в конце этого спектра: она ограничивает процесс чтения, записи и доступа к сети, но не выполняет команды внутри отдельной виртуальной машины или контейнера. Если вы хотите оценить, соответствует ли этот уровень изоляции требованиям безопасности, ознакомьтесь с репозиторием microsoft/mxc для получения сведений о реализации.

Дополнительные сведения см. в разделе Общие сведения о политиках файловой системы для локальной песочницы GitHub Copilot CLI.

Возможность локального песочницы

Чтобы включить локальный песочницу внутри Copilot CLI сессии, запустите:

Shell
/sandbox enable

После включения локальной песочницы команды и средства, выполняемые агентом от вашего имени, выполняются в песочнице уровня операционной системы, которая ограничивает доступ к системе. К ним относятся команды оболочки, поиск файлов и, по умолчанию, все локальные серверы MCP и языка (LSP). Copilot продолжает использовать локальную песочницу, в том числе в будущих сеансах, пока не будет /sandbox disable выполнено его отключение.

Если для управляемых параметров предприятия требуется песочница, обычные параметры и параметры запуска не могут отключить его. Если эффективная политика разрешает обход песочницы, вы по-прежнему можете отключить песочницу для остальной части текущего сеанса либо из запроса на обход разрешений, либо путем выполнения /sandbox disable. Это не изменяет сохраненную политику.

Встроенные средства файлов интерфейса командной строки — сторонние команды, которые являются частью интерфейса командной строки, а не команды оболочки, такие как sed— выполнение в интерфейсе командной строки. Так как сам интерфейс командной строки не является изолированным, песочница операционной системы никогда не видит операции с файлами, которые выполняются и не могут ограничивать их. Вместо этого встроенные средства кодируются для проверки политики песочницы и учета настроенных параметров на основе лучших усилий.

GitHub Copilot appВ параметрах проекта определяются локальные песочницы по умолчанию для нового локального репозитория и рабочих сеансов дерева. Вы также можете изменить песочницу для активного локального сеанса, не изменив значение по умолчанию проекта.

Дополнительные сведения о включении локальной Copilot CLIпесочницы см. в Copilot app разделе Использование локальной песочницы.

Настройка локальной песочницы

Вы можете использовать поведение локальной песочницы по умолчанию или изменить доступ Copilot . Доступные элементы управления зависят от используемой поверхности.

В Copilot CLIэтом случае можно управлять несколькими измерениями доступа:

  • Файловая система: предоставление доступа только для чтения или чтения или записи к определенным путям или запрету путей.
  • Сеть: управляйте исходящим доступом к Интернету и локальным сетевым доступом или разрешайте и запрещайте определенные узлы. Доступные ограничения зависят от операционной системы.
  • Учетные данные: включение проверки подлинности Git и GitHub CLI (gh) или маскирование дополнительных переменных среды. Изолированные средства получают заполнители, а локальный прокси-сервер предоставляет реальные учетные данные только утвержденным назначениям HTTPS.
  • Подпроцессы. Выберите, выполняются ли локальные серверы MCP и языковые серверы в песочнице. Удаленные серверы MCP никогда не песочницы.
  • Цепочка ключей (macOS): выберите, доступен ли системная цепочка ключей из песочницы.
  • Исключения для каждой команды: разрешить или запретить выполнение отдельных команд за пределами песочницы, когда им нужен более широкий доступ.

GitHub Copilot appВ параметрах проекта предоставляется подмножество этих элементов управления:

  • Файловая система: предоставление дополнительного доступа только для чтения или чтения или записи к определенным путям или запрету путей.
  • Сеть: разрешить или заблокировать исходящий доступ к Интернету и локальной сети.
  • Учетные данные. Выберите, доступны ли Git и GitHub CLI учетные данные в песочнице.

Приложение также может попросить вас утвердить отдельную команду для выполнения за пределами песочницы. Невозможно настроить, разрешены ли запросы обхода в параметрах проекта. Дополнительные сведения о настройке локальной песочницы в приложении или интерфейсе командной строки см. в разделе Настройка локальных настроек песочницы.

Кроссплатформенная поддержка

Локальная песочница доступна в 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-caps
    • iptables, ip6tablesи их двоичные файлы восстановления. Используйте серверную nf_tables часть. Устаревшая серверная часть также работает, но только в том случае, если вы можете написать /run/xtables.lock.
    • Доступ к /dev/net/tun.
  • Windows требуется последнее обновление Windows 11, поддерживающее песочницу. Поддержка таких функций, как запрещенные пути, подключения localhost и прокси-сервер также зависят от версии Windows. Если узел не может поддерживать запрошенную функцию, Copilot CLI сообщает требование вместо выполнения команды с более слабыми ограничениями. Сведения об обновлении Copilot песочницы см. в Windows.

Поддержка прокси-сервера

В Copilot CLIправилах узла и параметрах прокси-сервера HTTP используются встроенный локальный прокси-сервер. Их применение отличается операционной системой:

  • macOS и Linux: песочница ограничивает исходящие подключения к локальному прокси-серверу. Программы, которые игнорируют параметры прокси-сервера, не могут подключаться напрямую. Требования Linux к исходящему трафику, перечисленным в кроссплатформенной поддержке , также применяются при настройке прокси-сервера.
  • Windows. Правила прокси-сервера и узла требуют поддерживаемой версии Windows и включения локальной сети. В Windows песочница зависит от программ с учетом параметров прокси-сервера. В результате эти элементы управления не обеспечивают ту же защиту от прямых подключений, что и в macOS и Linux.

В этом GitHub Copilot appразделе можно сохранить запрещенные пути в параметрах проекта. Если активные возможности BaseContainer не могут применить запрещенный путь, команда песочницы завершается ошибкой, а не работает с более слабой политикой или без песочницы.

В Linux bubblewrap не может управлять доступом к локальной сети независимо для разреженных процессов, включая команды оболочки и локальные серверы MCP или LSP. Параметр локальной сети по-прежнему применяется к операциям внутри процесса, таким как веб-запросы и удаленные подключения MCP, как в интерфейсе командной строки, так и в приложении.

Если узел не поддерживает локальную песочницу

В Copilot CLIслучае отключения песочницы для текущего сеанса сохраненные предпочтения пользователя, если узел не поддерживает его. Уведомление объясняет, что команды оболочки и службы будут выполняться без песочницы. Сохраненный sandbox.enabled параметр остается неизменным. Выполнение /sandbox enable на неподдерживаемом узле отказано.

Параметры предприятия могут изменить это поведение. На неподдерживаемом узле запрос, управляемый сервером, чтобы включить песочницу, отклоняется, если только действующие управляемые параметры также не заданы sandbox.failIfUnavailable``true. Управляемые устройством параметры могут требовать песочницы даже на неподдерживаемом узле. Команды и службы, требующие песочницы, затем завершаются ошибкой, а не выполняются без него. Если эффективные управляемые параметры задают sandbox.enabled``sandbox.failIfUnavailable``trueоба параметра и, интерфейс командной строки блокирует запросы модели и выполнение инструментов для сеанса, если он не может применять песочницу. Эти требования могут поступать из параметров, управляемых сервером, параметров, управляемых устройством, или сочетания обоих.

GitHub Copilot appДля узла, который не поддерживает локальную песочницу, сеанс, настроенный для использования локальной песочницы, может запускаться обычно, но команды оболочки и другие изолированные процессы завершаются сбоем при Copilot попытке их запуска. Сохраняет GitHub Copilot app сохраненные предпочтения и сообщает о неудачной операции, что песочница не поддерживается на платформе. Для параметров, управляемых устройством, может потребоваться такое поведение сбоем и может блокироваться модель и выполнение инструментов.

Применение корпоративной политики

Предприятия могут требовать локальную песочницу и применять ее конфигурацию с помощью управляемых сервером, MDM-управляемых или файловых параметров. См . раздел AUTOTITLE.

Изоляция в облаке

Облачная песочница позволяет запускать сеансы в полностью изолированных средах Linux, размещенных в GitHubэфемерных средах Linux. Вы можете использовать облачную песочницу из обоих Copilot CLI и .GitHub Copilot app Каждая сессия облачной песочницы изолирована от вашей локальной среды и от других сессий.

Облачная песочница построена на Контейнеры приложений Azure песочницах, где GitHub обеспечивает уровень идентификации, политики и биллинга.

Примечание.

Если вы получаете Copilot доступ к облачной песочнице, доступ к облачной песочнице зависит от включения в параметрах организации или предприятия, где он отключен по умолчанию. Дополнительные сведения см. в разделе Включение или отключение облачных песочниц для организации или предприятия.

Запуск сессии облачной песочницы

Чтобы начать облачную сессию, выполните следующую команду:

Shell
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.

Дополнительные материалы