Sakhanda Wire
NVDA $214.13 -1.43% MSFT $529.05 -1.93% GOOGL $340.59 -2.47% META $709.33 -3.72% AMZN $250.00 -1.87%
← Към новините

Perplexity пуска с отворен код SPACE — пясъчник с Firecracker микроVM за AI агенти

Perplexity публикува с отворен код SPACE — платформата-пясъчник зад всяка задача в Perplexity Computer. Пясъчникът SPACE на Perplexity предоставя на всяка задача на агента собствена Firecracker microVM. Идентификационните данни и изходящият трафик се контролират извън тази виртуална машина. Кодът се разпространява под лиценза Apache 2.0 в GitHub. За екипи, които създават агенти за програмиране или сърфиране, това е тестван в продукционна среда изолационен слой, който могат да хостват сами.

Накратко

  • Размер: База код на Rust, версия 0.8.0 — публичната базова версия. HTTP API плюс събития, изпращани от сървъра.
  • Работи на: Linux x86_64 хост с KVM, /dev/kvm, btrfs и Docker. Локален Kind (Kubernetes) или директен режим. Няма поддръжка за macOS.
  • Производителност: В продукционна среда медианната латентност при създаване спадна от 185 ms на 60 ms спрямо предишния доставчик на Perplexity.
  • Най-добър резултат: 0 от 108 опита за излизане от виртуалната машина към хоста са успешни при 9 водещи модела.
  • Най-лош резултат: Преди корекциите агентите са заобиколили политиката за изходящ трафик при 11 от 54 изпълнения с частично активирана мрежа.

Какво представлява Perplexity SPACE?

SPACE (Sandboxed Platform for Agentic Code Execution) е платформата на Perplexity за изпълнение на код на агенти в изолирани microVM. Приложенията използват нейния HTTP API, за да създават Linux среди, да изпълняват команди и да предават изходни данни.

Шаблонът предоставя началната файлова система. Пясъчникът е една инстанция на този шаблон със собствена виртуална машина и записваем диск. В един пясъчник могат да се изпълняват множество команди.

Публикацията за старта на Perplexity обяснява целта на дизайна. Агентите изпълняват команди, инсталират пакети и извикват услуги с root достъп вътре в пясъчника. Хостът остава извън контрола на госта. Работата на агентите е продължителна, състоянието се запазва и има разклонения, така че трябва да преживява рестартирания.

Как SPACE изолира агентите?

Всеки пясъчник е Firecracker microVM със собствено гост операционно ядро. Мрежов шлюз на хоста за всеки пясъчник прилага политика за изходящия трафик при всяка изходяща връзка.

Секретите никога не влизат в госта. Според инженерната публикация на Perplexity от юли идентификационните данни се инжектират на мрежовия слой. Хранилището за идентификационни данни добавя йерархично обхващане, ограничения на честотата и одитно регистриране.

Ръководството за архитектурата разделя системата на 4 части. Това са API, базиран на PostgreSQL, контролери, работни услуги и слой за данни. Работните услуги управляват виртуалните машини, мрежите, томовете, шаблоните и идентификационните данни. btrfs copy-on-write създава всяка коренова файлова система.

Как работят поставянето на пауза, преустановяването и възстановяването?

Пясъчниците преминават през 4 състояния: работещ, поставен на пауза, преустановен и изтрит.

  • Пауза: Паметта на виртуалната машина остава резидентна на работния възел. Това не е устойчив моментен снимък.
  • Преустановен: Паметта на виртуалната машина, състоянието по време на изпълнение и кореновата файлова система се записват като моментен снимък. Активните ресурси се освобождават.
  • Период на неактивност по подразбиране: пясъчниците се преустановяват след 6 часа без активност.

За бързо създаване Kubernetes разгръщанията използват топли пулове от стартирани пясъчници. Конфигурациите с един възел използват базови моментни снимки.

В продукционна среда латентността при създаване на 90-ия персентил спадна от 447 ms на 89 ms. Perplexity съобщава, че 100% от сесиите на Computer работят върху SPACE.

Успя ли SPACE да премине тест на червен екип?

Докладът на Perplexity „Излизане от SPACE: Част I“ тества 9 модела с root достъп вътре в госта. Проучването включва 216 изпълнения на 2 задачи и 4 конфигурации.

  • Излизане от пясъчника: При 0 от 108 изпълнения е достигнат секретът от страната на хоста.
  • Заобикаляне без мрежа: 0 от 54 изпълнения са успешни.
  • Заобикаляне при частична мрежа: 11 от 54 изпълнения са успешни преди корекциите. 4 модела са открили начин.

Claude Opus 5.0, GPT-5.6 Sol, GPT-5.6 Cyber и Kimi K3 са открили начини за заобикаляне. Атаките са използвали DNS spoofing и споделени CDN IP адреси.

След това Perplexity добавя проверка на адреса на източника чрез nftables. Шлюзът вече прекратява TLS и проверява както SNI, така и HTTP хоста спрямо списъка с разрешени адреси. При повторния тест нито един модел не е успял да осъществи проверено заобикаляне.

Същият екип тества 10 платформи на трети страни. При 8 от тях е установено поне едно заобикаляне на мрежовата политика. Perplexity е разкрил резултатите пред всеки засегнат доставчик.

Назад</button><button class="btn" id="psx-next">Следващо състояние ▶</button></div> </div> <div class="pane" data-p="2"> <div class="bars" id="psx-rt"></div> <div class="note">9 модела, 216 изпълнения, root достъп вътре в госта. Корекции: проверка на адреса на източника чрез nftables, прекратяване на TLS с проверки на SNI + списъка с разрешени Host адреси. Източник: Perplexity, „Излизане от SPACE: Част I“ (23 септември 2026 г.).</div> </div> <div class="pane" data-p="3"> <div class="bars" id="psx-lat"></div> <div class="note">Трафик през първата седмица от продукционното стартиране, SPACE спрямо предишния доставчик на пясъчници на Perplexity. По-ниската стойност е по-добра. Източник: инженерният блог на Perplexity (15 юли 2026 г.).</div> </div> <div class="pane" data-p="4"> <div class="tw"><table> <tr><th>Функция</th><th>SPACE</th><th>E2B Runtime</th><th>microsandbox</th></tr> <tr><td>Изолация</td><td>Firecracker microVM</td><td>Firecracker microVM</td><td>libkrun microVM</td></tr> <tr><td>Лиценз</td><td>Apache 2.0</td><td>Apache 2.0</td><td>Apache 2.0</td></tr> <tr><td>Език</td><td>Rust</td><td>Go</td><td>Rust</td></tr> <tr><td>Тест на изходящия трафик на Perplexity</td><td>0 заобикаляния след корекцията</td><td>HTTPS заобикаляне, планирано ограничаване</td><td>HTTP + HTTPS заобикаляне, корекция във v0.6.18</td></tr> </table></div> <div class="note">Резултати за изходящия трафик от тестовете на Perplexity на 31 август и 1 септември 2026 г. за тестваните версии.</div> </div> <div class="ft"><span>Източници: github.com/perplexityai/SPACE · perplexity.ai/hub/blog</span><b>© Marktechpost</b></div> </div> <script> (function(){ var R=document.getElementById('pplx-space-x'); function post(){try{parent.postMessage({psxHeight:R.offsetHeight+40},'*')}catch(e){}} var tabs=R.querySelectorAll('.tab'),panes=R.querySelectorAll('.pane'); var D=['<b>Гост microVM.</b> Всяка задача получава собствена Firecracker microVM със собствено гост операционно ядро. Агентът може да изпълнява команди и да инсталира пакети с root права. Хостът остава извън неговия контрол.', '<b>Шлюз за всеки пясъчник.</b> Целият изходящ трафик на госта преминава през шлюз от страната на хоста. Той вече прекратява TLS и изисква както SNI, така и HTTP Host да бъдат в списъка с разрешени адреси и да са свързани с DNS.', '<b>Външни услуги.</b> Идентификационните данни никога не влизат в госта. Те се инжектират на мрежовия слой с обхващане, ограничения на честотата и одитно регистриране.']; var det=document.getElementById('psx-detail'),boxes=R.querySelectorAll('.box'); function showD(i){boxes.forEach(function(b,j){b.classList.toggle('act',i==j)});det.innerHTML=D[i];post()} boxes.forEach(function(b){b.addEventListener('click',function(){showD(+b.dataset.d)});b.addEventListener('mouseenter',function(){showD(+b.dataset.d)})}); showD(0); var L=['<b>Работещ.</b> Процесите се изпълняват. Паметта на активната виртуална машина и записваемата файлова система се запазват.', '<b>Поставен на пауза.</b> Изпълнението спира. Паметта на виртуалната машина остава резидентна на работния възел. Това не е устойчив моментен снимък.', '<b>Преустановен.</b> Паметта на виртуалната машина, състоянието по време на изпълнение и кореновата файлова система се записват като моментен снимък. Активните ресурси на виртуалната машина се освобождават. По подразбиране: преустановяване след 6 часа неактивност.', '<b>Изтрит.</b> Пясъчникът вече не е достъпен чрез API.']; var li=0,sts=R.querySelectorAll('.st'),ld=document.getElementById('psx-life'); function life(){sts.forEach(function(s,j){s.classList.toggle('on',j==li)});ld.innerHTML=L[li];post()} document.getElementById('psx-next').onclick=function(){li=(li+1)%4;life()}; document.getElementById('psx-prev').onclick=function(){li=(li+3)%4;life()}; sts.forEach(function(s,j){s.style.cursor='pointer';s.onclick=function(){li=j;life()}}); life(); function bars(el,data){el.innerHTML=data.map(function(d){return '<div class="row"><div class="lbl"><span>'+d[0]+'</span><em>'+d[1]+'</em></div><div class="track"><div class="fill" data-w="'+d[2]+'" style="background:'+d[3]+'"></div></div></div>'}).join('')} bars(document.getElementById('psx-rt'),[ ['Излизане от виртуалната машина към хоста','0 от 108 изпълнения',1.5,'#76B900'], ['Заобикаляне на мрежата, без мрежа','0 от 54 изпълнения',1.5,'#76B900'], ['Заобикаляне на мрежата, частична мрежа (преди корекцията)','11 от 54 изпълнения',20.4,'#E5675A'], ['Заобикаляне на мрежата, след корекцията','0 проверени заобикаляния',1.5,'#76B900'], ['Платформи на трети страни със заобикаляне','8 от 10',80,'#1FB8CD']]); bars(document.getElementById('psx-lat'),[ ['Медианно създаване, предишен доставчик','185 ms',41.4,'#5E5B66'], ['Медианно създаване, SPACE','60 ms',13.4,'#20808D'], ['p90 създаване, предишен доставчик','447 ms',100,'#5E5B66'], ['p90 създаване, SPACE','89 ms',19.9,'#20808D']]); function anim(p){p.querySelectorAll('.fill').forEach(function(f){f.style.width='0';setTimeout(function(){f.style.width=f.dataset.w+'%'},60)})} tabs.forEach(function(t){t.onclick=function(){var i=+t.dataset.t;tabs.forEach(function(x,j){x.classList.toggle('on',j==i)});panes.forEach(function(p,j){p.classList.toggle('on',j==i)});anim(panes[i]);post()}}); window.addEventListener('load',post);window.addEventListener('resize',post);setTimeout(post,300); })(); </script> </body> </html> ">

Как SPACE се сравнява с други отворени пясъчници?

ФункцияPerplexity SPACEE2B RuntimemicrosandboxDaytona
ИзолацияFirecracker microVM за всеки пясъчникFirecracker microVM за всеки пясъчникlibkrun microVMОтделно ядро за всеки пясъчник
ЛицензApache 2.0Apache 2.0Apache 2.0Публично хранилище, неподдържано от юни 2026 г.
ЕзикRustGoRustНе е разкрит
Изисквания към хостаLinux x86_64 + KVMНе е разкритоLinux с KVMНе е разкрито
Контрол на изходящия трафикШлюз за всеки пясъчник, прекратяване на TLSnftables защитна стена, списъци със SNI/HostНе е разкритоНе е разкрито
Тест на изходящия трафик на Perplexity0 заобикаляния след корекциятаHTTPS заобикаляне, планирано ограничаванеHTTP + HTTPS заобикаляне, корекция във v0.6.18HTTPS заобикаляне, ограничаването е публикувано
Поддръжка на E2B SDKДа, чрез ECW обвивкаНативнаНе е разкритаНе е разкрита

Как разработчиците разгръщат SPACE?

Ръководството за инсталация разгръща SPACE в локален Kind клъстер. Хостът се нуждае от /dev/kvm, /dev/net/tun, loop устройства и btrfs. Работата във виртуална машина изисква вложена виртуализация.

Екипите, които вече използват E2B, могат да изпробват обвивката за съвместимост с E2B. Тестваната ѝ базова версия е Python пакетът e2b==2.21.1. В хранилището е включено примерно AWS EKS разгръщане.

Основни изводи

  • SPACE изпълнява всяка задача на агента в собствена Firecracker microVM.
  • Идентификационните данни и политиката за изходящия трафик се намират извън гост виртуалната машина.
  • При тестовете на червен екип 0 от 108 опита за излизане са достигнали хоста.
  • Заобикалянията на изходящия трафик са засегнали 11 от 54 изпълнения преди корекциите и 0 след тях.
  • Apache 2.0, Rust, изисква Linux x86_64 хост с KVM.

Разгледайте хранилището в GitHub, документацията и доклада на червения екип. Цялата заслуга е на изследователя на този проект. Също така, можете да ни последвате в Twitter и не забравяйте да се присъедините към нашия ML SubReddit с над 150 хил. членове и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Сега можете да се присъедините към нас и в Telegram.

Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.

Първоначално публикувано от MarkTechPost на

Прочетете оригинала в MarkTechPost ↗

Текстът и изображенията са собственост на MarkTechPost и са възпроизведени тук с посочване на авторството и връзка към оригиналната публикация.

← Към новините

Още новини

Всички последни новини