Kuidas SPACE suunab päringud õigesse liivakasti täitmisse
Perplexity SPACE seob tehisintellekti agentide päringud identiteedikontrollide ja allkirjastatud marsruutide abil õige liivakasti täitmisega.

Kui keegi palub tehisintellekti agendil analüüsida arvutustabelit või testida tarkvara, usaldab ta, et agent töötab tema failide ja andmetega turvaliselt. Agendid vajavad isoleeritud keskkondi, kus nad saavad seda tööd teha teiste kasutajate andmeid paljastamata või nende töökoormusi segamata.
Kuna agendid täidavad üha keerukamaid ülesandeid üha suurema iseseisvusega, aitavad need keskkonnad vigu ohjeldada ja piirata kahju, mida ebaturvaline või pahatahtlik kood võib põhjustada. Liivakastid pakuvad seda isolatsiooni, jagades samal ajal juhttasandi teenuseid, töösõlmi ja marsruutimistaristut.
See jagatud taristu peab toimetama iga toimingu täitmiseni, millel on õigus seda käsitleda. Aegunud marsruut võib saata kehtiva päringu teise liivakasti või õige liivakasti varasemasse täitmisse. SPACE, Perplexity turvaline liivakastiplatvorm, seob iga toimingu valitud täitmisega ja kontrollib enne edastamist sihtkohta.
SPACE on juba kuid töödelnud iga päev miljoneid käitusi, millest igaüks on kaitstud unikaalse krüptograafilise identiteediga, kusjuures veamäär on alla 0,0002% ja ükski ühendus pole katkenud.
Marsruutimise probleem
Liivakasti turvalisus sõltub ka sellest, kas iga päring jõuab õigesse sihtkohta. Isegi lihtne faili lugemine läbib jagatud taristu, mis peab pidevalt teadma, kus liivakast parajasti töötab, kui see peatub, jätkab tööd või liigub masinate vahel.
Faili lugemine läbib mitu komponenti. SPACE’i juhttasand määrab liivakastile vastava täitmise ja töösõlme. Päring siseneb komponendi node-api kaudu, liigub edasi liivakastihaldurile sbx-manager ja läbib Unixi pesa hostisillani spaced-host. Sild edastab selle VSOCK-i ehk hosti ja külalise vahelise pesatranspordi kaudu Firecrackeri mikro-VM-is asuvale komponendile spaced-guest.
Iga otsus tugineb olekule, mis võib taristu muutustest maha jääda. Andmebaasis võib säilida vana paigutus, vahemälus olev aadress võib osutada mujale või pesa failiteel võib kuulata hoopis teine protsess. Edukas ühendus võib siiski jõuda valesse sihtkohta. Lugemine võib paljastada teise kasutaja andmed, kirjutamine aga muuta vale failisüsteemi.
Hetktõmmised toovad kaasa veel ühe probleemi. Liivakasti jätkamine teises töösõlmes säilitab selle loogilise identiteedi, kuid käivitab uue täitmise. Hilinenud päring või säilinud ühendus võib jõuda eelkäijani ja tagastada õige liivakasti nime all vana oleku.
Liivakasti identiteet ja käituse identiteet
SPACE eraldab kasutaja keskkonna seda teenindavast käituskeskkonnast:
- Liivakasti identiteet: loogilise keskkonna püsiv ID. Kutsuja autoriseerimine määrab juurdepääsu sellele liivakastile.
- Marsruudi/käituse identiteet: valitud käituskeskkonna inkarnatsioon ja selle paigutus, sh selle tööprotsess (worker), substraat ja aktiveerimine.
Täitmise generatsioon eristab käituskeskkonna inkarnatsioone. Kubernetesis sisaldab marsruut ka podi UID-d. Aadressid määravad lõpp-punktide asukoha; täitmise identiteet määrab, kas need lõpp-punktid tohivad toimingut teenindada.
Oletame, et liivakast S töötab täitmisena 7 töösõlmes A ja jätkab seejärel tööd täitmisena 8 töösõlmes B. Täitmisele 8 valitud päring peab ebaõnnestuma, kui see jõuab täitmiseni 7. Ainult liivakasti ID kontrollimine jätaks selle lahknevuse märkamata.
Allkirjastatud käituse valik
Iga päring kannab allkirjastatud tõendit selle kohta, milline liivakasti täitmine võib seda käsitleda ja milline juurdepääs on lubatud. Vastuvõttev komponent võrdleb seda tõendit oma käitusidentiteediga, enne kui laseb päringul jätkuda.
Pärast kutsuja autoriseerimist väljastab SPACE lühiajalise allkirjastatud volituse, mis määrab liivakasti, täitmise, paigutuse ja lubatud juurdepääsu. Avalikes teenusepordi volitustes on määratud ka lubatud port ja protokoll.
Vastuvõttev liivakastihaldur kontrollib allkirja ja võrdleb täielikku identiteeti oma kohapeal salvestatud käituskirjega. Allkiri näitab, kes valiku autoriseeris. Võrdlus näitab, kas see valik vastab vastuvõtjale.
ServicePorti liiklus läbib enne külalisühenduse avamist teise kontrolli liivakastipõhises võrgulüüsis netgtw. Lüüs võrdleb identiteeti usaldusväärse aktiveerimisolekuga ning kontrollib porti ja protokolli. Juhttoimingud liiguvad edasi silla lõpp-punkti kontrolli.
SPACE kasutab Ed25519-allkirju. Volitusi väljastavad juhttasandi allkirjavõtmed; töösõlmedes ja lüüsides olevad avalikud kontrollvõtmed ei saa neid väljastada.
Volitused kehtivad 120 sekundit ning aegumise kontrollimisel lubatakse kuni 15-sekundilist kellaaja nihet. Kehtivast allkirjast ja aegumata tõendist ei piisa siiski, kui valitud ja paigaldatud identiteedid ei ühti.
Tagasilükkamine vales sihtkohas
Vastuvõttev töösõlm suudab marsruutimisvea tabada ka siis, kui päring ise on autoriseeritud. Töösõlm kontrollib, kas ta käitab sellele päringule valitud täitmist, ja lükkab päringu tagasi, kui need ei ühti.
Kui käitusele 8 valitud päring jõuab tööprotsessini A, mis teenindab endiselt käitust 7, lükkab tööprotsess A selle enne edastamist tagasi. Kui vastuvõtja on käituse 8 identiteedi paigaldanud, lükkab see tagasi ka käituse 7 jaoks väljastatud õigusmärgid, isegi enne nende aegumist.
Sellel garantiil on oluline piir. Täitmise 7 volitus võib endiselt sobida töösõlmega, mis teenindab täitmist 7, kuni see töösõlm saab teada täitmise kasutuselt kõrvaldamisest või volitus aegub. Kohalik jõustamine ja volituse piiratud eluiga toimivad koos seni, kuni uuendused levivad.
Silla lõpp-punkti kontroll
Sobiv käituskirje määrab kavandatud täitmise. Juhtsild peab jõudma ka selle aktiveerimise protsesside ja transpordini, mitte asenduseni, mis on päranud sama aadressi.
Liivakasti- ja sõlmehaldurid kontrollivad hostisilla partneri mandaate ning nii silla kui ka Firecrackeri protsessi identiteeti, sealhulgas käivitusaegu, tuvastades taaskasutatud ID-d või muudetud käivitatavad failid
Transpordikontrollid seovad VSOCK-kuulaja oodatava Firecrackeri protsessiga, kasutades pesa omandit, külalise identiteeti ja kerneli pesatõendeid. Sild edastab toiminguid alles pärast kontrolli ega luba läbipaistvat taasühendamist. Iga uus ühendus peab kontrollid uuesti läbima.
See kontroll hõlmab Firecrackeri juhtsilda Kubernetesis ja otse hallatavates hostides. ServicePorti liiklus kasutab oma lüüsis täitmise ja pordi kontrolle; see ei atesteeri külalissüsteemis töötava suvalise rakenduse identiteeti.
Voo eluiga ja marsruudi taastamine
Mõned ühendused jäävad avatuks ka siis, kui liivakasti täitmine muutub, seega peavad identiteedikontrollid ulatuma esialgsest päringust kaugemale. SPACE kõrvaldab vana täitmisega seotud ühendused kasutuselt ja laseb sobilikel toimingutel samade turvakontrollide alusel praeguse täitmisega uuesti ühenduda.
Terminalid ja failijälgijad võivad kesta kauem kui päringud, mis need avasid. SPACE seob taustsüsteemi vood identiteediepohhiga, et voog ei saaks jääda eelkäija külge pärast seda, kui vastuvõtja on paigaldanud asendava täitmise.
SPACE kontrollib enne voo avamist uuesti püsivat identiteeti. Selle marsruudi või täitmise asendamine tühistab voo rendi, peatades sisendi ja väljundi.
Omandi muutused erinevad täitmise asendamisest. Elutsükli toimingu üleandmine muutumata Kubernetese residendi puhul säilitab selle marsruudi identiteedi, aegumata volitused ja vood. Lüüs säilitab loodud vood ka siis, kui samas marsruudis ja täitmise generatsioonis muutub ainult aktiveerimiskatse. Uued avamised nõuavad uuendatud identiteeti.
Taastamine jätab need kontrollid puutumata. Inkarnatsiooni mittevastavuse korral sama liivakasti piires võib identiteedivõrdleja tagastada RefreshRoute, teise liivakasti puhul aga Deny. Pärast identiteedi tagasilükkamist käivitab marsruudi parandamise ainult tuvastatud värskendussignaal. Transpordivigade korral kehtivad eraldi, toimingupõhised taastamisreeglid. Kehtetud allkirjad, eesmärgid või pordiprofiilid jäävad keelatuks.
Sobilik toiming võib tuvastada praeguse täitmise ja teha ühe uuesti koostatud katse. Vahemälu asendamine sõltub tagasi lükatud marsruudist, mis takistab hilinenud tagasilükkamisel uuemat kirjet välja tõrjumast. Natiivse seansi värskendamine säilitab vahemälu algse aegumisaja, eraldades marsruudi parandamise kutsuja autoriseeringu uuendamisest.
Taasesituse reeglid jäävad toimingupõhiseks. Asendav taustsüsteem peab sisselaskekontrolli uuesti läbima ka siis, kui kliendipoolne WebSocket jääb avatuks.
Kompromissid ja usalduspiirid
Täitmise identiteet muutub turvakriitiliseks olekuks. Juhttasandi uuendused ja kontrollvõtmete komplektid peavad jõudma teenindavate komponentideni ning kasutuselt kõrvaldamine jõustub siis, kui iga vastuvõtja uuenduse paigaldab. Volituste lühike eluiga piirab taaskasutust levimise ajal.
Disain eeldab, et identiteedi jõustamine on lubatud, ning usaldab juhttasandi allkirjastajat, töösõlme kernelit ja sõlmesiseseid haldusteenuseid. Töösõlme root-õiguste või privilegeeritud klastriadministraatori kompromiteerimine jääb ohumudelist välja. Silla kontroll on kohalik protsessi- ja transpordikontroll, mitte riistvarapõhine kaugatesteerimine.
Allkirja kontroll, käituskeskkonna võrdlused ja silla valideerimine lisavad päringuteele tööd. Need kasutavad kohalikku olekut, mitte igal privaatsel vahelülil tehtavat kaugautoriseerimispäringut.
Valdkonna võrdlus
Oluline on võrrelda, kuidas platvormid käsitlevad olukorda, kus autoriseeritud päring jõuab õige liivakasti valesse täitmisse. Need tähelepanekud puudutavad uuritud implementatsioone, mitte platvormide üldist turvalisust. SPACE’i, OpenShelli ja E2B-d kontrolliti 8. oktoobril 2026:
- OpenShell: pakub võrreldavat uute kutsete täitmise valikut ning supervisori ja käituskeskkonna sidumist lüüsi generatsiooni- ja autoriseerimiskontrollide, taustsüsteemi identiteedi valideerimise ning kinnitatud aktiivsete supervisori ühenduste kaudu (lüüsi sisselaskmine, käituskeskkonna autentimine ja sidumine). SPACE kannab allkirjastatud valiku läbi kogu oma teenindusahela ning lisab töösõlmesisese protsessi- ja transpordikontrolli; OpenShell jaotab vastavad kontrollid oma lüüsi, käivitusidentiteedi ja autenditud käitusprotokolli vahel (käituskeskkonna disain).
- E2B: jälgib täitmise ID-sid ja isoleerib puhverserverite kogumid Firecrackeri elutsükli järgi, kuid selle sissetuleva liikluse puhverserver valib loogilise liivakasti ja pordi ilma oodatava täitmise identiteedita, mida vastuvõtja saaks võrrelda (marsruudi avaldamine, puhverserveri sisselaskmine). Vanemat täitmist, mis on aegunud vastuvõtjal endiselt aktiivsena registreeritud ja millel on sobivad mandaadid, ei saa nende kontrollidega valitud uuemast täitmisest eristada, kuigi tavapärane lõpetamine eemaldab marsruudid ja sulgeb elutsükliga seotud ühendused (mandaadid, lõpetamine).
- CubeSandbox: parandab jätkamisel marsruutimise ja tühistab vahemälud, kuid privaatne sisenev liiklus kasutab liivakastipõhiseid mandaate ja edastab päringuid ilma oodatava käituskeskkonna inkarnatsioonita (jätkamise marsruutimine, sissetuleva liikluse marsruutimine). Marsruudi parandamine lühendab aegunud marsruutide ajaakent; SPACE’i täitmisega seotud volitus annab vastuvõtjale lisaks sõltumatu aluse vale inkarnatsiooni tagasilükkamiseks.
Identiteet kui isolatsioonipiir
Turvaline delegeerimine sõltub sellest, kas iga agendi töö püsib talle ette nähtud piirides. Mikro-VM tagab isolatsiooni, samas kui ümbritsev platvorm peab tagama, et iga päring ja kestev ühendus jõuaks täitmiseni, millel on õigus seda käsitleda.
SPACE muudab täitmise identiteedi selle kaitse osaks. Sihtkohti kontrollides, silla lõpp-punkte verifitseerides ja ühendusi neid autoriseerinud täitmisega sidudes säilitab see need piirid ka siis, kui liivakastid peatuvad, jätkavad tööd ja liiguvad.
Jätkame tööd taristu arenedes. SPACE’i ja teiste liivakastiplatvormide puhul eeldab turvalisus nende teekondade testimist nii tavaliste marsruutimisvigade kui ka pahatahtlike töökoormuste vastu ning piiride tugevdamist kõikjal, kus need testid lünki paljastavad.