Bacs à sable sécurisés pour les agents

SPACE est la plateforme de bac à sable de Perplexity dédiée aux agents d'IA, améliorant 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 d'IA effectuent un travail réel pour notre compte : 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 rend le lieu où s'exécute un agent plus important que l'intelligence du modèle lui-même.

Les bacs à sable assurent la sécurité des agents, leur permettant d'accéder aux outils et aux fichiers nécessaires à l'exécution de ces tâches, tout en garantissant la protection des informations sensibles.

Lors du développement de notre plateforme d'agents Computer, nous avons exploré les options de bac à sable disponibles sur le marché. Chaque option nous obligeait à envisager des compromis entre fonctionnalité, efficacité et sécurité. Perplexity Computer nécessitant ces trois aspects, nous avons conçu un tout nouveau type de bac à sable.

Aujourd'hui, nous introduisons SPACE, une plateforme de bac à sable conçue pour libérer toute la puissance 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 subsistent que le temps nécessaire à l'exécution du code, à l'interaction avec des fichiers ou à d'autres tâches. Une fois la tâche terminée, le bac à sable, ainsi que tout ce qu'il contient, est détruit.

Pour les travaux de longue durée devant survivre à des redémarrages, SPACE enveloppe chaque bac à sable dans une Session pouvant être suspendue, reprise ou ramifiée en plusieurs bacs à sable. La technologie de snapshots évolutifs de SPACE permet au contexte d'accompagner le travail, bien qu'aucun bac à sable individuel ne le fasse.

Éliminer les compromis antérieurs

La plupart des plateformes de bac à sable ne résolvent que deux variables sur trois : fonctionnalité, efficacité ou sécurité. L'optimisation de l'une tend à se faire au détriment d'une autre. Certaines solutions disposent de primitives d'isolation fortes mais laissent les identifiants exposés dans l'environnement. D'autres exécutent bien des tâches de courte durée, mais perdent l'état et échouent lorsqu'une Session doit durer plusieurs heures.

SPACE résout ces trois problèmes en séparant les préoccupations entre des services dédiés. La passerelle réseau (Network Gateway), le démon Espace (Space Daemon) et le service de fichiers (File Service) sécurisent chacun une partie différente de la pile. Ils ne délivrent les identifiants depuis l'extérieur du bac à sable qu'au moment où ils sont nécessaires.

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

Création de trois couches de sécurité

SPACE est constitué de trois couches clés, chacune intégrant des mesures de sécurité robustes :

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 via une API unique, suit l'état du bac à sable et décide en temps réel du backend vers lequel router la requête. Il détermine lorsqu'une tâche nécessite un nouveau bac à sable. Il décide également lorsqu'une tâche est terminée et que le bac à sable correspondant peut être détruit. Étant donné que le plan de contrôle est sans état et hébergé de manière centralisée, le même appel API fonctionne sur toute infrastructure existante, y compris une machine locale.

Services au niveau du nœud : Avec SPACE, les services au niveau du nœud constituent le point fort de la posture de sécurité de Perplexity. Avec SPACE, les identifiants ne pénètrent 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 requis. 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 atteindre rien 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 microVM Firecracker, un environnement totalement 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 s'exécutant en parallèle. Le Space Daemon 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 de snapshot. 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 ce qu'il offre un ensemble complet de contrôles. SPACE combine la mise en pause et la reprise, le forking de Session, l'isolation des identifiants par Session, le transfert de protocole et l'orchestration multi-backend sur une seule plateforme.

SPACE prend des snapshots évolutifs de l'état complet de la Session, capturant la mémoire vive ainsi que les fichiers aussi fréquemment que chaque minute. Il peut remonter dans le temps jusqu'à une semaine. C'est essentiellement une machine à remonter le temps intégrée : n'importe qui peut quitter son poste en milieu de tâche, revenir une semaine plus tard, et l'agent reprend exactement là où il s'est arrêté.

SPACE traite le bac à sable comme non fiable 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 entreprises 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 chiffrées existantes du 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 deux mois. Au cours de la semaine dernière, il a pris en charge des millions de créations de bacs à sable et des dizaines de millions de reconnexions. Il est opérationnel dans Computer pour tous les utilisateurs dès aujourd'hui.

SPACE a été conçu pour fonctionner partout. Lors d'un test préliminaire sur CPU NVIDIA Vera, des flux de travail de type Computer ont été exécutés environ 1,5 fois plus rapidement que notre référence de production actuelle, et ont démarré des bacs à sable simultanés jusqu'à 1,9 fois plus rapidement. Ce signal précoce démontre que Vera apportera une valeur exceptionnelle pour les bacs à sable d'agents et valide l'agnosticisme du backend derrière SPACE.

Investir dans des environnements sécurisés

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

SPACE n'est que la première itération 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.