- Le développeur de la plateforme web Paul Kinlan explore le potentiel du navigateur comme environnement d’exécution sûr pour des agents de code
- Il souligne que le navigateur dispose déjà d’une puissante architecture de sandbox pour exécuter du code non fiable
- Pour le vérifier, il a créé une démo appelée Co-do, afin d’expérimenter dans le navigateur l’accès aux fichiers, les communications réseau et l’exécution de code
- Co-do s’appuie sur la File System Access API, les en-têtes CSP et
<iframe sandbox>, ainsi que sur WebAssembly dans des Web Workers
- C’est un exemple qui montre que le navigateur peut évoluer en environnement d’exécution pour agents IA sans conteneur local
Une vision du navigateur comme sandbox
- Paul Kinlan de Google estime qu’un environnement de sandbox robuste est nécessaire pour exécuter des agents de code
- Il insiste sur le fait que le navigateur est une plateforme qui s’est développée pendant les 30 dernières années pour exécuter en toute sécurité du code malveillant ou non fiable
- Cette caractéristique justifie l’usage du navigateur comme environnement d’exécution pour agents
Les trois éléments clés d’un sandbox basé sur le navigateur
- Kinlan présente trois éléments essentiels d’un sandbox : l’accès au système de fichiers, le contrôle de l’accès réseau et l’exécution sécurisée du code
- La File System Access API fournit des fonctions pour manipuler des fichiers locaux dans le navigateur et est actuellement connue comme étant réservée à Chrome
- Les en-têtes CSP (Content Security Policy) et l’attribut
<iframe sandbox> permettent de contrôler l’accès réseau
- WebAssembly et les Web Workers permettent d’exécuter du code dans un environnement isolé
Structure et fonctions de la démo Co-do
- Une application de démonstration nommée Co-do a été créée pour valider l’idée de Kinlan
- L’utilisateur sélectionne un dossier puis configure un fournisseur de LLM et une clé API
- Co-do interagit avec le LLM via des appels d’API autorisés par la CSP et fournit une interface de chat capable d’interagir avec les fichiers
- Cette architecture ressemble à Claude Cowork, mais fonctionne uniquement dans le navigateur, sans gros conteneur local
Les limites de <iframe sandbox> et des technologies de sécurité
- Le manque de documentation autour de
<iframe sandbox> est pointé comme un problème majeur
- Les différences d’implémentation selon les navigateurs sont importantes, et la documentation disponible est limitée
- Kinlan propose une méthode de double iframe (double-iframe) pour appliquer des règles réseau au frame interne
Découvertes et expérimentations supplémentaires
- Il a été confirmé que l’attribut
<input type="file" webkitdirectory> fonctionne sur Firefox, Safari et Chrome
- Cela permet au navigateur d’effectuer un accès en lecture seule à un répertoire entier
- Une démo webkitdirectory a été créée pour le tester et devrait être réutilisée dans de futurs projets
Conclusion
- Le navigateur a déjà évolué en une plateforme très aboutie pour l’isolation de sécurité et l’exécution de code
- Le cas de Co-do constitue une preuve expérimentale que le navigateur peut s’étendre en environnement d’exécution pour agents de codage IA
Aucun commentaire pour le moment.