Kako SPACE usmjerava zahtjeve na pravo izvršavanje sandboxa
SPACE tvrtke Perplexity provjerama identiteta i potpisanim rutama veže zahtjeve AI agenata uz pravo izvršavanje sandboxa.

Kada netko zatraži od AI agenta da analizira proračunsku tablicu ili testira softver, vjeruje mu da će sigurno raditi s njegovim datotekama i podacima. Agentima su potrebna izolirana okruženja u kojima taj posao mogu obaviti bez izlaganja podataka drugih korisnika ili ometanja njihovih radnih opterećenja.
Kako agenti preuzimaju sve složenije zadatke s većom autonomijom, ta okruženja pomažu obuzdati pogreške i ograničiti štetu koju nesiguran ili zlonamjeran kod može prouzročiti. Sandboxi pružaju tu izolaciju, a pritom dijele servise upravljačke ravnine, radne čvorove i infrastrukturu za usmjeravanje.
Ta zajednička infrastruktura mora svaku operaciju isporučiti onom izvršavanju koje je ovlašteno za njezinu obradu. Zastarjela ruta može valjan zahtjev poslati drugom sandboxu ili starijem izvršavanju pravog sandboxa. SPACE, sigurna platforma za sandboxe tvrtke Perplexity, veže svaku operaciju uz odabrano izvršavanje i provjerava odredište prije prosljeđivanja.
SPACE već mjesecima obrađuje milijune izvršenja dnevno, od kojih je svako zaštićeno jedinstvenim kriptografskim identitetom, uz stopu pogrešaka ispod 0,0002 % i bez ijedne prekinute veze.
Problem usmjeravanja
Sigurnost sandboxa ovisi i o tome da svaki zahtjev stigne na pravo odredište. Čak i jednostavno čitanje datoteke prolazi kroz zajedničku infrastrukturu koja mora pratiti gdje se sandbox izvodi dok se pauzira, nastavlja ili premješta s jednog računala na drugo.
Čitanje datoteke prolazi kroz nekoliko komponenti. Upravljačka ravnina SPACE-a razrješava sandbox u izvršavanje i radni čvor. Zahtjev ulazi kroz node-api, prelazi do upravitelja sandboxa, sbx-manager, i preko Unix utičnice stiže do mosta na hostu, spaced-host. Most ga prosljeđuje preko VSOCK-a, transporta utičnica od hosta do gosta, do komponente spaced-guest unutar Firecracker microVM-a.
Svaka odluka oslanja se na stanje koje može zaostajati za promjenama infrastrukture. Baza podataka može zadržati stari smještaj, adresa u predmemoriji može upućivati drugamo, a putanja utičnice može dobiti drugog slušatelja. Uspješna veza i dalje može stići na pogrešno odredište. Čitanje bi moglo otkriti podatke drugog korisnika, a pisanje izmijeniti pogrešan datotečni sustav.
Snimke stanja donose još jedan problem. Nastavak rada sandboxa na drugom radnom čvoru zadržava njegov logički identitet, ali pokreće novo izvršavanje. Zakašnjeli zahtjev ili veza koja je preživjela mogu stići do njegova prethodnika i vratiti staro stanje pod imenom pravog sandboxa.
Identitet sandboxa i identitet izvršenja
SPACE razdvaja korisnikovo okruženje od izvršnog okruženja koje ga poslužuje:
- Identitet sandboxa: Stabilni ID logičkog okruženja. Autorizacija pozivatelja utvrđuje pristup ovom sandboxu.
- Identitet rute/izvršenja: Odabrana inkarnacija izvršnog okruženja i njezin smještaj, uključujući radni čvor (worker), supstrat i aktivaciju.
Generacija izvršavanja razlikuje inkarnacije izvršnog okruženja. Na Kubernetesu ruta uključuje i UID poda. Adrese lociraju krajnje točke; identitet izvršavanja određuje smiju li te krajnje točke posluživati operaciju.
Pretpostavimo da se sandbox S izvodi kao izvršavanje 7 na radnom čvoru A, a zatim nastavi rad kao izvršavanje 8 na radnom čvoru B. Zahtjev odabran za izvršavanje 8 mora biti odbijen ako stigne do izvršavanja 7. Provjera samo ID-ja sandboxa ne bi otkrila to neslaganje.
Potpisani odabir izvršenja
Svaki zahtjev nosi potpisani dokaz o tome koje ga izvršavanje sandboxa smije obraditi i koji je pristup dopušten. Komponenta koja ga prima provjerava taj dokaz u odnosu na vlastiti identitet izvršnog okruženja prije nego što dopusti nastavak zahtjeva.
Nakon autorizacije pozivatelja SPACE izdaje kratkotrajno, potpisano ovlaštenje koje identificira sandbox, izvršavanje, smještaj i dopušteni pristup. Ovlaštenja za javne servisne portove dodatno navode dopušteni port i protokol.
Upravitelj sandboxa koji prima zahtjev provjerava potpis i uspoređuje potpuni identitet sa svojim lokalno pohranjenim zapisom o izvršnom okruženju. Potpis utvrđuje tko je odobrio odabir. Usporedba utvrđuje odgovara li taj odabir primatelju.
Promet putem ServicePorta prolazi drugu provjeru na mrežnom pristupniku svakog sandboxa, netgtw, prije otvaranja veze prema gostu. Pristupnik uspoređuje identitet s pouzdanim stanjem aktivacije te provjerava port i protokol. Upravljačke operacije nastavljaju prema provjeri krajnjih točaka mosta.
SPACE koristi potpise Ed25519. Ključevi za potpisivanje upravljačke ravnine izdaju ovlaštenja; javni ključevi za provjeru na radnim čvorovima i pristupnicima ne mogu ih izdavati.
Ovlaštenja traju 120 sekundi, uz dopušteno odstupanje sata pri isteku od najviše 15 sekundi. Valjan potpis i token kojemu nije istekla valjanost i dalje nisu dovoljni kada se odabrani i instalirani identitet ne podudaraju.
Odbijanje na pogrešnom odredištu
Radni čvor koji prima zahtjev može uočiti pogrešku u usmjeravanju čak i kada je sam zahtjev autoriziran. Provjerava izvodi li upravo ono izvršavanje koje je odabrano za taj zahtjev i odbija zahtjev ako to nije slučaj.
Ako zahtjev odabran za izvršenje 8 stigne do radnog čvora A, koji još uvijek poslužuje izvršenje 7, radni čvor A odbija ga prije prosljeđivanja. Nakon što primatelj instalira identitet izvršenja 8, odbija i ovlasti (capabilities) za izvršenje 7, čak i prije nego što isteknu.
Ovo jamstvo ima važnu granicu. Ovlaštenje za izvršavanje 7 i dalje se može podudarati s radnim čvorom koji poslužuje izvršavanje 7 sve dok taj čvor ne sazna da je izvršavanje povučeno ili dok ovlaštenju ne istekne valjanost. Lokalna provedba i ograničeni vijek trajanja ovlaštenja djeluju zajedno dok se ažuriranja šire.
Provjera krajnjih točaka mosta
Podudarni zapis o izvršnom okruženju utvrđuje namijenjeno izvršavanje. Upravljački most također mora doći do procesa i transporta koji pripadaju toj aktivaciji, a ne do zamjene koja je naslijedila istu adresu.
Upravitelji sandboxa i čvora provjeravaju vjerodajnice druge strane za most na hostu te identitete procesa mosta i Firecrackera, uključujući vremena pokretanja, čime otkrivaju ponovno korištene ID-jeve ili promijenjene izvršne datoteke
Provjere transporta vežu VSOCK slušatelja uz očekivani proces Firecrackera na temelju vlasništva nad utičnicom, identiteta gosta i dokaza o utičnici iz jezgre. Most prosljeđuje operacije tek nakon provjere i odbija transparentna ponovna povezivanja. Svaka nova veza mora ponovno proći provjere.
Ova provjera obuhvaća upravljački most Firecrackera na Kubernetesu i na izravno upravljanim hostovima. Promet putem ServicePorta koristi provjere izvršavanja i porta na svojem pristupniku; on ne potvrđuje identitet proizvoljne aplikacije unutar gosta.
Vijek trajanja tokova i oporavak ruta
Neke veze ostaju otvorene dok se izvršavanje sandboxa mijenja, pa se provjere identiteta moraju protezati i nakon početnog zahtjeva. SPACE povlači veze vezane uz staro izvršavanje i operacijama koje ispunjavaju uvjete omogućuje ponovno povezivanje s trenutačnim izvršavanjem uz iste sigurnosne provjere.
Terminali i praćenja datoteka mogu nadživjeti zahtjeve kojima su otvoreni. SPACE veže pozadinske tokove uz epohu identiteta tako da tok ne može ostati povezan s prethodnikom nakon što primatelj instalira zamjensko izvršavanje.
SPACE ponovno provjerava trajni identitet prije otvaranja toka. Zamjena rute ili izvršavanja poništava zakup toka i zaustavlja ulaz i izlaz.
Promjene vlasništva razlikuju se od zamjene izvršavanja. Primopredaja operacije životnog ciklusa na nepromijenjenom rezidentu u Kubernetesu zadržava njegov identitet rute, ovlaštenja kojima nije istekla valjanost i tokove. Pristupnik također zadržava uspostavljene tokove pri promjenama koje se odnose samo na pokušaj aktivacije unutar iste rute i generacije izvršavanja. Za nova otvaranja potreban je ažurirani identitet.
Oporavak ne narušava te provjere. Komparator identiteta može vratiti RefreshRoute pri neusklađenosti inkarnacije unutar istog sandboxa ili Deny za drugi sandbox. Samo prepoznati signal osvježavanja pokreće popravak rute nakon odbijanja identiteta. Za transportne pogreške vrijede zasebna pravila oporavka specifična za pojedinu operaciju. Nevažeći potpisi, namjene ili profili portova i dalje se odbijaju.
Operacija koja ispunjava uvjete može razriješiti trenutačno izvršavanje i jednom ponoviti pokušaj s ponovno izgrađenim zahtjevom. Zamjena u predmemoriji uvjetovana je odbijenom rutom, čime se sprječava da zakašnjelo odbijanje izbaci noviji unos. Osvježavanje nativne sesije zadržava izvorni rok isteka predmemorije, čime se popravak rute odvaja od obnove autorizacije pozivatelja.
Pravila ponavljanja zahtjeva i dalje ovise o vrsti operacije. Zamjenski pozadinski sustav mora ponovno proći prihvat, čak i kada WebSocket veza prema klijentu ostane otvorena.
Kompromisi i granice povjerenja
Identitet izvršavanja postaje sigurnosno kritično stanje. Ažuriranja upravljačke ravnine i paketi ključeva za provjeru moraju stići do komponenti koje poslužuju zahtjeve, a povlačenje stupa na snagu kada pojedini primatelj instalira ažuriranje. Kratki vijek trajanja ovlaštenja ograničava ponovnu uporabu tijekom širenja ažuriranja.
Dizajn pretpostavlja da je provedba identiteta uključena te vjeruje potpisniku upravljačke ravnine, jezgri radnog čvora i upravljačkim servisima na samom čvoru. Kompromitiranje root pristupa na radnom čvoru ili privilegiranog administratora klastera izvan je modela prijetnji. Provjera mosta lokalna je provjera procesa i transporta, a ne udaljena atestacija utemeljena na hardveru.
Provjera potpisa, usporedbe izvršnog okruženja i validacija mosta dodaju posao na putu zahtjeva. Pritom se koristi lokalno stanje umjesto udaljenog traženja autorizacije na svakom privatnom koraku.
Usporedba s drugim platformama
Za usporedbu je ključno kako platforme postupaju kada autorizirani zahtjev stigne do pogrešnog izvršavanja pravog sandboxa. Ovi se nalazi odnose na pregledane implementacije, a ne na ukupnu sigurnost platformi. SPACE, OpenShell i E2B provjereni su 8. listopada 2026. godine:
- OpenShell: Pruža usporediv odabir izvršavanja za nove pozive i vezivanje nadzornika uz izvršno okruženje putem generacija pristupnika i provjera autorizacije, provjere identiteta pozadinskog sustava i potvrđenih aktivnih veza nadzornika (prihvat na pristupniku, autentifikacija i vezivanje izvršnog okruženja). SPACE prenosi potpisani odabir kroz cijeli put posluživanja te dodaje lokalnu provjeru procesa i transporta na radnom čvoru; OpenShell odgovarajuće provjere raspoređuje na svoj pristupnik, identitet pokretanja i autentificirani protokol izvršnog okruženja (dizajn izvršnog okruženja).
- E2B: Prati ID-jeve izvršavanja i izolira skupove proxyja prema životnom ciklusu Firecrackera, ali njegov ulazni proxy odabire logički sandbox i port bez očekivanog identiteta izvršavanja s kojim bi ga primatelj usporedio (objava ruta, prihvat na proxyju). Te provjere ne mogu razlikovati starije izvršavanje koje je na zastarjelom primatelju s podudarnim vjerodajnicama i dalje registrirano kao aktivno od odabranog novijeg izvršavanja, iako se pri uobičajenom gašenju uklanjaju rute i zatvaraju veze vezane uz životni ciklus (vjerodajnice, gašenje).
- CubeSandbox: Popravlja usmjeravanje pri nastavku rada i poništava predmemorije, ali privatni ulazni promet koristi vjerodajnice vezane uz sandbox i prosljeđuje zahtjeve bez očekivane inkarnacije izvršnog okruženja (usmjeravanje pri nastavku rada, usmjeravanje ulaznog prometa). Popravak ruta skraćuje razdoblja u kojima su rute zastarjele; ovlaštenje vezano uz izvršavanje u SPACE-u primatelju također daje neovisnu osnovu za odbijanje pogrešne inkarnacije.
Identitet kao granica izolacije
Sigurno delegiranje ovisi o tome da rad svakog agenta ostane unutar granica koje su mu namijenjene. MicroVM pruža izolaciju, dok okolna platforma mora osigurati da svaki zahtjev i svaka aktivna veza stignu do izvršavanja koje je ovlašteno za njihovu obradu.
SPACE identitet izvršavanja čini dijelom te zaštite. Provjerom odredišta, verifikacijom krajnjih točaka mosta i vezivanjem veza uz izvršavanje koje ih je odobrilo zadržava te granice dok se sandboxi pauziraju, nastavljaju i premještaju.
Nastavljamo s radom kako se infrastruktura razvija. Za SPACE i druge platforme za sandboxe sigurnost zahtijeva testiranje tih putova i na uobičajene pogreške u usmjeravanju i na zlonamjerna radna opterećenja, a zatim jačanje granica gdje god ti testovi otkriju nedostatke.