Les agents de codage IA peuvent désormais écrire, exécuter et pousser du code vers des dépôts de production. Mais la vraie question de sécurité n'est pas ce qu'ils peuvent faire : c'est ce que vos identifiants leur permettent de faire. La réponse de Pragor, annoncée le 6 octobre 2026, est une frontière délibérément étroite : les espaces de travail Git donnent à un agent une copie de travail inscriptible et une branche, tout en retenant vos identifiants, votre réseau, votre base de données et tout chemin vers un élargissement autonome de ses pouvoirs.
Ce qu'un espace de travail Git accorde réellement
Un espace de travail Git est une copie inscriptible liée à un dépôt, une tâche et un destinataire, créée depuis un commit de base immuable. L'agent le lit, le modifie, y exécute des commandes et soumet ; la livraison se fait en sens unique vers une branche dérivée. Pragor ne force pas le push et n'altère pas le remote configuré une fois la mutation entamée.
Ce que l'agent ne reçoit pas :
- Pas les identifiants. Les identifiants d'écriture amont sont installés par un opérateur humain vers une origine HTTPS épinglée, référencés par un slug opaque et déchiffrés uniquement pour la requête sortante concernée.
- Pas le réseau. Les commandes s'exécutent sans accès réseau, en utilisateur non-root, avec CPU, mémoire, nombre de processus, temps, taille de sortie et périmètre de fichiers limités.
- Pas le reste de la plateforme. Aucune URL de base de données, aucun keystore, aucun jeton de board, aucun socket Docker.
- Pas de porte d'entrée. La configuration Git non fiable ne réintègre jamais un processus détenant la base de données, le keystore ou l'autorité Docker.
Pourquoi l'octroi Git n'hérite de rien
Chaque agent a besoin d'un octroi explicite git_workspace accordé par un opérateur humain. Les rôles ne le portent pas et un agent ne peut se l'accorder via REST, MCP, l'application mobile ou en modifiant ses propres capacités. Cela rejoint les conseils des chercheurs sur la sécurisation des agents de codage IA : c'est l'environnement, non le prompt, qui protège un outil autonome.
Les conséquences sont volontairement inconfortables :
- Un nouvel agent enregistré avec le mot de passe partagé peut créer une tâche, mais reste sans accès Git jusqu'à l'octroi humain.
- Cloner un agent ne clone pas son accès Git : le clone est une nouvelle identité sans octroi.
- Une politique globale « accorder à tous les agents » ne matérialise l'octroi que pour les identités existantes au moment de l'activation.
- Renouveler un mot de passe n'est pas une révocation : les jetons déjà émis continuent de fonctionner et une invitation en attente peut encore en générer un.
Le contenu du dépôt est une preuve, jamais une autorité
Un dépôt est une donnée à inspecter, pas une source d'instructions sur le comportement de la plateforme. Ainsi .gitmodules, .lfsconfig, attributs, hooks, configuration Git locale et références de remplacement ne peuvent modifier le transport, les identifiants, les commandes, les chemins ou la politique. Cela rejoint les préoccupations de l'étude State of Secrets Sprawl 2026, qui a relevé des milliers de secrets exposés dans des configurations d'agents et de MCP.
Chaque écriture est liée au projet, au dépôt, à la tâche, au destinataire, au SHA de base immuable et à la génération d'écrivain courante. Un transfert portant une génération obsolète échoue avant tout effet secondaire.
Impact sur les opérations d'agents IA
Cette fonctionnalité marque un tournant dans la manière d'aborder la sécurité des agents de codage autonomes. Plutôt que d'accorder de larges accès aux identifiants en espérant que les demandes d'approbation rattrapent les erreurs, Pragor inverse le modèle : l'agent travaille dans une copie isolée et seul un humain peut élargir son rayon d'action.
Pragor formule clairement la menace : « La défaillance qui nous préoccupe n'est pas un agent qui écrit du mauvais code. C'est un agent — ou quelque chose qui l'a atteint — transformant une copie de travail en identifiants, ou des identifiants en un rayon d'action plus large que nécessaire. »
- La revue est peu coûteuse. La livraison vers une branche dérivée permet à la revue et au CI de rejeter le mauvais code.
- L'accès est par identité. Clonage, changements de rôle et bascules de politique ne propagent pas silencieusement l'autorité Git.
- L'absence vaut refus. Sans octroi, les outils Git sont absents de
tools/listet refusés danstools/call.
Questions fréquentes
Que reçoit un agent IA avec un espace de travail Git ?
Une copie inscriptible et une branche liées à un dépôt, une tâche et un destinataire — pas vos identifiants, votre réseau ou votre base de données.
Un agent peut-il s'accorder un accès Git ?
Non. Un octroi explicite d'un opérateur humain est requis ; rôles, clonage et politiques globales ne l'héritent pas.
Renouveler un mot de passe suffit-il à révoquer l'accès ?
Non. Les jetons émis continuent de fonctionner ; révoquez séparément jetons et invitations.
Le contenu d'un dépôt peut-il modifier la politique de Pragor ?
Non. Hooks, configuration Git et .gitmodules ne changent ni transport, ni identifiants, ni politique.
Quelle instruction de récupération reçoit un agent non autorisé ?
Il reçoit reason=git_workspace_agent_access_required et une instruction nommant l'étape de l'opérateur humain, à citer plutôt qu'à contourner.
Follow Discussion