Bacs à sable sécurisés pour les agents

SPACE est la plateforme de bac à sable de Perplexity conçue spécifiquement pour les agents IA, augmentant la fonctionnalité, l'efficacité et la sécurité.

A glowing glass cube filled with lush green plants sits in a dark forest, with lines of white computer code floating across its transparent surface.

Les agents IA effectuent de vraies tâches en notre nom : modifier des fichiers, exécuter du code et accomplir des tâches en plusieurs étapes sur des heures ou des jours. Cela nécessite souvent l'accès à des informations privées, ce qui fait que l'endroit où un agent s'exécute importe plus que l'intelligence du modèle.

Les bacs à sable assurent la sécurité des agents en leur permettant d'accéder aux outils et aux fichiers nécessaires pour accomplir ces tâches, tout en protégeant les informations sensibles.

Lors de la création de notre plateforme d'agent Computer, nous avons exploré les options de bac à sable prêtes à l'emploi. Chaque option nous obligeait à faire des compromis entre la fonctionnalité, l'efficacité et la sécurité. Perplexity Computer avait besoin des trois, nous avons donc conçu un tout nouveau type de bac à sable.

Aujourd'hui, nous présentons SPACE, une plateforme de bac à sable conçue pour libérer tout le potentiel de Computer tout en offrant le plus haut niveau de sécurité pour les systèmes d'agents avancés.

Réinventer l'architecture des bacs à sable

SPACE lance des bacs à sable éphémères qui ne vivent que le temps nécessaire pour exécuter du code, interagir avec des fichiers ou accomplir d'autres tâches. Une fois la tâche terminée, le bac à sable et tout ce qu'il contient sont détruits.

Pour les travaux de longue haleine qui doivent survivre aux redémarrages, SPACE enveloppe chaque bac à sable dans une session qui peut être mise en pause, reprise ou ramifiée en plusieurs bacs à sable. La technologie d'instantanés dynamiques de SPACE permet au contexte de voyager avec le travail, même si aucun bac à sable individuel ne le fait.

Éliminer les compromis précédents

La plupart des plateformes de bac à sable ne résolvent que deux variables sur trois : la fonctionnalité, l'efficacité ou la sécurité. L'optimisation de l'une se fait généralement au détriment d'une autre. Certaines solutions disposent de solides primitives d'isolation, mais laissent les identifiants exposés à l'intérieur de l'environnement. D'autres exécutent bien des tâches de courte durée, mais perdent l'état et échouent lorsqu'une session doit s'exécuter pendant des heures.

SPACE résout ces trois problèmes en séparant les préoccupations entre des services dédiés. La passerelle réseau, le démon Space et le service de fichiers sécurisent chacun une partie différente de la pile. Ils fournissent également les identifiants de l'extérieur du bac à sable uniquement au moment où ils sont nécessaires.

Avec cette conception, un agent compromis n'a par défaut aucun accès aux identifiants gérés par la plateforme. Et il n'a pas d'accès au-delà de la tâche qui lui a été confiée, quelle que soit la durée de la session ou le backend.

Créer trois couches de sécurité

SPACE est composé de trois couches clés, chacune intégrant de solides mesures de sécurité :

Plan de contrôle : Première couche de l'architecture de SPACE, le plan de contrôle est responsable de l'orchestration du cycle de vie du bac à sable. Il reçoit chaque requête par le biais d'une API unique, suit l'état du bac à sable et décide en temps réel du backend vers lequel router. Il détermine quand une tâche nécessite un nouveau bac à sable. Il décide également quand une tâche est terminée et quand le bac à sable correspondant peut être détruit. Le plan de contrôle étant sans état et hébergé de manière centralisée, le même appel API fonctionne sur n'importe quelle infrastructure existante, y compris une machine locale.

Services au niveau des nœuds : Dans SPACE, les services au niveau des nœuds représentent l'élément où la posture de sécurité de Perplexity se démarque. Avec SPACE, les identifiants ne passent jamais dans le bac à sable. Au lieu de cela, ils sont transmis depuis l'extérieur du bac à sable uniquement au moment précis où ils sont nécessaires. Lorsqu'un agent a besoin d'un accès temporaire pour se connecter à un compte Google, SPACE peut gérer le flux de connexion sans exposer les identifiants à l'intérieur du bac à sable. Le trafic réseau sortant est également contrôlé au niveau du nœud. Un agent compromis ne peut rien atteindre en dehors de sa portée autorisée.

Dans le bac à sable : La couche interne du bac à sable est la dernière ligne de défense de SPACE. Avec SPACE, chaque tâche s'exécute à l'intérieur d'une micro-machine virtuelle Firecracker, un environnement entièrement isolé doté de son propre système d'exploitation. Cela signifie que rien à l'intérieur ne peut affecter l'hôte ou tout autre bac à sable exécuté en parallèle. Le démon Space est le seul processus qui communique avec le plan de contrôle de Perplexity. Il transporte les signaux opérationnels tels que les commandes de démarrage, de pause et d'instantané. C'est ce qui rend le canal de communication auditable et contrôlable.

Offrir un ensemble complet de contrôles

SPACE est unique parmi les fournisseurs en offrant un ensemble complet de contrôles. SPACE associe la mise en pause et la reprise, la ramification de session, l'isolation des identifiants par session, le transfert de protocoles et l'orchestration multi-backend sur une seule plateforme.

SPACE prend des instantanés dynamiques de l'état complet de la session, capturant la mémoire vive ainsi que les fichiers aussi souvent que chaque minute. Il peut remonter le temps d'une semaine. C'est essentiellement une machine à remonter le temps intégrée : n'importe qui peut s'éloigner au milieu d'une tâche, revenir une semaine plus tard, et l'agent reprend exactement là où il s'était arrêté.

SPACE traite le bac à sable comme non sécurisé par défaut et l'entoure de contrôles réseau, de contrôles d'identifiants, de séparation des locataires et de stockage chiffré. Si une couche est compromise, les autres protègeront les informations personnelles.

Avec SPACE, les clients d'entreprise peuvent également apporter leurs propres clés de chiffrement. Si un client révoque sa clé, les nouveaux bacs à sable ne peuvent pas démarrer et les données existantes chiffrées par le client ne peuvent plus être déchiffrées.

Pour ceux qui travaillent avec des données particulièrement sensibles, SPACE est conçu pour fonctionner à la fois sur site et entièrement hors ligne. Ce niveau de contrôle garantit que les données n'ont jamais à quitter un environnement sécurisé.

Alimenter Perplexity

Les ingénieurs de Perplexity ont fait passer SPACE du concept au produit en 10 semaines. Nous utilisons SPACE en interne depuis les deux derniers mois. Au cours de la dernière semaine, il a pris en charge des millions de créations de bacs à sable et des dizaines de millions de reconnexions de bacs à sable. Il est opérationnel dès aujourd'hui dans Computer pour tous les utilisateurs.

SPACE a été conçu pour s'exécuter n'importe où. Lors d'un test préliminaire sur un processeur NVIDIA Vera, des flux de travail réels de type Computer se sont exécutés environ 1,5 fois plus vite que notre référence de production actuelle et ont démarré des bacs à sable simultanés jusqu'à 1,9 fois plus vite. Ce premier signal démontre que Vera offrira une valeur exceptionnelle pour les bacs à sable d'agents et valide l'indépendance du backend qui sous-tend SPACE.

Investir dans des environnements sécurisés

Nous pensons qu'il ne devrait pas y avoir de compromis entre la fonctionnalité, l'efficacité et la sécurité. Les agents doivent travailler sur les mêmes données que nous, avec la même confiance que celle que nous accorderions à n'importe quel collègue.

SPACE n'est que la première version de cet environnement sécurisé. À mesure que l'IA continue d'évoluer, nos systèmes de sécurité et d'infrastructure évolueront également.

Consultez Making SPACE: Secure and Efficient Runtimes for Long-Running Agents pour plus de détails.