Exécution d'agents IA en environnements isolés
Les agents IA augmentent les large language models (LLMs) avec des outils (shell, read, edit, websearch, etc) et des capacités (accès à un service, etc) qui leur permettent d’agir, en autonomie, sur des systèmes d’informations. Il est ainsi possible de demander à un agent de réaliser seul les étapes permettant d’aboutir à un programme informatique complet: production du code, compilation, test, correction de erreurs, etc.
Problématique et sujet
Les gains de productivité sont conséquents, mais ils s’accompagnent de risques12. Rien n’empêche un agent de corrompre le système d’information: installation de logiciels (malveillants), consommation excessive de ressource, suppression de fichiers, diffusion de données, etc.
Il est donc souhaitable de limiter les accès de l’agent à un périmètre fixé du système d’information. Une solution consiste à brider l’autonomie de l’agent, en imposant que l’utilisateur accorde ou refuse chacun des accès au système d’information. Ceci va totalement à l’encontre des gains de productivité espérés par l’utilisation d’agents.
Une autre solution consiste à isoler l’agent dans un environnement, limitant ainsi les conséquence des actions néfastes qu’il pourrait entreprendre. Plusieurs approches existent: conteneurs, VMs, micro-VMs, etc.3.
Le premier objectif du projet est d’étudier les menaces posées par les agents IA et les différentes techniques de remédiation basées sur l’isolation. Le second objectif consiste à présenter le ou les mécanismes les plus adaptés permettant d’exécuter un agent en isolation sur un ordinateur personnel.
Démarche
Problématiques de sécurité
La première étape consiste à réaliser une bibliographie sur les risques liés aux agents IA, en se basant sur1425.
Le premier déliverable attendu est une synthèse des risques. On identifiera les risques qui sont réduits par une isolation (sandboxing) de l’agent.
Solutions d’isolation des agents
On s’intéresse à une solution particulière: l’isolation de l’agent dans une sandbox6. Il existe différentes solutions d’isolation des agents IA789.
Le second déliverable consiste à synthétiser les solutions et à proposer la solution la plus adaptée dans une contexte de l’étude où nous souhaitons utiliser un agent de notre choix (ex: opencode), un fournisseur de modèle en BYOK, et travailler sur une machine locale.
Prototypage
La troisième partie consiste à prototyper la solution retenue. Elle permettra de déployer un environnement de travail pour l’agent, disposant des logiciels souhaités par l’utilisateur (ex: environnement de développement C, environnement Python d’analyse de données, etc), sur lequel l’agent pourra opérer en sécurité.
Le troisième déliverable consistera en un prototype de démonstration, et une procédure permettant de le répliquer, en l’adaptant au besoin. Une procédure de création automatique d’environnement sera étudiée si le temps le permet.
Validation et limites
La dernière étape consiste à valider le résultat obtenu, et à discuter les limites de l’approche mise en oeuvre vis-à-vis des critères de sécurité retenus lors de la première phase.
Les déliverables attendus sont:
- le prototype mis à jour, s’il y a lieu;
- et l’étude de validation vis-à-vis des objectifs.
Bibliographie
-
AI Agent Security: The Complete Guide to Threats, Defenses, and the Future of Autonomous AI Safety ↩ ↩2
-
AI Agents Under Threat: A Survey of Key Security Challenges and Future Pathways ↩ ↩2
-
AI Agent Sandboxing and Security Isolation: MicroVMs, gVisor, WASM, and the New Threat Landscape ↩
-
Agentic AI Security: Threats, Defenses, Evaluation, and Open Challenges ↩
-
Isolation as a First-Class Principle for LLM-Agent System Safety: Concepts, Taxonomy, Challenges and Future Directions ↩