Perplexity udostępnia SPACE. Każde zadanie agenta jest wykonywane we własnej maszynie wirtualnej
Perplexity udostępniło kod platformy SPACE (Sandboxed Platform for Agentic Code Execution) na licencji Apache 2.0. Udostępnienie kodu pozwala zespołom uruchamiać SPACE we własnej infrastrukturze. To rozwiązanie odpowiada za izolację środowisk uruchomieniowych w usłudze Perplexity Computer, gdzie agenci AI wykonują polecenia systemowe, uruchamiają kod i przeglądają sieć. Według Perplexity SPACE obsługuje wszystkich użytkowników Computer i wszystkie zadania wykonywane w tym produkcie.
Architektura platformy opiera się na separacji każdego zadania w dedykowanej mikromaszynie wirtualnej Firecracker. Agent pracujący wewnątrz piaskownicy może posiadać uprawnienia roota, instalować pakiety i manipulować plikami, jednak cała komunikacja ze światem zewnętrznym jest kontrolowana poza środowiskiem gościa. Klucze API i poświadczenia nie trafiają bezpośrednio do maszyny wirtualnej — są wstrzykiwane na poziomie sieci przez bramę działającą na hoście, która filtruje również cały ruch wychodzący.
Wyniki testów: szczelna wirtualizacja, nieszczelna sieć przed poprawkami
Wraz z kodem Perplexity opublikowało dane z wewnętrznych testów bezpieczeństwa, obejmujących dziewięć modeli językowych, dwa typy zadań i cztery konfiguracje. Wyniki pokazują wyraźną różnicę między izolacją procesów a kontrolą ruchu sieciowego:
- Izolacja maszyny wirtualnej: w 108 próbach żaden z testowanych modeli nie zdołał wydostać się z mikromaszyny Firecracker do systemu hosta ani uzyskać dostępu do wrażliwych danych gospodarza.
- Kontrola sieciowa: w scenariuszach z częściowym dostępem do internetu agenci zdołali obejść reguły sieciowe w 11 z 54 prób przed wdrożeniem poprawek. Do ominięcia ograniczeń wykorzystywano między innymi współdzielone adresy IP w sieciach CDN oraz manipulacje odpowiedziami DNS.
Firma zmodyfikowała mechanizmy ochronne, wprowadzając filtrowanie oparte na regułach nftables oraz terminowanie połączeń TLS na bramie w celu weryfikacji nagłówków SNI i Host. W opisanych przez twórców powtórnych testach nie odnotowano kolejnych obejść. Perplexity zaznacza jednak, że SPACE nie gwarantuje pełnej ochrony przed obejściami reguł sieciowych, dlatego brak incydentów w ponownych testach nie oznacza wyeliminowania tego ryzyka. Należy również zaznaczyć, że opublikowane rezultaty pochodzą z testów przygotowanych przez samo Perplexity i dotyczą ściśle określonych zadań oraz modeli.
Wymagania infrastrukturalne
Publiczne wydanie SPACE oznaczone numerem 0.8.0, udostępnione w repozytorium Perplexity, zostało napisane w języku Rust. Otwarta licencja nie oznacza jednak łatwego uruchomienia na dowolnej maszynie.
Platforma wymaga środowiska z 64-bitowym Linuksem (x86_64), obsługi wirtualizacji KVM (dostęp do /dev/kvm oraz /dev/net/tun) i systemu plików btrfs, który odpowiada za operacje copy-on-write przy tworzeniu dysków dla kolejnych instancji. System macOS nie jest wspierany, a uruchomienie całości wewnątrz innej maszyny wirtualnej wymaga włączonej wirtualizacji zagnieżdżonej.
