
Développement web · Agents IA
Depuis le 7 octobre 2026, protégez l'exécution des agents Copilot : configuration pas à pas, tests de refus et reprise des sessions Codex.
Disponible en version stable depuis le 7 octobre 2026, VS Code 1.141 introduit une évolution concrète dans le travail avec les agents de développement : les outils du Copilot Agent Host peuvent désormais être exécutés dans une sandbox sur Windows, macOS et Linux. Elle contrôle les fichiers et ressources réseau accessibles lorsqu'un agent lance des commandes, au lieu de compter uniquement sur un message de confirmation.
Le même jour, GitHub a annoncé la disponibilité générale du sandboxing local Copilot dans Copilot CLI, l'application Copilot et les sessions VS Code utilisant Agent Host, sans coût additionnel dans Copilot. Attention cependant : les prérequis diffèrent selon les plateformes, et le support Windows est encore décrit comme expérimental dans la documentation VS Code. Ce guide propose une configuration testable, du dépôt courant aux fichiers sensibles, puis montre comment reprendre plusieurs discussions Copilot et Codex.
La sandbox apporte une restriction réelle aux opérations prises en charge par l'Agent Host, dont les commandes et leurs processus enfants. Elle est désactivée par défaut ; surtout, l'activer ne coupe pas automatiquement Internet. Répertoires, identifiants, accès réseau et possibilités d'exécution hors sandbox se règlent séparément.
Un agent peut installer des dépendances, explorer un dépôt, modifier des fichiers ou exécuter un script. Sans politique explicite, ces actions peuvent accéder à des ressources plus larges que nécessaire. Dans VS Code 1.141, la sandbox du Copilot Agent Host combine des restrictions du système d'exploitation et des contrôles propres à l'hôte de l'agent. On peut distinguer les chemins accessibles en lecture/écriture, en lecture seule et interdits, tout en gérant le réseau, l'accès à Git, aux identifiants GitHub CLI et, lorsqu'ils sont gérés par Agent Host, aux serveurs MCP et serveurs de langage.
Approbations et sandbox ne sont pas équivalentes : l'approbation décide si l'action peut démarrer ; la sandbox détermine les ressources qu'elle peut utiliser. Dans une session distante, ces limitations s'appliquent sur l'hôte qui exécute les outils, et les chemins configurés sont ceux de cet hôte, pas nécessairement ceux de votre ordinateur local.
bubblewrap et socat sur l'hôte d'exécution. Sur Debian ou Ubuntu : sudo apt-get install bubblewrap socat. WSL1 n'est pas compatible.Ce tutoriel concerne la sandbox des opérations exécutées par Copilot Agent Host. L'import d'une conversation Codex dans l'interface ne signifie pas que son exécution est automatiquement régie par cette même politique.
"chat.agent.sandbox.enabled": "on" ; les valeurs acceptées sont on et off, et non des booléens./sandbox policy dans le chat Agent Host. Le rapport ouvert par VS Code précise si la sandbox est active, quel système l'applique, et quelles autorisations de fichiers et de réseau sont effectives.Le répertoire de travail courant dispose automatiquement des autorisations de lecture et écriture. Il faut donc ouvrir uniquement le dépôt concerné, plutôt que de donner accès à tout le répertoire utilisateur. Le rapport de politique permet de repérer les concessions implicites et les éventuelles règles de l'organisation.
Voici un exemple volontairement restrictif à placer dans le settings.json de l'hôte d'exécution. Il suppose que le dossier /Users/dev/projets/mon-app est ouvert comme répertoire de travail. Remplacez tous les chemins absolus par les vôtres : les exemples ci-dessous sont au format macOS et doivent être adaptés à Linux ou Windows.
{
"chat.agent.sandbox.enabled": "on",
"chat.agent.sandbox.fileSystem.userConfiguredPaths": {
"deniedPaths": [
"/Users/dev/.ssh",
"/Users/dev/projets/mon-app/.env",
"/Users/dev/projets/mon-app/.sandbox-demo-secret"
]
},
"chat.agent.sandbox.fileSystem.allowDevToolAccess": false,
"chat.agent.sandbox.network.allowNetwork": false,
"chat.agent.sandbox.network.allowLocalNetwork": false,
"chat.agent.sandbox.credentials.authenticategit": false,
"chat.agent.sandbox.credentials.authenticategh": false,
"chat.agent.sandbox.allowUnsandboxedCommands": false
}
Dans cette configuration, le dépôt courant demeure accessible pour les modifications de code, mais .ssh, .env et un fichier de test factice sont explicitement interdits. Le paramètre allowDevToolAccess: false retire les autorisations implicites sur certains outils, caches et configurations de développement ; il peut donc empêcher des installations ou compilations. N'ajoutez ensuite que les chemins strictement nécessaires, après contrôle dans /sandbox policy.
Le réseau sortant et le réseau local sont désactivés ; les mécanismes d'accès aux identifiants Git et à gh sont également coupés. Enfin, allowUnsandboxedCommands: false empêche l'agent de proposer une exécution hors sandbox lorsqu'une commande est refusée. Avec la valeur par défaut true, un tel contournement peut être demandé avec confirmation : il faut en comprendre les conséquences avant de l'autoriser.
Les fichiers .env, clés ou jetons rangés dans le projet ne sont pas protégés par le seul fait d'être ignorés par Git. Les restrictions de chemins doivent les couvrir explicitement. Sur Windows, ne supposez pas qu'une règle est effective sans l'avoir testée : certaines capacités restent expérimentales.
Pour vérifier le résultat sans risquer d'exposer une vraie clé, créer manuellement dans le dépôt un fichier .sandbox-demo-secret ne contenant qu'un texte fictif, et s'assurer que son chemin figure bien dans deniedPaths. Ensuite, depuis le chat de l'agent — pas depuis le terminal classique de VS Code — demander les actions suivantes :
.sandbox-test-ok.txt à la racine du dépôt. L'opération devrait réussir, car le dossier de travail dispose d'un accès en écriture..sandbox-demo-secret. L'accès devrait être refusé, sans afficher le contenu fictif.curl -I https://example.com. Avec allowNetwork: false, la requête sortante devrait échouer./sandbox policy et comparer les règles annoncées au comportement observé. Si un accès interdit fonctionne, arrêter le test et vérifier l'hôte, le moteur utilisé et ses paramètres.Le texte exact des erreurs varie selon la plateforme. L'objectif est d'obtenir un refus réel, pas un message particulier. Une fois les essais terminés, supprimer les fichiers de test. Évitez d'utiliser de vraies données sensibles comme appâts.
Un build peut avoir besoin du registre npm ou d'une API GitHub. Si le réseau doit être réactivé, mieux vaut définir des destinations explicites que rouvrir toutes les connexions. Exemple de remplacement des clés réseau précédentes :
{
"chat.agent.sandbox.network.allowNetwork": true,
"chat.agent.sandbox.network.allowedDomains": [
"registry.npmjs.org",
"api.github.com"
]
}
Ces domaines sont des exemples : vérifiez ceux dont le projet a réellement besoin. L'accès au réseau local reste une autorisation distincte. Attention : sous Windows, un proxy, un filtrage par nom d'hôte ou un masquage d'identifiants peut exiger l'activation du réseau local, ce qui élargit la surface d'accès. Vérifiez les limitations de votre plateforme avant de l'adopter.
Pour les serveurs lancés ou gérés par Agent Host, les réglages chat.agent.sandbox.mcpServers et chat.agent.sandbox.lspServers permettent de maintenir le confinement lorsqu'il est disponible. Un serveur MCP lancé indépendamment de l'Agent Host n'entre pas automatiquement dans ce périmètre.
VS Code 1.141 améliore également le suivi de plusieurs agents. La fenêtre Agents détecte les conversations externes créées dans Copilot CLI et l'application Copilot dès leur activité, puis permet de les ouvrir et de les poursuivre. Elle peut aussi reprendre des échanges commencés dans Codex CLI ou l'application ChatGPT/Codex locale, avec leur historique, lorsque Codex est activé.
Les politiques ne sont pas universelles : Copilot CLI dispose de sa propre commande /sandbox, l'application Copilot possède des réglages par projet et VS Code Agent Host utilise ses paramètres d'hôte. Changer les droits dans une application ne configure pas automatiquement les autres. Reprendre un chat Codex dans VS Code ne garantit pas non plus que ses commandes respectent la sandbox du moteur Copilot.
Microsoft rappelle que la sandbox ajoute une couche de protection mais ne constitue pas, à elle seule, une frontière de sécurité complète. Les processus s'exécutent toujours sur l'hôte, sous le compte de l'utilisateur. Certaines restrictions reposent sur des contrôles intégrés à l'agent plutôt que sur une isolation purement système. Cela ne remplace ni les mises à jour, ni une gestion stricte des identifiants, ni la revue des commandes et des modifications.
La GA annoncée par GitHub le 7 octobre 2026 représente une étape importante, mais ne gomme pas les prérequis systèmes, les limites expérimentales sous Windows et les particularités des politiques d'entreprise. Pour exécuter des dépendances très peu fiables, une VM ou un Dev Container peut rester nécessaire en complément de la sandbox locale.
/sandbox policy.Communications et documentations consultées pour les réglages et les limitations :
DÉVELOPPEMENT WEB
Migration PHP, mise à jour de CMS ou évolution de framework : identifiez les points de compatibilité et validez les parcours essentiels avant la mise en ligne.
Saisissez au moins 2 caractères pour lancer la recherche.