Kaip SPACE nukreipia užklausas į tinkamą sandbox aplinkos vykdymą

Perplexity SPACE, naudodama tapatybės patikras ir pasirašytus maršrutus, susieja DI agentų užklausas su tinkamu sandbox aplinkos vykdymu.

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

Kai kas nors paprašo DI agento išanalizuoti skaičiuoklę ar išbandyti programinę įrangą, jis pasitiki, kad agentas saugiai dirbs su jo failais ir duomenimis. Agentams reikia izoliuotų aplinkų, kuriose jie galėtų atlikti šį darbą neatskleisdami kitų naudotojų duomenų ir netrukdydami jų darbo krūviams.

Agentams imantis sudėtingesnių užduočių ir veikiant vis savarankiškiau, šios aplinkos padeda suvaldyti klaidas ir apriboti žalą, kurią gali padaryti nesaugus ar kenkėjiškas kodas. Sandbox aplinkos užtikrina šią izoliaciją, kartu dalydamosi valdymo plokštumos paslaugomis, darbiniais mazgais ir maršrutizavimo infrastruktūra.

Ši bendra infrastruktūra turi kiekvieną operaciją pristatyti tam vykdymui, kuriam leista ją apdoroti. Pasenęs maršrutas gali nusiųsti galiojančią užklausą į kitą sandbox aplinką arba į senesnį tinkamos sandbox aplinkos vykdymą. SPACE – saugi Perplexity sandbox platforma – kiekvieną operaciją susieja su pasirinktu vykdymu ir prieš persiųsdama patikrina paskirties vietą.

Jau kelis mėnesius SPACE kasdien apdoroja milijonus vykdymų, kurių kiekvienas apsaugotas unikalia kriptografine tapatybe, o klaidų lygis nesiekia 0,0002 % ir nenutrūko nė vienas ryšys.

Maršrutizavimo problema

Sandbox aplinkų saugumas taip pat priklauso nuo to, ar kiekviena užklausa pasiekia tinkamą paskirties vietą. Net paprastas failo skaitymas keliauja per bendrą infrastruktūrą, kuri turi sekti, kur veikia sandbox aplinka, kai ji pristabdoma, vėl paleidžiama ar perkeliama tarp mašinų.

Failo skaitymo užklausa keliauja per kelis komponentus. SPACE valdymo plokštuma susieja sandbox aplinką su vykdymu ir darbiniu mazgu. Užklausa patenka per node-api, perduodama sandbox tvarkytuvui sbx-manager ir per Unix lizdą pasiekia pagrindinio kompiuterio tiltą spaced-host. Tiltas ją persiunčia per VSOCK – pagrindinio kompiuterio ir svečio sistemos lizdų transportą – į spaced-guest, veikiantį Firecracker mikroVM viduje.

Kiekvienas sprendimas remiasi būsena, kuri gali atsilikti nuo infrastruktūros pokyčių. Duomenų bazėje gali likti pasenusi išdėstymo informacija, podėlyje saugomas adresas gali rodyti kitur, o lizdo kelią gali perimti kitas klausytojas. Sėkmingas ryšys vis tiek gali pasiekti netinkamą paskirties vietą. Skaitymas gali atskleisti kito naudotojo duomenis, o rašymas – pakeisti ne tą failų sistemą.

Momentinės kopijos sukelia dar vieną problemą. Vėl paleidus sandbox aplinką kitame darbiniame mazge, išsaugoma jos loginė tapatybė, tačiau pradedamas naujas vykdymas. Uždelsta užklausa ar išlikęs ryšys gali pasiekti jos pirmtaką ir grąžinti seną būseną su tinkamu sandbox aplinkos pavadinimu.

Sandbox tapatybė ir vykdymo tapatybė

SPACE atskiria naudotojo aplinką nuo ją aptarnaujančios vykdymo aplinkos:

  • Sandbox aplinkos tapatybė: stabilus loginės aplinkos ID. Iškviečiančiosios šalies autorizacija suteikia prieigą prie šios sandbox aplinkos.
  • Maršruto / vykdymo tapatybė: pasirinktas vykdymo aplinkos egzempliorius ir jo išdėstymas, įskaitant darbinį mazgą, substratą ir aktyvavimą.

Vykdymo karta atskiria vykdymo aplinkos egzempliorius. Kubernetes aplinkoje maršrutas taip pat apima pod UID. Adresai nurodo galinių taškų vietą, o vykdymo tapatybė lemia, ar tie galiniai taškai gali aptarnauti operaciją.

Tarkime, sandbox aplinka S veikia kaip vykdymas 7 darbiniame mazge A, o vėliau vėl paleidžiama kaip vykdymas 8 darbiniame mazge B. Užklausa, pasirinkta vykdymui 8, turi būti atmesta, jei ji pasiekia vykdymą 7. Tikrinant tik sandbox aplinkos ID šis neatitikimas liktų nepastebėtas.

Pasirašytas vykdymo pasirinkimas

Kiekvienoje užklausoje yra pasirašytas įrodymas, kuris sandbox aplinkos vykdymas gali ją apdoroti ir kokia prieiga leidžiama. Gaunantysis komponentas, prieš leisdamas užklausai keliauti toliau, palygina šį įrodymą su savo vykdymo aplinkos tapatybe.

Autorizavusi iškviečiančiąją šalį, SPACE išduoda trumpalaikį pasirašytą leidimą, kuriame nurodoma sandbox aplinka, vykdymas, išdėstymas ir leidžiama prieiga. Viešųjų paslaugų prievadų leidimuose taip pat nurodomas leidžiamas prievadas ir protokolas.

Gaunantysis sandbox tvarkytuvas patikrina parašą ir palygina visą tapatybę su vietoje išsaugotu vykdymo aplinkos įrašu. Parašas nustato, kas autorizavo pasirinkimą. Palyginimas nustato, ar tas pasirinkimas atitinka gavėją.

ServicePort srautas antrą kartą tikrinamas kiekvienai sandbox aplinkai skirtame tinklo šliuze netgtw, prieš atidarant ryšį su svečio sistema. Šliuzas palygina tapatybę su patikima aktyvinimo būsena ir patikrina prievadą bei protokolą. Valdymo operacijos pereina į tilto galinių taškų patikrą.

SPACE naudoja Ed25519 parašus. Leidimus išduoda valdymo plokštumos pasirašymo raktai; darbiniuose mazguose ir šliuzuose esantys viešieji patikros raktai jų išduoti negali.

Leidimai galioja 120 sekundžių, o galiojimo pabaigai leidžiamas iki 15 sekundžių laikrodžių nesutapimas. Galiojančio parašo ir nepasibaigusio žetono vis tiek nepakanka, kai pasirinkta ir įdiegta tapatybės nesutampa.

Atmetimas netinkamoje paskirties vietoje

Gaunantysis darbinis mazgas gali aptikti maršrutizavimo klaidą net tada, kai pati užklausa yra autorizuota. Jis patikrina, ar vykdo tai užklausai pasirinktą vykdymą, ir atmeta užklausą, jei jie nesutampa.

Jei užklausa, pasirinkta vykdymui 8, pasiekia darbinį mazgą A, kuris vis dar aptarnauja vykdymą 7, darbinis mazgas A ją atmeta prieš persiųsdamas. Kai gavėjas įdiegia vykdymo 8 tapatybę, jis taip pat atmeta vykdymo 7 leidimus, net jei jų galiojimas dar nepasibaigė.

Ši garantija turi svarbią ribą. Leidimas vykdymui 7 vis dar gali atitikti darbinį mazgą, aptarnaujantį vykdymą 7, kol tas mazgas nesužino apie išėmimą iš naudojimo arba kol leidimas nustoja galioti. Kol atnaujinimai sklinda, vietinis taisyklių užtikrinimas ir ribota leidimų galiojimo trukmė veikia kartu.

Tilto galinių taškų patikra

Atitinkantis vykdymo aplinkos įrašas nustato numatytą vykdymą. Valdymo tiltas taip pat turi pasiekti tam aktyvinimui priklausančius procesus ir transportą, o ne pakaitinius, paveldėjusius tą patį adresą.

Sandbox ir mazgų tvarkytuvai patikrina pagrindinio kompiuterio tilto ryšio partnerio kredencialus ir tiek tilto, tiek Firecracker procesų tapatybes, įskaitant paleidimo laikus, taip aptikdami pakartotinai panaudotus ID ar pakeistus vykdomuosius failus

Transporto patikros susieja VSOCK klausytoją su tikėtinu Firecracker procesu pagal lizdo nuosavybę, svečio sistemos tapatybę ir branduolio lizdų įrodymus. Tiltas persiunčia operacijas tik po patikros ir atsisako skaidrių pakartotinių prisijungimų. Kiekvienas naujas ryšys turi vėl praeiti patikras.

Ši patikra apima Firecracker valdymo tiltą Kubernetes aplinkoje ir tiesiogiai valdomuose pagrindiniuose kompiuteriuose. ServicePort srautas tikrinamas jo šliuze pagal vykdymą ir prievadą; ši patikra nepatvirtina bet kokios svečio sistemoje veikiančios programos tapatybės.

Srautų gyvavimo trukmė ir maršrutų atkūrimas

Kai kurie ryšiai lieka atviri, kol keičiasi sandbox aplinkos vykdymas, todėl tapatybės patikros turi apimti ne tik pradinę užklausą. SPACE išima iš naudojimo su senuoju vykdymu susietus ryšius ir leidžia tinkamoms operacijoms vėl prisijungti prie dabartinio vykdymo taikant tas pačias saugumo patikras.

Terminalai ir failų stebėjimai gali veikti ilgiau nei juos atidariusios užklausos. SPACE susieja serverinės dalies srautus su tapatybės epocha, todėl srautas negali likti prijungtas prie pirmtako, kai gavėjas įdiegia pakaitinį vykdymą.

Prieš atidarydama srautą SPACE dar kartą patikrina ilgalaikę tapatybę. Pakeitus srauto maršrutą ar vykdymą, srauto nuoma atšaukiama, o įvestis ir išvestis sustabdomos.

Nuosavybės pokyčiai skiriasi nuo vykdymo pakeitimo. Gyvavimo ciklo operacijos perdavimas nepakitusiame Kubernetes rezidente išsaugo jo maršruto tapatybę, nepasibaigusius leidimus ir srautus. Šliuzas taip pat išsaugo užmegztus srautus, kai tame pačiame maršrute ir vykdymo kartoje keičiasi tik aktyvinimo bandymas. Naujiems atidarymams reikia atnaujintos tapatybės.

Atkūrimo metu šios patikros išlieka nepakitusios. Tapatybių palyginimo komponentas gali grąžinti RefreshRoute, jei tame pačiame Sandbox nesutampa egzemplioriai, arba Deny, jei Sandbox yra kitas. Po tapatybės atmetimo maršruto taisymą inicijuoja tik atpažintas atnaujinimo signalas. Perdavimo gedimams taikomos atskiros, konkrečiai operacijai skirtos atkūrimo taisyklės. Netinkami parašai, paskirtys ar prievadų profiliai ir toliau atmetami.

Tinkama operacija gali nustatyti dabartinį vykdymą ir vieną kartą bandyti iš naujo su atkurtu maršrutu. Podėlio įrašas pakeičiamas tik tada, jei jame tebėra atmestas maršrutas, todėl uždelstas atmetimas negali išstumti naujesnio įrašo. Natyviosios sesijos atnaujinimas išsaugo pradinį podėlio galiojimo laiką, taip atskirdamas maršruto taisymą nuo iškviečiančiosios šalies autorizacijos pratęsimo.

Pakartojimo taisyklės išlieka priklausomos nuo operacijos. Pakaitinė serverinė dalis turi iš naujo praeiti įleidimo patikrą, net jei klientui matomas WebSocket ryšys lieka atviras.

Kompromisai ir pasitikėjimo ribos

Vykdymo tapatybė tampa saugumui kritine būsena. Valdymo plokštumos atnaujinimai ir patikros raktų rinkiniai turi pasiekti aptarnaujančius komponentus, o išėmimas iš naudojimo įsigalioja, kai kiekvienas gavėjas įdiegia atnaujinimą. Trumpa leidimų galiojimo trukmė riboja pakartotinį jų panaudojimą, kol atnaujinimai sklinda.

Architektūra daro prielaidą, kad tapatybės užtikrinimas įjungtas, ir pasitiki valdymo plokštumos pasirašytoju, darbinio mazgo branduoliu bei mazgo vietinėmis valdymo paslaugomis. Darbinio mazgo root teisių ar privilegijuoto klasterio administratoriaus paskyros perėmimas nepatenka į grėsmių modelį. Tilto patikra yra vietinė proceso ir transporto patikra, o ne aparatine įranga paremtas nuotolinis atestavimas.

Parašų tikrinimas, vykdymo aplinkos palyginimai ir tilto patikra prideda papildomo darbo užklausos kelyje. Jiems naudojama vietinė būsena, o ne nuotolinė autorizacijos paieška kiekviename privačiame tarpiniame žingsnyje.

Palyginimas su kitais rinkos sprendimais

Svarbu palyginti, kaip platformos elgiasi, kai autorizuota užklausa pasiekia netinkamą tinkamos sandbox aplinkos vykdymą. Šios išvados susijusios su išnagrinėtomis realizacijomis, o ne su bendru platformų saugumu. SPACE, OpenShell ir E2B buvo patikrintos 2026 m. spalio 8 d.:

  • OpenShell: panašiai parenka vykdymą naujiems iškvietimams ir susieja supervizorių su vykdymo aplinka, naudodama šliuzo kartos ir autorizacijos patikras, serverinės dalies tapatybės tikrinimą ir patvirtintus aktyvius supervizoriaus ryšius (šliuzo įleidimas, vykdymo aplinkos autentifikavimas ir susiejimas). SPACE perduoda pasirašytą pasirinkimą visu aptarnavimo keliu ir prideda darbinio mazgo lygmens proceso bei transporto patikrą; OpenShell atitinkamas patikras paskirsto savo šliuzui, paleidimo tapatybei ir autentifikuotam vykdymo aplinkos protokolui (vykdymo aplinkos architektūra).
  • E2B: seka vykdymo ID ir izoliuoja tarpinių serverių telkinius pagal Firecracker gyvavimo ciklą, tačiau jos įeinančio srauto tarpinis serveris pasirenka loginę sandbox aplinką ir prievadą, nenurodydamas tikėtinos vykdymo tapatybės, kurią gavėjas galėtų palyginti (maršrutų skelbimas, tarpinio serverio įleidimas). Senesnio vykdymo, vis dar registruoto kaip veikiančio pasenusiame gavėjuje su atitinkančiais kredencialais, šiomis patikromis neįmanoma atskirti nuo pasirinkto naujesnio vykdymo, nors įprastas išardymas pašalina maršrutus ir uždaro su gyvavimo ciklu susietus ryšius (kredencialai, išardymas).
  • CubeSandbox: vėl paleidžiant pataiso maršrutizavimą ir anuliuoja podėlius, tačiau privatus įeinantis srautas naudoja sandbox aplinkos lygmens kredencialus ir persiunčiamas nenurodant tikėtino vykdymo aplinkos egzemplioriaus (maršrutizavimas vėl paleidžiant, įeinančio srauto maršrutizavimas). Maršrutų taisymas sutrumpina laikotarpius, kai naudojami pasenę maršrutai; su vykdymu susietas SPACE leidimas taip pat suteikia gavėjui nepriklausomą pagrindą atmesti netinkamą egzempliorių.

Tapatybė kaip izoliacijos riba

Saugus užduočių delegavimas priklauso nuo to, ar kiekvieno agento darbas neperžengia jam numatytų ribų. MikroVM užtikrina izoliaciją, o aplinkinė platforma turi pasirūpinti, kad kiekviena užklausa ir kiekvienas veikiantis ryšys pasiektų vykdymą, kuriam leista juos apdoroti.

SPACE vykdymo tapatybę paverčia šios apsaugos dalimi. Tikrindama paskirties vietas ir tilto galinius taškus bei susiedama ryšius su juos autorizavusiu vykdymu, ji išsaugo šias ribas, kai sandbox aplinkos pristabdomos, vėl paleidžiamos ir perkeliamos.

Tęsiame šį darbą infrastruktūrai tobulėjant. SPACE ir kitų sandbox platformų saugumui būtina išbandyti šiuos kelius tiek su įprastomis maršrutizavimo klaidomis, tiek su priešiškais darbo krūviais, o tada sustiprinti ribas visur, kur bandymai atskleidžia spragas.

  1. Pabėgimas iš SPACE: I dalisTyrimai2026-09-23
  2. Kuriame SPACE: saugios ir efektyvios vykdymo aplinkos ilgai veikiantiems agentamsTyrimai2026-07-15
  3. Saugios smėlio dėžės agentamsNaujienos2026-07-15