Skip to main content
Skip to content

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

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

Introduction

Copilot локальные песочницы — это платформа выполнения, обеспечивающая безопасные изолированные возможности и GitHub Copilot CLI возможности GitHub 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. Облачная песочница оценивается по использованию. Дополнительные сведения см. в разделе Сведения об облачных песочницах для GitHub Copilot.

Локальная песочница

Локальная песочница позволяет 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 appпесочницы см. в Copilot CLI разделе Использование локальной песочницы.

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

Вы можете использовать поведение локальной песочницы по умолчанию или изменить доступ 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.

Проверка подлинности и доступ

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

Выставление счетов

В стандартном GitHub Copilot кресле предусмотрена местная песочница без дополнительной платы.

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