Présentation
Copilot les sandbox locaux sont la plateforme d’exécution qui alimente les expériences en sandbox sécurisées pour GitHub Copilot CLI et le GitHub Copilot app. À mesure que Copilot effectue davantage d’actions en votre nom — en exécutant des outils, des commandes et en modifiant des fichiers —, le sandboxing offre l’isolation, la portabilité et les contrôles de politique nécessaires pour adopter en toute sécurité des flux de travail agentiques.
Le sandboxing est disponible dans GitHub Copilot CLI et le GitHub Copilot app, mais les deux surfaces l’exposent différemment :
- Dans Copilot CLI, vous contrôlez l’isolation locale (sandboxing) avec les commandes et les paramètres décrits dans cet article.
- Dans le GitHub Copilot app, vous pouvez utiliser le bac à sable local pour les sessions de référentiel local et d’arborescence de travail. Les paramètres du projet définissent les paramètres par défaut des nouvelles sessions locales, et vous pouvez modifier l’isolation d’une session locale active. Pour plus d’informations, consultez « Travailler avec les sessions de l’agent dans l’application GitHub Copilot ».
Les paramètres de bac à sable local sont configurés séparément dans Copilot CLI et dans le GitHub Copilot app. L’activation ou la configuration du bac à sable local dans une surface ne la modifie pas dans l’autre.
Grâce au sandboxing, vous pouvez choisir où Copilot s’exécute :
- Bac à sable local : exécutez Copilot en toute sécurité sur votre propre ordinateur. Les commandes qui s’exécutent Copilot ont un accès restreint à votre système de fichiers, à votre réseau et aux fonctionnalités système. Vous pouvez utiliser le bac à sable local sans frais supplémentaires.
- Exécution isolée dans le cloud : exécutez à distance une session entière Copilot, dans un environnement Linux entièrement isolé et éphémère hébergé par GitHub. Le bac à sable cloud est facturé en fonction de l’utilisation. Pour plus d’informations, consultez « À propos des sandboxs cloud pour GitHub Copilot ».
Sandboxing local
Le bac à sable local permet Copilot de s’exécuter dans un environnement en bac à sable directement sur votre ordinateur, avec un accès restreint à votre système de fichiers, à la connectivité réseau et aux fonctionnalités système. Vous pouvez configurer l’isolation locale dans Copilot CLI ou GitHub Copilot app.
Le bac à sable local est désactivé par défaut. Jusqu’à ce que vous l’activez, les commandes d’interpréteur de commandes qui Copilot s’exécutent directement sur votre ordinateur avec le même accès que votre compte d’utilisateur : elles peuvent lire, écrire et supprimer où que vous puissiez, atteindre n’importe quel réseau auquel votre ordinateur peut accéder et utiliser vos informations d’identification sans restriction. Activer le bac à sable local restreint cet accès selon une politique que vous contrôlez.
Fonctionnement du bac à sable local
Le bac à sable local repose sur Microsoft eXecution Container (MXC), une technologie multiplateforme qui fournit une interface commune aux mécanismes d’isolation disponibles sur chaque système d’exploitation. Copilot CLI déclare la politique de sandbox qu’il veut mettre en œuvre — quels chemins sont accessibles en lecture ou en écriture, si l’accès réseau est autorisé, etc. — et MXC applique cette politique à l’aide du mécanisme d’isolation approprié pour votre système d’exploitation.
Les technologies d’isolation existent sur un spectre, de l’isolation forte, comme les hyperviseurs complets ou les conteneurs, à une isolation plus légère, comme le processus au niveau du système d’exploitation et l’isolement du système de fichiers. Le bac à sable local se situe actuellement parmi les solutions les plus légères de ce spectre : il limite ce qu’un processus peut lire, écrire et ce à quoi il peut accéder sur le réseau, mais il n’exécute pas vos commandes dans une machine virtuelle ou un conteneur distinct. Si vous souhaitez déterminer si ce niveau d’isolation répond à vos exigences de sécurité, consultez le référentiel microsoft/mxc pour plus d’informations sur l’implémentation.
Pour plus d’informations, consultez « Présentation des stratégies de système de fichiers pour le bac à sable local dans GitHub Copilot CLI ».
Activation du bac à sable local
Pour activer le bac à sable local à l’intérieur d’une Copilot CLI session, exécutez :
/sandbox enable
/sandbox enable
Après avoir activé le bac à sable local, les commandes et les outils qu’un agent exécute en votre nom s’exécutent à l’intérieur d’un bac à sable au niveau du système d’exploitation qui limite leur accès à votre système. Cela inclut les commandes shell, la recherche de fichiers et, par défaut, tous les serveurs MCP locaux et les serveurs de langage (LSP).
Copilot continue d’utiliser le bac à sable local, y compris dans les sessions ultérieures, jusqu’à ce que vous exécutiez /sandbox disable pour le désactiver.
Si les paramètres gérés par l’entreprise nécessitent une isolation en bac à sable, les paramètres ordinaires et les options de démarrage ne peuvent pas la désactiver. Si la stratégie effective autorise le contournement du bac à sable, vous pouvez toujours désactiver le bac à sable pour le reste de la session active, à partir d’une invite d’autorisations de contournement ou en exécutant /sandbox disable. Cela ne modifie pas la politique enregistrée.
Les outils de fichiers intégrés de l’interface CLI ( les commandes internes qui font partie de l’interface CLI, plutôt que les commandes shell comme sed) s’exécutent dans l’interface CLI. Étant donné que l’interface CLI elle-même n’est pas en bac à sable, le bac à sable du système d’exploitation ne voit jamais les opérations de fichier effectuées par ces outils et ne peut pas les limiter. Au lieu de cela, les outils intégrés sont conçus pour vérifier eux-mêmes la politique du bac à sable et respecter vos paramètres dans la mesure du possible.
Dans les paramètres du GitHub Copilot appréférentiel, les paramètres définissent la valeur par défaut du bac à sable local pour les nouvelles sessions de référentiel local et d’arborescence de travail. Vous pouvez également modifier l’isolation (sandboxing) pour une session locale active sans modifier la valeur par défaut du référentiel.
Pour plus d’informations sur l’activation du sandboxing local dans Copilot CLI et le Copilot app, consultez Utiliser le sandbox local.
Configuration du bac à sable local
Vous pouvez utiliser le comportement d’isolation local par défaut, ou modifier les éléments auxquels Copilot peut accéder. Les contrôles disponibles dépendent de la surface que vous utilisez.
Dans Copilot CLI, vous pouvez contrôler plusieurs dimensions d’accès :
- Système de fichiers : accorder un accès en lecture seule ou en lecture/écriture à des chemins spécifiques ou refuser des chemins d’accès.
- Réseau : contrôlez l’accès Internet sortant et l’accès au réseau local, ou autorisez et refusez des hôtes spécifiques. Les restrictions disponibles dépendent de votre système d’exploitation.
- Identifiants : activez l’authentification Git et l’authentification GitHub CLI (
gh), ou masquez des variables d’environnement supplémentaires. Les outils en bac à sable reçoivent des placeholders, et un proxy local fournit les informations d’identification réelles uniquement aux destinations HTTPS approuvées. - Sous-processus : indiquez si les serveurs MCP locaux et les serveurs linguistiques s’exécutent également dans le bac à sable. Les serveurs MCP distants ne sont jamais mis en sandbox.
- Trousseau (macOS) : indiquez si le trousseau système est accessible depuis la sandbox.
- Exceptions par commande : autorisez ou empêchez les commandes individuelles de s’exécuter en dehors du bac à sable lorsqu’elles ont besoin d’un accès plus large.
Dans les paramètres du référentiel GitHub Copilot app, un sous-ensemble de ces contrôles est exposé :
- Système de fichiers : accorder un accès en lecture seule ou en lecture/écriture supplémentaire à des chemins d’accès spécifiques ou refuser des chemins d’accès.
- Réseau : autorisez ou bloquez l’accès internet sortant et au réseau local.
- Informations d’identification : indiquez si vos informations d’identification et GitHub CLI Git sont disponibles dans le bac à sable.
L’application peut également vous demander d’approuver une commande individuelle à exécuter en dehors du bac à sable. Vous ne pouvez pas définir si les demandes de contournement sont autorisées dans les paramètres du référentiel. Pour plus d’informations sur la configuration du sandbox local dans l’application ou l’interface CLI, consultez Configuration des paramètres de bac à sable local.
Prise en charge multiplateforme
Le bac à sable local est disponible sur macOS, sur Linux et sur les builds Windows 11 récentes. Chaque système d’exploitation utilise un serveur principal d’isolation différent, de sorte que les exigences sont différentes :
- macOS utilise le back-end de la ceinture de sécurité. Copilot CLI applique à chaque commande mise en sandbox un profil limité au processus. Utilisez macOS 15 (Sequoia) ou version ultérieure. Copilot CLI ne bloque pas un macOS plus ancien, mais le back-end n’est pas testé là-bas.
- Linux utilise le back-end bubblewrap. Installez bubblewrap 0.5.0 ou une version ultérieure, et assurez-vous que
bwrapse trouve dans votrePATH. Si/sandboxindique que votrebwrapest obsolète, mettez à niveau le paquet. Lorsque la stratégie de bac à sable autorise le trafic sortant, vous devez également disposer des options suivantes :slirp4netnssur votrePATH.unshareetnsenterde util-linux 2.35 ou d’une version ultérieure, avec prise en charge de--map-current-useret de--keep-caps.iptables,ip6tableset leurs fichiers binaires de restauration. Utiliseznf_tablesbackend. Le back-end hérité fonctionne également, mais uniquement si vous pouvez écrire dans/run/xtables.lock.- Accès à
/dev/net/tun.
- Windows nécessite une mise à jour récente de Windows 11 qui prend en charge l’isolation en bac à sable. La prise en charge des fonctionnalités telles que les chemins interdits, les connexions localhost et le proxy dépend également de votre version de Windows. Si votre hôte ne peut pas prendre en charge une fonctionnalité demandée, Copilot CLI signale l’exigence au lieu d’exécuter la commande avec des restrictions plus faibles. Consultez les informations de mise à jour de Windows pour le sandboxing de Copilot.
Prise en charge du proxy
Dans Copilot CLI, les règles d’hôte et les paramètres de proxy HTTP utilisent un proxy local intégré. Leur application varie selon le système d’exploitation :
- macOS et Linux : le sandbox limite les connexions sortantes au proxy local. Les programmes qui ignorent les paramètres de proxy ne peuvent pas pour autant se connecter directement. Les exigences Linux pour le trafic sortant répertorié dans la prise en charge multiplateforme s’appliquent également lorsque vous configurez un proxy.
- Windows : les règles de proxy et d’hôte nécessitent une version de Windows prise en charge et que Autoriser le réseau local soit activé. Sur Windows, le bac à sable s’appuie sur des programmes respectant les paramètres de proxy. Par conséquent, ces contrôles ne fournissent pas la même protection contre les connexions directes que sur macOS et Linux.
Dans le GitHub Copilot app, vous pouvez enregistrer les chemins refusés dans les paramètres du référentiel. Si les fonctionnalités de BaseContainer actives ne peuvent pas appliquer un chemin refusé, la commande en bac à sable échoue au lieu d’être exécutée avec une stratégie plus faible ou sans bac à sable.
Sur Linux, bubblewrap ne peut pas contrôler l’accès au réseau local indépendamment pour les processus générés, notamment les commandes shell et les serveurs MCP ou LSP locaux. Le paramètre de réseau local s’applique toujours aux opérations in-process, telles que les requêtes web et les connexions MCP distantes, à la fois dans l’interface CLI et l’application.
Si votre hôte ne prend pas en charge le bac à sable local
Dans Copilot CLI, une préférence utilisateur enregistrée pour activer le bac à sable est désactivée pour la session active si l’hôte ne le prend pas en charge. Une notification explique que les commandes shell et les services s’exécutent sans bac à sable. Votre paramètre enregistré sandbox.enabled reste inchangé. L’exécution /sandbox enable sur un hôte non pris en charge est refusée.
Les paramètres d’entreprise peuvent modifier ce comportement. Sur un hôte non pris en charge, une demande gérée par le serveur pour activer le bac à sable est refusée, sauf si les paramètres managés effectifs définissent également sandbox.failIfUnavailable sur true. Les paramètres gérés par l’appareil peuvent nécessiter une isolation en bac à sable même sur un hôte non pris en charge. Les commandes et les services qui nécessitent un bac à sable échouent plutôt que de s’exécuter sans celui-ci. Quand les paramètres gérés effectifs définissent à la fois sandbox.enabled et sandbox.failIfUnavailable sur true, l’interface CLI bloque les requêtes de modèle et l’exécution d’outils pour la session si elle ne peut pas appliquer l’isolation par bac à sable. Ces exigences peuvent provenir de paramètres gérés par le serveur, de paramètres gérés par l’appareil ou d’une combinaison des deux.
Pour le GitHub Copilot app, sur un hôte qui ne prend pas en charge le bac à sable local, une session configurée pour utiliser le bac à sable local peut démarrer normalement, mais les commandes shell et d’autres processus en bac à sable échouent lorsque Copilot tente de les lancer. GitHub Copilot app conserve la préférence enregistrée, et l’opération échouée indique que le bac à sable (sandbox) n’est pas pris en charge sur la plateforme. Les paramètres gérés par l’appareil peuvent nécessiter ce comportement de fermeture en cas d’échec et bloquer l’exécution du modèle et de l’outil.
Application de la stratégie d’entreprise
Les entreprises peuvent nécessiter un bac à sable local et appliquer sa configuration via des paramètres managés par le serveur, gérés par MDM ou gérés par des fichiers. Consultez « Prise en main des paramètres gérés par l’entreprise ».
Authentification et accès
Le sandboxing utilise votre authentification Copilot existante. Si vous pouvez vous connecter à Copilot CLI ou à Copilot et que vous avez accès à GitHub Copilot app, vous n’avez pas besoin de configurer une authentification distincte pour les options d’isolation disponibles dans cette interface. Vous n’avez pas besoin de configurer un fournisseur de cloud distinct, de gérer des clés API ou de configurer l’infrastructure.
Billing
Le bac à sable local est inclus dans le siège standard GitHub Copilot sans frais supplémentaires.