Kā SPACE novirza pieprasījumus uz pareizo smilšu kastes izpildi

Perplexity SPACE ar identitātes pārbaudēm un parakstītiem maršrutiem piesaista MI aģentu pieprasījumus pareizajai smilšu kastes izpildei.

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

Kad kāds lūdz MI aģentam analizēt izklājlapu vai testēt programmatūru, viņš paļaujas, ka aģents droši strādās ar viņa failiem un datiem. Aģentiem nepieciešamas izolētas vides, kurās šo darbu var paveikt, neatklājot citu lietotāju datus un netraucējot viņu darba slodzes.

Aģentiem uzņemoties arvien sarežģītākus uzdevumus ar lielāku autonomiju, šīs vides palīdz ierobežot kļūdas un kaitējumu, ko var nodarīt nedrošs vai ļaunprātīgs kods. Smilšu kastes nodrošina šo izolāciju, vienlaikus koplietojot vadības plaknes pakalpojumus, darba mezglus un maršrutēšanas infrastruktūru.

Šai koplietotajai infrastruktūrai katra darbība jānogādā tieši tajā izpildē, kas ir autorizēta to apstrādāt. Novecojis maršruts var nosūtīt derīgu pieprasījumu uz citu smilšu kasti vai uz vecāku pareizās smilšu kastes izpildi. SPACE — Perplexity drošā smilšu kastu platforma — katru darbību piesaista atlasītai izpildei un pirms pārsūtīšanas pārbauda galamērķi.

Jau vairākus mēnešus SPACE ik dienu apstrādā miljoniem izpilžu, katru no tām aizsargājot ar unikālu kriptogrāfisko identitāti, turklāt kļūdu īpatsvars ir mazāks par 0,0002 % un nav pārtraukts neviens savienojums.

Maršrutēšanas problēma

Smilšu kastes drošība ir atkarīga arī no tā, vai katrs pieprasījums nonāk pareizajā galamērķī. Pat vienkārša faila nolasīšana šķērso koplietotu infrastruktūru, kurai jāseko, kur smilšu kaste darbojas, kamēr tā tiek pauzēta, atsākta vai pārvietota starp datoriem.

Faila nolasīšanas pieprasījums šķērso vairākus komponentus. SPACE vadības plakne nosaka, kurai izpildei un darba mezglam atbilst smilšu kaste. Pieprasījums ienāk caur node-api, tiek nodots smilšu kastes pārvaldniekam sbx-manager un caur Unix ligzdu nonāk resursdatora tiltā spaced-host. Tilts to pārsūta pa VSOCK — resursdatora un viesa ligzdu transportu — uz spaced-guest Firecracker microVM iekšienē.

Katrs lēmums balstās uz stāvokli, kas var atpalikt no infrastruktūras izmaiņām. Datubāzē var būt saglabāts vecs izvietojums, kešatmiņā glabāta adrese var norādīt uz citu vietu, vai ligzdas ceļam var piesaistīties cits klausītājs. Arī veiksmīgs savienojums var nonākt nepareizajā galamērķī. Nolasīšana var atklāt cita lietotāja datus; rakstīšana var mainīt nepareizo failu sistēmu.

Momentuzņēmumi rada vēl vienu problēmu. Atsākot smilšu kasti citā darba mezglā, tiek saglabāta tās loģiskā identitāte, taču sākas jauna izpilde. Aizkavēts pieprasījums vai saglabājies savienojums var nonākt tās priekštecī un atgriezt vecu stāvokli ar pareizās smilšu kastes nosaukumu.

Smilšu kastes identitāte un izpildes identitāte

SPACE nošķir lietotāja vidi no izpildlaika, kas to apkalpo:

  • Smilšu kastes identitāte: loģiskās vides stabilais ID. Izsaucēja autorizācija nosaka piekļuvi šai smilšu kastei.
  • Maršruta/izpildes identitāte: atlasītā izpildlaika inkarnācija un tās izvietojums, tostarp tās darba mezgls, substrāts un aktivizācija.

Izpildes paaudze nošķir izpildlaika inkarnācijas. Kubernetes vidē maršrutā ir iekļauts arī pod UID. Adreses norāda galapunktu atrašanās vietu; izpildes identitāte nosaka, vai šie galapunkti drīkst apkalpot darbību.

Pieņemsim, ka smilšu kaste S darbojas kā izpilde 7 darba mezglā A un pēc tam tiek atsākta kā izpilde 8 darba mezglā B. Pieprasījumam, kas atlasīts izpildei 8, jātiek noraidītam, ja tas nonāk izpildē 7. Pārbaudot tikai smilšu kastes ID, šī neatbilstība netiktu pamanīta.

Parakstīta izpildes atlase

Katrs pieprasījums satur parakstītu pierādījumu par to, kura smilšu kastes izpilde drīkst to apstrādāt un kāda piekļuve ir atļauta. Saņemošais komponents salīdzina šo pierādījumu ar savu izpildlaika identitāti, pirms ļauj pieprasījumam turpināties.

Pēc izsaucēja autorizācijas SPACE izsniedz īslaicīgu, parakstītu pilnvaru, kas identificē smilšu kasti, izpildi, izvietojumu un atļauto piekļuvi. Publisko pakalpojumu portu pilnvarās norādīts arī atļautais ports un protokols.

Saņēmēja smilšu kastes pārvaldnieks verificē parakstu un salīdzina pilno identitāti ar savu lokāli saglabāto izpildlaika ierakstu. Paraksts nosaka, kas autorizēja atlasi. Salīdzinājums nosaka, vai šī atlase atbilst saņēmējam.

ServicePort datplūsma tiek pārbaudīta otrreiz katras smilšu kastes tīkla vārtejā netgtw, pirms tiek atvērts savienojums ar viesi. Vārteja salīdzina identitāti ar uzticamu aktivizācijas stāvokli un pārbauda portu un protokolu. Vadības darbības turpina ceļu uz tilta galapunkta verifikāciju.

SPACE izmanto Ed25519 parakstus. Pilnvaras izsniedz vadības plaknes parakstīšanas atslēgas; darba mezglos un vārtejās esošās publiskās verifikācijas atslēgas tās izsniegt nevar.

Pilnvaras ir derīgas 120 sekundes, un, pārbaudot derīguma termiņu, tiek pieļauta pulksteņu nobīde līdz 15 sekundēm. Ar derīgu parakstu un marķieri, kura derīguma termiņš nav beidzies, joprojām nepietiek, ja atlasītā un instalētā identitāte nesakrīt.

Noraidīšana nepareizajā galamērķī

Saņēmējs darba mezgls var pamanīt maršrutēšanas kļūdu pat tad, ja pats pieprasījums ir autorizēts. Tas pārbauda, vai darbina tieši šim pieprasījumam atlasīto izpildi, un, ja tās atšķiras, pieprasījumu noraida.

Ja pieprasījums, kas atlasīts izpildei 8, sasniedz darba mezglu A, kurš joprojām apkalpo izpildi 7, darba mezgls A to noraida pirms pārsūtīšanas. Tiklīdz saņēmējs instalē izpildes 8 identitāti, tas noraida arī izpildes 7 pilnvaras (capabilities), pat pirms to derīguma termiņa beigām.

Šai garantijai ir būtiska robeža. Pilnvara izpildei 7 joprojām var atbilst darba mezglam, kas apkalpo izpildi 7, līdz šis darba mezgls uzzina par izpildes izbeigšanu vai pilnvaras derīguma termiņš beidzas. Kamēr atjauninājumi izplatās, lokālā noteikumu piemērošana un ierobežots pilnvaras darbības laiks darbojas kopā.

Tilta galapunkta verifikācija

Atbilstošs izpildlaika ieraksts nosaka paredzēto izpildi. Vadības tiltam arī jāsasniedz tieši šai aktivizācijai piederošie procesi un transports, nevis aizstājējs, kas mantojis to pašu adresi.

Smilšu kastes un mezglu pārvaldnieki verificē resursdatora tilta vienādranga akreditācijas datus, kā arī gan tilta, gan Firecracker procesu identitātes, tostarp to sākuma laikus, tādējādi atklājot atkārtoti izmantotus ID vai mainītus izpildāmos failus

Transporta pārbaudes sasaista VSOCK klausītāju ar gaidīto Firecracker procesu, izmantojot ligzdas piederību, viesa identitāti un kodola ligzdu pierādījumus. Tilts pārsūta darbības tikai pēc verifikācijas un noraida caurspīdīgu atkārtotu savienošanos. Katram jaunam savienojumam pārbaudes jāiziet no jauna.

Šī verifikācija attiecas uz Firecracker vadības tiltu Kubernetes vidē un tieši pārvaldītos resursdatoros. ServicePort datplūsmai tās vārtejā tiek veiktas izpildes un porta pārbaudes; tā neapliecina patvaļīgas lietojumprogrammas identitāti viesa sistēmā.

Straumes darbības laiks un maršruta atkopšana

Daži savienojumi paliek atvērti, kamēr mainās smilšu kastes izpilde, tāpēc identitātes pārbaudēm jāattiecas ne tikai uz sākotnējo pieprasījumu. SPACE izbeidz ar veco izpildi saistītos savienojumus un ļauj piemērotām darbībām atkārtoti izveidot savienojumu ar pašreizējo izpildi, ievērojot tās pašas drošības pārbaudes.

Termināļi un failu uzraudzības procesi var darboties ilgāk par pieprasījumiem, kas tos atvēra. SPACE piesaista aizmugursistēmas straumes identitātes epohai, lai straume nevarētu palikt pievienota priekštecim pēc tam, kad saņēmējs ir instalējis aizstājošu izpildi.

SPACE pirms straumes atvēršanas atkārtoti pārbauda pastāvīgo identitāti. Ja tiek aizstāts tās maršruts vai izpilde, straumes noma tiek atcelta, apturot ievadi un izvadi.

Īpašumtiesību maiņa atšķiras no izpildes aizstāšanas. Dzīves cikla darbības nodošana nemainītam Kubernetes rezidentam saglabā tā maršruta identitāti, straumes un pilnvaras, kuru derīguma termiņš nav beidzies. Vārteja saglabā arī jau izveidotās straumes, ja tās pašas maršruta un izpildes paaudzes ietvaros mainās tikai aktivizācijas mēģinājums. Jaunu straumju atvēršanai nepieciešama atjauninātā identitāte.

Atkopšanas laikā šīs pārbaudes paliek spēkā. Identitātes salīdzinātājs var atgriezt RefreshRoute, ja vienas smilšu kastes ietvaros nesakrīt inkarnācija, vai Deny, ja smilšu kaste ir cita. Pēc identitātes noraidīšanas maršruta labošanu izraisa tikai atpazīts atsvaidzināšanas signāls. Transporta kļūmēm piemēro atsevišķus, konkrētai operācijai specifiskus atkopšanas noteikumus. Nederīgi paraksti, mērķi vai portu profili joprojām tiek noraidīti.

Piemērota darbība var noteikt pašreizējo izpildi un veikt vienu atkārtotu mēģinājumu ar no jauna izveidotu pieprasījumu. Kešatmiņas ieraksts tiek aizstāts tikai tad, ja tas atbilst noraidītajam maršrutam, tāpēc aizkavēta noraidīšana nevar izspiest jaunāku ierakstu. Natīvās sesijas atsvaidzināšana saglabā sākotnējo kešatmiņas derīguma termiņu, nošķirot maršruta labošanu no izsaucēja autorizācijas atjaunošanas.

Atkārtošanas noteikumi joprojām ir atkarīgi no konkrētās darbības. Aizstājošajai aizmugursistēmai uzņemšana jāiziet atkārtoti, pat ja klienta pusē WebSocket savienojums paliek atvērts.

Kompromisi un uzticēšanās robežas

Izpildes identitāte kļūst par drošībai kritisku stāvokli. Vadības plaknes atjauninājumiem un verifikācijas atslēgu komplektiem jānonāk līdz apkalpojošajiem komponentiem, un izpildes izbeigšana stājas spēkā, kad katrs saņēmējs instalē atjauninājumu. Īss pilnvaru darbības laiks ierobežo to atkārtotu izmantošanu izplatīšanas laikā.

Arhitektūra paredz, ka identitātes piemērošana ir iespējota, un uzticas vadības plaknes parakstītājam, darba mezgla kodolam un mezgla lokālajiem pārvaldības pakalpojumiem. Darba mezgla root piekļuves vai priviliģēta klastera administratora kompromitēšana neietilpst apdraudējumu modelī. Tilta verifikācija ir lokāla procesu un transporta verifikācija, nevis aparatūras nodrošināta attālā atestācija.

Parakstu verifikācija, izpildlaika salīdzināšana un tilta validācija pieprasījuma ceļam pievieno papildu darbu. Tās izmanto lokālo stāvokli, nevis attālu autorizācijas vaicājumu katrā privātajā posmā.

Salīdzinājums ar nozari

Būtisks salīdzinājuma kritērijs ir tas, kā platformas rīkojas, ja autorizēts pieprasījums nonāk pareizās smilšu kastes nepareizajā izpildē. Šie secinājumi attiecas uz pārbaudītajām implementācijām, nevis uz platformu drošību kopumā. SPACE, OpenShell un E2B tika pārbaudītas 2026. gada 8. oktobrī:

  • OpenShell: nodrošina salīdzināmu izpildes atlasi jauniem izsaukumiem un supervizora sasaisti ar izpildlaiku, izmantojot vārtejas paaudzes un autorizācijas pārbaudes, aizmugursistēmas identitātes validāciju un apstiprinātus aktīvus supervizora savienojumus (vārtejas uzņemšana, izpildlaika autentifikācija un sasaiste). SPACE nodod parakstītu atlasi visā savā apkalpošanas ceļā un papildus veic darba mezgla lokālu procesu un transporta verifikāciju; OpenShell atbilstošās pārbaudes sadala starp savu vārteju, palaišanas identitāti un autentificētu izpildlaika protokolu (izpildlaika arhitektūra).
  • E2B: izseko izpildes ID un izolē starpniekserveru pūlus atbilstoši Firecracker dzīves ciklam, taču tā ienākošais starpniekserveris atlasa loģisko smilšu kasti un portu bez gaidītās izpildes identitātes, ar ko saņēmējs varētu salīdzināt (maršrutu publicēšana, starpniekservera uzņemšana). Ar šīm pārbaudēm nav iespējams atšķirt vecāku izpildi, kas novecojušā saņēmējā ar atbilstošiem akreditācijas datiem joprojām reģistrēta kā aktīva, no atlasītās jaunākās izpildes, lai gan parastā nojaukšana noņem maršrutus un aizver ar dzīves ciklu saistītos savienojumus (akreditācijas dati, nojaukšana).
  • CubeSandbox: atsākšanas laikā labo maršrutēšanu un padara kešatmiņas nederīgas, taču privātā ieeja izmanto smilšu kastes tvēruma akreditācijas datus un pārsūta pieprasījumus bez gaidītās izpildlaika inkarnācijas (atsākšanas maršrutēšana, ieejas maršrutēšana). Maršruta labošana samazina novecojušu maršrutu logus; SPACE ar izpildi saistītā pilnvara turklāt dod saņēmējam neatkarīgu pamatu noraidīt nepareizo inkarnāciju.

Identitāte kā izolācijas robeža

Droša deleģēšana ir atkarīga no tā, vai katra aģenta darbs paliek tam paredzētajās robežās. MicroVM nodrošina izolāciju, savukārt apkārtējai platformai jāgarantē, ka katrs pieprasījums un ilgstošs savienojums nonāk izpildē, kas ir autorizēta to apstrādāt.

SPACE padara izpildes identitāti par daļu no šīs aizsardzības. Pārbaudot galamērķus, verificējot tilta galapunktus un piesaistot savienojumus izpildei, kas tos autorizēja, SPACE saglabā šīs robežas arī tad, kad smilšu kastes tiek pauzētas, atsāktas un pārvietotas.

Mēs turpinām šo darbu, infrastruktūrai attīstoties. SPACE un citām smilšu kastu platformām drošība prasa testēt šos ceļus gan pret ikdienišķām maršrutēšanas kļūdām, gan pret naidīgām darba slodzēm un pēc tam stiprināt robežas visur, kur šie testi atklāj nepilnības.

  1. SPACE apiešana: I daļaPētniecība2026. g. 23. sept.
  2. SPACE izveide: Droši un efektīvi izpildlaiki ilgstoši strādājošiem aģentiemPētniecība2026. g. 15. jūl.
  3. Drošas smilšu kastes aģentiemZiņas2026. g. 15. jūl.