Remarque
Les environnements de test locaux pour GitHub Copilot sont en préversion publique et sont susceptibles d’être modifiés.
À propos du bac à sable local
Le bac à sable local exécute les outils qu’un agent appelle pour votre compte à l’intérieur d’un bac à sable du système d’exploitation. Cela réduit l’impact potentiel d’une commande involontaire en limitant l’accès aux fichiers, aux ressources réseau et aux informations d’identification sur votre ordinateur.
Vous configurez le bac à sable local séparément pour chaque projet dans le GitHub Copilot app. La configuration s’applique aux sessions de référentiel local et d’arborescence de travail. Elle ne s’applique pas aux sessions de bac à sable cloud ou aux sessions qui s’exécutent sur un hôte distant.
Une arborescence de travail conserve les branches et les fichiers des sessions simultanées séparées, mais elle ne limite pas ce qu’une commande peut accéder ailleurs sur votre ordinateur. Le bac à sable local fournit cette protection supplémentaire.
Pour obtenir une vue d’ensemble du bac à sable cloud et local pour Copilot, consultez À propos des environnements isolés dans le cloud et locaux pour GitHub Copilot.
Activation du bac à sable local dans un projet
Le bac à sable local est désactivé par défaut. Pour l’activer pour les nouvelles sessions locales dans un projet :
- Ouvrez les paramètres de l’application.
- Sélectionnez le projet que vous souhaitez configurer.
- Sous Bac à sable, activez les Nouvelles sessions de bac à sable.
Le paramètre s’applique aux nouvelles sessions du projet. Elle ne modifie pas une session déjà en cours d’exécution.
Pour la plupart des projets, commencez par la stratégie par défaut. Il prend en charge des tâches de développement courantes telles que l’installation de dépendances, la connexion à un serveur de développement local, le fait de pousser une branche et la création d’une pull request. Ajoutez des restrictions lorsque le projet est en regard de dossiers sensibles, n’a pas besoin d’un accès réseau ou ne doit pas utiliser vos informations d’identification.
Configuration de la stratégie de sandbox d’un projet
Une stratégie de sandbox est un ensemble de règles qui contrôle les fichiers, les réseaux et les informations d’identification auxquels les outils exécutés par l’agent peuvent accéder. Les paramètres du projet décrivent la politique que l’application demande au démarrage d’une session isolée. La stratégie efficace peut être plus restrictive, par exemple lorsque les paramètres gérés par l’entreprise s’appliquent.
Dans les paramètres du projet, vous pouvez configurer :
- Accès au 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.
- Accès réseau : autoriser ou bloquer 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.
Configuration de l’accès au système de fichiers
Par défaut, une session en bac à sable dispose d’un accès en lecture/écriture à son espace de travail et au répertoire de travail actuel. Vous pouvez accorder l’accès à des dossiers supplémentaires ou empêcher l’accès à des dossiers spécifiques.
Dans la section Bac à sable des paramètres du projet, configurez l’une des listes suivantes :
- Lecture/écriture supplémentaire : Dossiers que les outils d’exécution d’agent peuvent lire et modifier.
- En lecture seule supplémentaire : Dossiers que les outils exécutés par l’agent peuvent lire sans pouvoir les modifier.
- Refusé : Dossiers auxquels les outils d’exécution de l’agent ne peuvent pas accéder.
Pour ajouter un dossier, cliquez sur Ajouter un dossier pour la liste appropriée, puis choisissez le dossier. Pour supprimer un dossier, cliquez sur l’icône supprimer en regard de son chemin d’accès.
Un dossier refusé plus spécifique reste refusé lorsqu’un dossier parent plus large a accès en lecture ou en écriture.
Sur Windows, vous pouvez enregistrer un chemin refusé dans les paramètres du projet. Si les fonctionnalités actives du bac à sable Windows ne peuvent pas garantir ce refus, une commande exécutée dans le bac à sable échoue avec un message de stratégie non prise en charge. La commande ne s’exécute pas avec le chemin refusé accessible ou sans bac à sable.
Configuration de l’accès réseau
Par défaut, les sessions en bac à sable peuvent se connecter à Internet et à votre réseau local. Dans la section Bac à sable des paramètres du projet, vous pouvez modifier les paramètres suivants :
- Internet sortant : autorisez les connexions aux services Internet, tels que GitHub les registres de packages.
- Réseau local : autorisez les connexions de bouclage et de réseau local, y compris les connexions aux serveurs de développement locaux.
Les restrictions réseau peuvent affecter l’installation du package, les appels d’API, les serveurs en préversion et d’autres outils qui ont besoin d’une connexion réseau.
Sur Linux, le bac à sable ne peut pas contrôler l’accès au réseau local indépendamment pour les processus générés, tels que les commandes shell et les serveurs MCP locaux ou LSP. Le paramètre s’applique toujours aux opérations in-process, telles que les requêtes web et les connexions MCP distantes.
Configuration des informations d’identification
Par défaut, les opérations Git authentifiées et GitHub CLI sont disponibles dans le bac à sable. Vous pouvez désactiver l’un des paramètres suivants :
- Informations d’identification Git : autoriser les opérations Git HTTPS authentifiées.
- GitHub CLI informations d’identification : autorisez GitHub CLI l’authentification.
La désactivation de l’accès aux informations d’identification peut empêcher les opérations telles que l’envoi (push) d’une branche ou la création d’une demande de tirage à partir de l’intérieur du bac à sable.
Application des modifications de stratégie
Les modifications apportées au système de fichiers, au réseau et aux paramètres d’informations d’identification s’appliquent aux nouvelles sessions ou lorsqu’une session existante redémarre. Ils ne modifient pas la politique d’une session en cours.
Pour redémarrer une session tout en conservant son historique, entrez :
/restart-session
L’application accepte les paramètres de bac à sable avant de vérifier si votre système d’exploitation peut les appliquer. La compatibilité est vérifiée lorsque le premier shell isolé est lancé. Si l’hôte ne peut pas appliquer la stratégie demandée, le shell échoue avec un message d’erreur indiquant une plateforme non prise en charge ou une stratégie non prise en charge, et ne s’exécute pas hors bac à sable. Pour connaître les versions de Windows actuellement prises en charge, consultez Prise en charge du système d’exploitation Windows pour l’isolation en bac à sable de Copilot.
Si l’application affiche le bac à sable non disponible, résolvez le problème signalé, puis cliquez sur Réessayer le bac à sable.
Modification de l’environnement de test pour une session
Pour activer le bac à sable local pour une session active, entrez :
/sandbox on
Pour le désactiver pour cette session, entrez :
/sandbox off
Pendant une session locale active, la commande crée un remplacement persistant pour cette session et l’applique immédiatement. Le remplacement ne modifie pas la valeur par défaut du projet pour d’autres sessions.
Si vous entrez l’une ou l’autre commande avant le démarrage d’une session, la commande modifie la valeur par défaut du projet héritée par les nouvelles sessions.
Lorsque le bac à sable local est désactivé, les commandes d’exécution d’agent peuvent accéder aux mêmes fichiers, réseaux et informations d’identification que votre compte d’utilisateur.
Vous ne pouvez pas utiliser le bac à sable local pour une session de bac à sable cloud ou une session qui s’exécute sur un hôte distant.
Exécution d’un outil hors du sandbox
Si un outil a besoin d’un accès que la politique de bac à sable n’autorise pas, l’application peut afficher le message Exécuter en dehors du bac à sable ? Selon la stratégie effective, vous pouvez :
- Annulez l’opération.
- Exécutez l’opération une fois en dehors du bac à sable.
- Désactivez le mode bac à sable pour le reste de la session en cours et exécutez l’opération.
Si vous désactivez le mode bac à sable depuis cette invite, l’application affiche Mode bac à sable désactivé pour cette session. Cliquez sur Réactiver le bac à sable pour le réactiver.
La désactivation temporaire du sandbox ne modifie ni le paramètre par défaut du projet ni le remplacement de session. Elle se termine lorsque la session redémarre ou se reconnecte.
Le propriétaire de l’entreprise peut empêcher les utilisateurs d’exécuter des outils en dehors du sandbox. Pour plus d’informations, consultez « Paramètres gérés par l’entreprise ».