Πώς το SPACE δρομολογεί τα αιτήματα στη σωστή εκτέλεση Sandbox

Το SPACE της Perplexity δεσμεύει τα αιτήματα πρακτόρων AI στη σωστή εκτέλεση Sandbox με ελέγχους ταυτότητας και υπογεγραμμένες διαδρομές.

Transparent glass cube reflecting orange and blue light, with bright starburst highlights against a dark background.

Όταν κάποιος ζητά από έναν πράκτορα AI να αναλύσει ένα υπολογιστικό φύλλο ή να δοκιμάσει λογισμικό, τον εμπιστεύεται να χειριστεί με ασφάλεια τα αρχεία και τα δεδομένα του. Οι πράκτορες χρειάζονται απομονωμένα περιβάλλοντα όπου μπορούν να εκτελούν αυτή την εργασία χωρίς να εκθέτουν τα δεδομένα άλλων χρηστών ή να παρεμβαίνουν στους φόρτους εργασίας τους.

Καθώς οι πράκτορες αναλαμβάνουν πιο σύνθετες εργασίες με μεγαλύτερη αυτονομία, αυτά τα περιβάλλοντα βοηθούν στον περιορισμό των λαθών και της ζημιάς που μπορεί να προκαλέσει μη ασφαλής ή κακόβουλος κώδικας. Τα Sandbox παρέχουν αυτή την απομόνωση, ενώ μοιράζονται υπηρεσίες του επιπέδου ελέγχου, κόμβους worker και υποδομή δρομολόγησης.

Αυτή η κοινόχρηστη υποδομή πρέπει να παραδίδει κάθε λειτουργία στην εκτέλεση που είναι εξουσιοδοτημένη να τη χειριστεί. Μια παρωχημένη διαδρομή μπορεί να στείλει ένα έγκυρο αίτημα σε άλλο Sandbox ή σε παλαιότερη εκτέλεση του σωστού Sandbox. Το SPACE, η ασφαλής πλατφόρμα Sandbox της Perplexity, δεσμεύει κάθε λειτουργία σε μια επιλεγμένη εκτέλεση και ελέγχει τον προορισμό πριν από την προώθηση.

Εδώ και μήνες, το SPACE διαχειρίζεται εκατομμύρια εκτελέσεις την ημέρα, καθεμία προστατευμένη από μια μοναδική κρυπτογραφική ταυτότητα, με ποσοστό σφαλμάτων κάτω από 0,0002% και καμία απώλεια σύνδεσης.

Το πρόβλημα της δρομολόγησης

Η ασφάλεια των Sandbox εξαρτάται επίσης από το να φτάνει κάθε αίτημα στον σωστό προορισμό. Ακόμη και μια απλή ανάγνωση αρχείου διέρχεται από κοινόχρηστη υποδομή, η οποία πρέπει να γνωρίζει πού εκτελείται το Sandbox καθώς τίθεται σε παύση, συνεχίζει ή μετακινείται μεταξύ μηχανημάτων.

Μια ανάγνωση αρχείου διέρχεται από αρκετά στοιχεία. Το επίπεδο ελέγχου του SPACE αντιστοιχίζει το Sandbox σε μια εκτέλεση και έναν worker. Το αίτημα εισέρχεται μέσω του node-api, περνά στον διαχειριστή Sandbox, sbx-manager, και διασχίζει ένα Unix socket προς τη γέφυρα του κεντρικού υπολογιστή, spaced-host. Η γέφυρα το προωθεί μέσω VSOCK, του μηχανισμού μεταφοράς socket από τον κεντρικό υπολογιστή προς το guest, στο spaced-guest μέσα στο microVM του Firecracker.

Κάθε απόφαση βασίζεται σε κατάσταση που μπορεί να υστερεί σε σχέση με τις αλλαγές της υποδομής. Μια βάση δεδομένων μπορεί να διατηρεί μια παλιά τοποθέτηση, μια διεύθυνση στην κρυφή μνήμη μπορεί να δείχνει αλλού ή μια διαδρομή socket μπορεί να αποκτήσει διαφορετικό ακροατή. Μια επιτυχημένη σύνδεση μπορεί και πάλι να φτάσει στον λάθος προορισμό. Μια ανάγνωση θα μπορούσε να εκθέσει δεδομένα άλλου χρήστη· μια εγγραφή θα μπορούσε να τροποποιήσει το λάθος σύστημα αρχείων.

Τα στιγμιότυπα (snapshots) προσθέτουν ένα ακόμη ζήτημα. Η συνέχιση ενός Sandbox σε άλλον worker διατηρεί τη λογική του ταυτότητα, αλλά ξεκινά μια νέα εκτέλεση. Ένα καθυστερημένο αίτημα ή μια σύνδεση που παραμένει ενεργή μπορεί να φτάσει στην προηγούμενη εκτέλεση και να επιστρέψει παλιά κατάσταση με το σωστό όνομα Sandbox.

Ταυτότητα Sandbox και ταυτότητα εκτέλεσης

Το SPACE διαχωρίζει το περιβάλλον του χρήστη από το runtime που το εξυπηρετεί:

  • Ταυτότητα Sandbox: Το σταθερό αναγνωριστικό του λογικού περιβάλλοντος. Η εξουσιοδότηση του καλούντος καθορίζει την πρόσβαση σε αυτό το Sandbox.
  • Ταυτότητα διαδρομής/εκτέλεσης: Η επιλεγμένη υπόσταση runtime και η τοποθέτησή της, συμπεριλαμβανομένων του worker, του υποστρώματος (substrate) και της ενεργοποίησής της.

Μια γενιά εκτέλεσης διακρίνει τις υποστάσεις runtime. Στο Kubernetes, η διαδρομή περιλαμβάνει επίσης το UID του pod. Οι διευθύνσεις εντοπίζουν τα τελικά σημεία· η ταυτότητα εκτέλεσης καθορίζει αν αυτά τα τελικά σημεία μπορούν να εξυπηρετήσουν τη λειτουργία.

Ας υποθέσουμε ότι το Sandbox S εκτελείται ως εκτέλεση 7 στον worker A και στη συνέχεια συνεχίζει ως εκτέλεση 8 στον worker B. Ένα αίτημα που επιλέχθηκε για την εκτέλεση 8 πρέπει να αποτύχει αν φτάσει στην εκτέλεση 7. Αν ελεγχόταν μόνο το αναγνωριστικό του Sandbox, η ασυμφωνία δεν θα εντοπιζόταν.

Υπογεγραμμένη επιλογή εκτέλεσης

Κάθε αίτημα φέρει υπογεγραμμένη απόδειξη για το ποια εκτέλεση Sandbox μπορεί να το χειριστεί και ποια πρόσβαση επιτρέπεται. Το στοιχείο που το λαμβάνει ελέγχει αυτή την απόδειξη σε σχέση με τη δική του ταυτότητα runtime πριν επιτρέψει στο αίτημα να προχωρήσει.

Μετά την εξουσιοδότηση του καλούντος, το SPACE εκδίδει μια βραχύβια, υπογεγραμμένη δυνατότητα που προσδιορίζει το Sandbox, την εκτέλεση, την τοποθέτηση και την επιτρεπόμενη πρόσβαση. Οι δυνατότητες για δημόσιες θύρες υπηρεσιών καθορίζουν επίσης την επιτρεπόμενη θύρα και το πρωτόκολλο.

Ο διαχειριστής Sandbox που λαμβάνει το αίτημα επαληθεύει την υπογραφή και συγκρίνει την πλήρη ταυτότητα με την εγγραφή runtime που διατηρεί τοπικά. Η υπογραφή καθορίζει ποιος εξουσιοδότησε την επιλογή. Η σύγκριση καθορίζει αν η επιλογή αυτή αντιστοιχεί στον παραλήπτη.

Η κίνηση ServicePort υποβάλλεται σε δεύτερο έλεγχο στην πύλη δικτύου κάθε Sandbox, netgtw, πριν ανοίξει μια σύνδεση προς το guest. Η πύλη συγκρίνει την ταυτότητα με αξιόπιστη κατάσταση ενεργοποίησης και ελέγχει τη θύρα και το πρωτόκολλο. Οι λειτουργίες ελέγχου προχωρούν στην επαλήθευση των τελικών σημείων της γέφυρας.

Το SPACE χρησιμοποιεί υπογραφές Ed25519. Τα κλειδιά υπογραφής του επιπέδου ελέγχου εκδίδουν δυνατότητες· τα δημόσια κλειδιά επαλήθευσης στους workers και στις πύλες δεν μπορούν να τις εκδώσουν.

Οι δυνατότητες ισχύουν για 120 δευτερόλεπτα, με περιθώριο απόκλισης ρολογιού έως 15 δευτερόλεπτα για τη λήξη. Μια έγκυρη υπογραφή και ένα token που δεν έχει λήξει δεν αρκούν όταν η επιλεγμένη και η εγκατεστημένη ταυτότητα διαφέρουν.

Απόρριψη στον λάθος προορισμό

Ο worker που λαμβάνει το αίτημα μπορεί να εντοπίσει ένα σφάλμα δρομολόγησης ακόμη και όταν το ίδιο το αίτημα είναι εξουσιοδοτημένο. Ελέγχει αν η εκτέλεση που τρέχει είναι αυτή που επιλέχθηκε για το συγκεκριμένο αίτημα και, αν διαφέρουν, απορρίπτει το αίτημα.

Αν ένα αίτημα που επιλέχθηκε για την εκτέλεση 8 φτάσει στον worker A, ο οποίος εξακολουθεί να εξυπηρετεί την εκτέλεση 7, ο worker A το απορρίπτει πριν από την προώθηση. Μόλις ένας παραλήπτης εγκαταστήσει την ταυτότητα της εκτέλεσης 8, απορρίπτει επίσης τις δυνατότητες (capabilities) για την εκτέλεση 7, ακόμη και πριν λήξουν.

Αυτή η εγγύηση έχει ένα σημαντικό όριο. Μια δυνατότητα για την εκτέλεση 7 μπορεί ακόμη να ταιριάζει με έναν worker που εξυπηρετεί την εκτέλεση 7, έως ότου ο worker ενημερωθεί για την απόσυρσή της ή λήξει η δυνατότητα. Η τοπική επιβολή και η περιορισμένη διάρκεια ζωής των δυνατοτήτων λειτουργούν συνδυαστικά όσο διαδίδονται οι ενημερώσεις.

Επαλήθευση τελικών σημείων της γέφυρας

Μια εγγραφή runtime που ταιριάζει καθορίζει την επιδιωκόμενη εκτέλεση. Η γέφυρα ελέγχου πρέπει επίσης να φτάνει στις διεργασίες και στη μεταφορά που ανήκουν στη συγκεκριμένη ενεργοποίηση και όχι σε μια αντικατάσταση που κληρονόμησε την ίδια διεύθυνση.

Οι διαχειριστές Sandbox και κόμβων επαληθεύουν τα διαπιστευτήρια ομότιμου της γέφυρας του κεντρικού υπολογιστή, καθώς και τις ταυτότητες των διεργασιών τόσο της γέφυρας όσο και του Firecracker, συμπεριλαμβανομένων των χρόνων εκκίνησης, εντοπίζοντας επαναχρησιμοποιημένα αναγνωριστικά ή τροποποιημένα εκτελέσιμα αρχεία

Οι έλεγχοι μεταφοράς συνδέουν τον ακροατή VSOCK με την αναμενόμενη διεργασία Firecracker, αξιοποιώντας την ιδιοκτησία του socket, την ταυτότητα του guest και στοιχεία socket από τον πυρήνα. Η γέφυρα προωθεί λειτουργίες μόνο μετά την επαλήθευση και αρνείται τις διαφανείς επανασυνδέσεις. Κάθε νέα σύνδεση πρέπει να περάσει ξανά τους ελέγχους.

Η επαλήθευση αυτή καλύπτει τη γέφυρα ελέγχου του Firecracker στο Kubernetes και σε κεντρικούς υπολογιστές με άμεση διαχείριση. Για την κίνηση ServicePort εφαρμόζονται έλεγχοι εκτέλεσης και θύρας στην πύλη της· οι έλεγχοι αυτοί δεν πιστοποιούν την ταυτότητα μιας αυθαίρετης εφαρμογής μέσα στο guest.

Διάρκεια ζωής ροών και ανάκτηση διαδρομών

Ορισμένες συνδέσεις παραμένουν ανοιχτές ενώ αλλάζει η εκτέλεση ενός Sandbox, επομένως οι έλεγχοι ταυτότητας πρέπει να εκτείνονται πέρα από το αρχικό αίτημα. Το SPACE αποσύρει τις συνδέσεις που είναι δεσμευμένες στην παλιά εκτέλεση και επιτρέπει στις επιλέξιμες λειτουργίες να επανασυνδεθούν στην τρέχουσα, με τους ίδιους ελέγχους ασφαλείας.

Τα τερματικά και οι παρακολουθήσεις αρχείων μπορεί να διαρκούν περισσότερο από τα αιτήματα που τα άνοιξαν. Το SPACE συνδέει τις ροές backend με μια εποχή ταυτότητας (identity epoch), ώστε μια ροή να μην μπορεί να παραμείνει συνδεδεμένη με την προηγούμενη εκτέλεση αφού ο παραλήπτης εγκαταστήσει μια εκτέλεση αντικατάστασης.

Το SPACE ελέγχει ξανά τη μόνιμη ταυτότητα πριν ανοίξει μια ροή. Η αντικατάσταση της διαδρομής ή της εκτέλεσής της ακυρώνει τη μίσθωση (lease) της ροής, διακόπτοντας την είσοδο και την έξοδο.

Οι αλλαγές ιδιοκτησίας διαφέρουν από την αντικατάσταση της εκτέλεσης. Η μεταβίβαση μιας λειτουργίας κύκλου ζωής, ενώ ο resident του Kubernetes παραμένει αμετάβλητος, διατηρεί την ταυτότητα διαδρομής του, τις δυνατότητες που δεν έχουν λήξει και τις ροές του. Η πύλη διατηρεί επίσης τις ήδη ανοιχτές ροές όταν αλλάζει μόνο η απόπειρα ενεργοποίησης, εντός της ίδιας διαδρομής και γενιάς εκτέλεσης. Τα νέα ανοίγματα ροών απαιτούν την ενημερωμένη ταυτότητα.

Η ανάκτηση διατηρεί αυτούς τους ελέγχους ανέπαφους. Ο συγκριτής ταυτότητας μπορεί να επιστρέψει RefreshRoute για ασυμφωνία υπόστασης εντός του ίδιου Sandbox ή Deny για διαφορετικό Sandbox. Μόνο ένα αναγνωρισμένο σήμα ανανέωσης ενεργοποιεί την επιδιόρθωση της διαδρομής μετά από απόρριψη ταυτότητας. Οι αποτυχίες μεταφοράς ακολουθούν ξεχωριστούς κανόνες ανάκτησης, ειδικούς για κάθε λειτουργία. Οι μη έγκυρες υπογραφές, οι μη έγκυροι σκοποί ή τα μη έγκυρα προφίλ θυρών εξακολουθούν να απορρίπτονται.

Μια επιλέξιμη λειτουργία μπορεί να εντοπίσει την τρέχουσα εκτέλεση και να κάνει μία νέα απόπειρα με ανακατασκευασμένη διαδρομή. Η αντικατάσταση στην κρυφή μνήμη γίνεται μόνο εφόσον η καταχώριση εξακολουθεί να αντιστοιχεί στη διαδρομή που απορρίφθηκε, ώστε μια καθυστερημένη απόρριψη να μην μπορεί να εκτοπίσει μια νεότερη καταχώριση. Η ανανέωση της εγγενούς συνεδρίας διατηρεί την αρχική λήξη της κρυφής μνήμης, διαχωρίζοντας την επιδιόρθωση της διαδρομής από την ανανέωση της εξουσιοδότησης του καλούντος.

Οι κανόνες επανάληψης (replay) παραμένουν ειδικοί για κάθε λειτουργία. Ένα backend αντικατάστασης πρέπει να περάσει ξανά τον έλεγχο αποδοχής, ακόμη και όταν το WebSocket προς την πλευρά του πελάτη παραμένει ανοιχτό.

Συμβιβασμοί και όρια εμπιστοσύνης

Η ταυτότητα εκτέλεσης γίνεται κατάσταση κρίσιμη για την ασφάλεια. Οι ενημερώσεις του επιπέδου ελέγχου και τα πακέτα κλειδιών επαλήθευσης πρέπει να φτάνουν στα στοιχεία εξυπηρέτησης, ενώ η απόσυρση τίθεται σε ισχύ όταν κάθε παραλήπτης εγκαταστήσει την ενημέρωση. Η σύντομη διάρκεια ζωής των δυνατοτήτων περιορίζει την επαναχρησιμοποίηση κατά τη διάδοση.

Ο σχεδιασμός προϋποθέτει ότι η επιβολή ταυτότητας είναι ενεργοποιημένη και εμπιστεύεται τον υπογράφοντα του επιπέδου ελέγχου (control plane), τον πυρήνα του worker και τις τοπικές υπηρεσίες διαχείρισης του κόμβου. Η παραβίαση του λογαριασμού root του worker ή ενός προνομιούχου λογαριασμού διαχειριστή συμπλέγματος βρίσκεται εκτός του μοντέλου απειλών. Η επαλήθευση της γέφυρας είναι τοπική επαλήθευση διεργασιών και μεταφοράς, όχι απομακρυσμένη βεβαίωση (remote attestation) βασισμένη σε υλικό.

Η επαλήθευση υπογραφών, οι συγκρίσεις runtime και η επικύρωση της γέφυρας προσθέτουν εργασία στη διαδρομή του αιτήματος. Χρησιμοποιούν τοπική κατάσταση αντί για απομακρυσμένη αναζήτηση εξουσιοδότησης σε κάθε ιδιωτικό ενδιάμεσο βήμα.

Σύγκριση με τον κλάδο

Η κρίσιμη σύγκριση αφορά τον τρόπο με τον οποίο οι πλατφόρμες χειρίζονται ένα εξουσιοδοτημένο αίτημα που φτάνει στη λάθος εκτέλεση του σωστού Sandbox. Τα ευρήματα αυτά αφορούν τις υλοποιήσεις που εξετάστηκαν και όχι τη συνολική ασφάλεια των πλατφορμών. Τα SPACE, OpenShell και E2B ελέγχθηκαν στις 8 Οκτωβρίου 2026:

  • OpenShell: Παρέχει συγκρίσιμη επιλογή εκτέλεσης για νέες κλήσεις και δέσμευση supervisor-runtime μέσω ελέγχων γενιάς και εξουσιοδότησης στην πύλη (gateway), επικύρωσης ταυτότητας backend και επιβεβαιωμένων ενεργών συνδέσεων supervisor (αποδοχή στην πύλη, έλεγχος ταυτότητας και δέσμευση runtime). Το SPACE μεταφέρει την υπογεγραμμένη επιλογή σε όλη τη διαδρομή εξυπηρέτησης και προσθέτει τοπική επαλήθευση διεργασιών και μεταφοράς στον worker· το OpenShell κατανέμει τους αντίστοιχους ελέγχους στην πύλη του, στην ταυτότητα εκκίνησης και στο πρωτόκολλο runtime με έλεγχο ταυτότητας (σχεδιασμός runtime).
  • E2B: Παρακολουθεί τα αναγνωριστικά εκτέλεσης και απομονώνει τα pools του proxy ανάλογα με τον κύκλο ζωής του Firecracker, όμως ο proxy εισερχόμενης κίνησης επιλέγει το λογικό Sandbox και τη θύρα χωρίς αναμενόμενη ταυτότητα εκτέλεσης για σύγκριση από τον παραλήπτη (δημοσίευση διαδρομών, αποδοχή στον proxy). Μια παλαιότερη εκτέλεση που εξακολουθεί να είναι καταχωρισμένη ως ενεργή σε έναν παρωχημένο παραλήπτη με διαπιστευτήρια που ταιριάζουν δεν μπορεί να διακριθεί από την επιλεγμένη νεότερη εκτέλεση μέσω αυτών των ελέγχων, αν και η κανονική αποδόμηση (teardown) αφαιρεί τις διαδρομές και κλείνει τις συνδέσεις που είναι δεσμευμένες στον κύκλο ζωής (διαπιστευτήρια, αποδόμηση).
  • CubeSandbox: Επιδιορθώνει τη δρομολόγηση κατά τη συνέχιση και ακυρώνει τις κρυφές μνήμες, όμως η ιδιωτική είσοδος (ingress) χρησιμοποιεί διαπιστευτήρια με εμβέλεια Sandbox και προωθεί χωρίς αναμενόμενη υπόσταση runtime (δρομολόγηση συνέχισης, δρομολόγηση εισόδου). Η επιδιόρθωση διαδρομών περιορίζει τα χρονικά παράθυρα παρωχημένων διαδρομών· η δυνατότητα του SPACE που είναι δεσμευμένη στην εκτέλεση δίνει επιπλέον στον παραλήπτη ανεξάρτητη βάση για να απορρίπτει τη λανθασμένη υπόσταση.

Η ταυτότητα ως όριο απομόνωσης

Η ασφαλής ανάθεση εργασιών εξαρτάται από το να παραμένει η εργασία κάθε πράκτορα εντός των ορίων που προορίζονται για αυτόν. Ένα microVM παρέχει απομόνωση, ενώ η πλατφόρμα γύρω του πρέπει να διασφαλίζει ότι κάθε αίτημα και κάθε σύνδεση σε εξέλιξη φτάνει στην εκτέλεση που είναι εξουσιοδοτημένη να τα χειριστεί.

Το SPACE καθιστά την ταυτότητα εκτέλεσης μέρος αυτής της προστασίας. Ελέγχοντας τους προορισμούς, επαληθεύοντας τα τελικά σημεία της γέφυρας και δεσμεύοντας τις συνδέσεις στην εκτέλεση που τις εξουσιοδότησε, διατηρεί αυτά τα όρια καθώς τα Sandbox τίθενται σε παύση, συνεχίζουν και μετακινούνται.

Συνεχίζουμε την εργασία καθώς εξελίσσεται η υποδομή. Για το SPACE και τις άλλες πλατφόρμες Sandbox, η ασφάλεια απαιτεί να δοκιμάζονται αυτές οι διαδρομές τόσο απέναντι σε συνήθη σφάλματα δρομολόγησης όσο και σε εχθρικούς φόρτους εργασίας, και στη συνέχεια να ενισχύονται τα όρια όπου οι δοκιμές αυτές αποκαλύπτουν κενά.

  1. Απόδραση από το SPACE: Μέρος ΙΈρευνα23 Σεπ 2026
  2. Κατασκευάζοντας το SPACE: Ασφαλή και αποδοτικά περιβάλλοντα εκτέλεσης για πράκτορες μακράς διαρκείαςΈρευνα15 Ιουλ 2026
  3. Ασφαλή sandbox για πράκτορεςΝέα15 Ιουλ 2026