← Retour aux actualités
Le sandboxing local de l'application GitHub Copilot renforce la sécurité des agents de codage

Photo: Benh LIEU SONG / Wikimedia Commons (CC BY-SA 4.0)

29/09/2026

Le sandboxing local de l'application GitHub Copilot renforce la sécurité des agents de codage

Un agent utile a besoin d'une marge de manœuvre, mais pas d'une confiance illimitée

La mise à jour la plus intéressante de GitHub Copilot cette semaine n’est pas simplement une nouvelle mise à niveau du modèle : il s’agit de la fonctionnalité de « sandboxing » local dans l’application GitHub Copilot. Pour un développeur logiciel expérimenté, c’est le genre de fonctionnalité qui transforme un agent de codage, passant d’une simple démo impressionnante à un outil que l’on peut utiliser de manière responsable au sein d’un véritable dépôt. L’agent peut inspecter le projet, modifier des fichiers, exécuter des commandes et aider à préparer une pull request, mais son accès au système de fichiers, au réseau et aux identifiants peut être limité par une politique explicite.

GitHub décrit le « local sandboxing » comme une fonctionnalité en préversion publique pour les sessions locales dans l’application Copilot. Elle est désactivée par défaut. Vous pouvez l’activer projet par projet dans les paramètres de l’application, ou pour une session locale en cours à l’aide de la /sandbox on commande « slash ». Lorsqu’une session en sandbox démarre, les outils invoqués par l’agent s’exécutent au sein d’une sandbox du système d’exploitation. Si le système d’exploitation ne peut pas appliquer la politique demandée, le shell en sandbox échoue au lieu de s’exécuter silencieusement sans protection. Ce détail est important : une barrière de sécurité qui devient facultative en cas de pression n’est pas une barrière de sécurité.

Cela mérite l’attention des équipes d’ingénierie, car les agents de développement gagnent en autonomie. Ils ne se contentent plus de suggérer la ligne suivante dans un éditeur ; ils explorent le référentiel, installent des dépendances, exécutent des tests, créent des branches et peuvent appeler des outils externes. Cette capacité améliore le débit, mais elle élargit également la portée des erreurs. Un agent peut exécuter une commande trop générale, lire un dossier voisin qui ne fait pas partie de la tâche, pousser une branche avec de mauvaises identifiants, ou tenter d’accéder à un service local contenant des données sensibles. Le sandboxing local résout ce problème grâce à un principe simple : donner à l’agent suffisamment d’espace pour travailler, mais pas l’intégralité de la machine du développeur.

Présentation de l’outil

L’application GitHub Copilot est une interface Copilot de type agentique destinée aux tâches de développement. Elle vous permet de travailler avec un agent sur un dépôt local ou une arborescence de travail, de lui demander d’analyser un ticket, de modifier du code, d’exécuter des commandes et de préparer le travail en vue d’une révision humaine. Le sandboxing local n’est pas un nouveau modèle linguistique, et il ne remplace pas la révision de code. Il s’agit d’une limite d’exécution : il définit ce que les commandes déclenchées par l’agent sont autorisées à voir et à utiliser sur la machine du développeur.

La politique couvre trois domaines pratiques. Premièrement, l’accès au système de fichiers : vous pouvez autoriser des dossiers supplémentaires en lecture/écriture, définir certains chemins d’accès en lecture seule ou interdire explicitement certains dossiers. Deuxièmement, l’accès au réseau : vous pouvez contrôler l’accès sortant à Internet et au réseau local. Troisièmement, les identifiants : la politique peut déterminer si les identifiants Git pour les opérations HTTPS authentifiées et les identifiants GitHub CLI sont disponibles au sein de la session. Pour un développeur senior, cette granularité est plus utile qu’un simple commutateur de confiance général. Elle permet d’adapter le niveau de risque à la tâche à accomplir.

Un point de la documentation de GitHub est particulièrement important : une arborescence de travail sépare les branches et les fichiers pour les sessions simultanées, mais elle ne restreint pas en soi l’accès d’une commande à d’autres parties de votre machine. De nombreuses équipes confondent par inadvertance l’isolation Git avec l’isolation du système. Le sandboxing local comble cette lacune. Il permet un workflow dans lequel l’agent peut manipuler librement l’espace de travail prévu tout en étant empêché de consulter des secrets personnels, des dépôts voisins ou certains services internes.

Comment l’installer ou y accéder

Le point de départ est la documentation officielle de GitHub sur la configuration du « local sandboxing » dans l’application Copilot. La condition préalable pratique est d’utiliser l’application GitHub Copilot avec un projet local. À partir de là, l’activation s’effectue dans les paramètres de l’application : ouvrez les paramètres, sélectionnez le projet, puis activez « Sandbox new sessions » (Mettre en sandbox les nouvelles sessions) dans la section « Sandbox ». La modification s’applique aux nouvelles sessions de ce projet, et non aux sessions déjà en cours. Pour une session locale active, utilisez /sandbox on pour activer le mode « Sandbox » sans modifier la configuration par défaut du projet.

La meilleure première étape consiste à s’en tenir à la politique par défaut. GitHub précise que la configuration par défaut est destinée à prendre en charge les tâches de développement courantes, telles que l’installation de dépendances, la connexion à un serveur de développement local, la publication d’une branche et la création d’une pull request. À partir de là, renforcez la politique lorsque le projet se trouve à proximité de dossiers sensibles, lorsque la tâche ne nécessite pas d’accès au réseau ou lorsque l’agent n’a pas besoin d’identifiants. En pratique, je considérerais cette configuration comme une mesure de sécurité opérationnelle pour le développement par agent : simple par défaut, plus stricte à mesure que la sensibilité des données et les risques opérationnels augmentent.

Au sein des organisations, cette fonctionnalité devient encore plus intéressante lorsqu’elle est associée à des paramètres gérés par l’entreprise. GitHub documente un managed-settings.json mécanisme permettant de définir et de déployer les paramètres de Copilot à l’échelle de l’entreprise, avec des dérogations au niveau des équipes. La documentation relative au bac à sable précise également que la politique effective peut être plus restrictive que les paramètres du projet lorsque les paramètres gérés par l’entreprise s’appliquent. Cela permet à une plateforme ou à une équipe de sécurité de définir un seuil commun sans empêcher les équipes produit d’utiliser des agents dans leur travail quotidien.

Cas d’utilisation concrets pour les ingénieurs seniors

  • Refactoring ciblé dans un monorepo. Donnez à l’agent un arbre de travail limité au paquet que vous souhaitez modifier, interdisez explicitement les dossiers contenant des secrets ou la configuration de production, puis demandez-lui de renommer une API, de mettre à jour les tests et de répertorier tous les fichiers modifiés. Le gain de productivité provient de l’exploration rapide et des modifications répétitives, tandis que la délimitation empêche toute dérive vers des domaines non concernés.
  • Correction de bogues avec des tests locaux. Autorisez l’espace de travail et le serveur de développement local nécessaire, mais bloquez les connexions sortantes vers Internet si les dépendances sont déjà installées. L’agent peut reproduire le bogue, ajouter un test de régression et proposer un correctif sans télécharger de scripts inattendus.
  • Préparation des pull requests de maintenance. Pour une mise à jour de dépendance ou un nettoyage de code, l’agent peut modifier des fichiers, exécuter la suite de tests et préparer le résumé de la pull request. Les identifiants Git peuvent rester indisponibles jusqu’à ce qu’un utilisateur décide de pousser la branche.
  • Analyse d’incidents non sensibles. Vous pouvez laisser l’agent inspecter des journaux anonymisés dans un dossier dédié en lecture seule tout en lui refusant l’accès au reste du répertoire personnel. L’agent devient alors utile pour repérer des schémas récurrents sans bénéficier d’un accès étendu à la machine.
  • Intégration dans un dépôt inconnu. Le bac à sable permet à un développeur de demander à l’agent de cartographier l’architecture, de générer des commandes de démarrage et d’identifier les points d’entrée de test sans ouvrir par défaut tous les autres projets locaux.

Productivité : le véritable gain réside dans un débit sécurisé

Le gain de productivité ne réside pas seulement dans le fait que l’agent écrit du code. Il tient également à la réduction du coût de lancement d’une tâche. Lorsqu’un développeur sait que l’agent opère à l’intérieur d’une limite explicite, il peut déléguer plus rapidement les étapes mécaniques : recherche de références, application de modifications répétitives, exécution de tests, analyse des échecs et production d’un premier résumé de pull request. L’ingénieur senior reste responsable des décisions concernant l’intention, l’architecture, la révision et la fusion, mais n’a plus à exécuter manuellement chaque micro-commande.

Cette distinction est cruciale pour l’adoption de la technologie. Sans garde-fous, de nombreux développeurs expérimentés sous-utilisent les agents car ils savent exactement ce qui peut mal tourner. Avec un environnement de test, la question ne porte plus sur « puis-je faire confiance à l’agent ? », mais sur « quelle politique est suffisante pour cette tâche ? ». Il s’agit d’une question d’ingénierie, et non d’un acte de foi. On peut y répondre par des paramètres, des traces et des revues.

Limites et risques

Le sandboxing local est en préversion publique et est susceptible d’évoluer. Il ne s’applique pas aux sessions de sandbox dans le cloud ni aux sessions s’exécutant sur un hôte distant ; les paramètres de sandbox de l’application Copilot et de la CLI Copilot sont configurés séparément. Il ne remplace pas non plus les contrôles techniques habituels : branches dédiées, tests automatisés, révision du code, gestion des secrets, politique de dépendances et validation CI. Un agent peut toujours produire une conception médiocre, une correction incomplète ou un test insuffisant. Le bac à sable réduit l’impact de certaines commandes ; il ne garantit pas la qualité du logiciel.

Les équipes doivent également éviter de définir une politique trop restrictive qui perturberait le flux de travail. Si l’agent ne peut pas lire le dossier approprié, accéder au serveur local requis ou exécuter la commande de test, il échouera ou compensera en se basant sur des hypothèses. La meilleure pratique est itérative : commencez par une politique raisonnable, observez quelles tâches échouent, puis ouvrez uniquement ce qui est nécessaire. Chaque exception doit correspondre à un besoin de développement compréhensible.

Pourquoi est-ce important aujourd’hui ?

GitHub a également annoncé l’exportation OpenTelemetry pour l’application Copilot destinée aux entreprises. Pris ensemble, le sandboxing local et l’observabilité des sessions vont dans le même sens : les agents de développement entrent dans une phase opérationnelle à part entière. Les équipes ne veulent pas seulement des réponses plus rapides ; elles veulent savoir ce que l’agent a fait, quels outils il a utilisés, sous quelles contraintes, et comment enquêter sur un comportement inattendu.

Pour les équipes logicielles, c’est la bonne direction à prendre. L’IA peut accélérer la mise en œuvre, mais la gouvernance doit rester entre les mains de l’humain. Le rôle du développeur senior consiste désormais à concevoir le système de délégation : quelles tâches confier à l’agent, quels chemins d’accès exposer, quelles informations d’identification retenir, quels tests exiger, quelles traces conserver et quel niveau de révision appliquer. Le sandboxing local de l’application GitHub Copilot ne résout pas tout, mais il constitue un élément concret permettant de travailler plus rapidement sans renoncer au contrôle.

Sources