Agent Sandboxing
Jak działa
Agent jest uruchamiany wewnątrz granicy izolacji — kontenera, maszyny wirtualnej lub microVM — zamiast bezpośrednio na hoście. Wywołania systemowe są przechwytywane i filtrowane (seccomp-bpf lub userspace'owy kernel aplikacyjny jak gVisor), a widoczność zasobów ograniczana przez namespaces i cgroups. Dostęp do systemu plików zawężany jest do zamontowanych, często tylko do odczytu, katalogów roboczych. Ruch sieciowy przechodzi przez listę dozwolonych adresów (egress allowlist), co blokuje eksfiltrację i ataki typu SSRF. Warstwa egzekwowania polityk decyduje, które narzędzia i akcje agent może wywołać, a wrażliwe operacje mogą wymagać zatwierdzenia przez człowieka. Po zakończeniu zadania środowisko jest niszczone (ephemeral), co usuwa stan i potencjalne zanieczyszczenia. Dla silniejszej izolacji multi-tenant stosuje się microVM (Firecracker) lub gVisor zamiast współdzielenia jądra hosta.
Rozwiązany problem
Autonomiczne agenty AI podejmują i wykonują działania bez zatwierdzenia każdego kroku przez człowieka, dlatego błąd modelu albo udany atak przez prompt injection może doprowadzić do skasowania danych, wycieku sekretów, ataku na sieć wewnętrzną lub nieautoryzowanych transakcji. Agent Sandboxing ogranicza promień rażenia takich zdarzeń, zamykając agenta w środowisku z minimalnymi uprawnieniami.
Komponenty
Kontener, maszyna wirtualna lub microVM, w którym działa agent. microVM (Firecracker) i userspace'owe jądro aplikacyjne (gVisor) dają silniejszą izolację niż zwykły kontener współdzielący jądro hosta.
Oficjalna
Profile seccomp-bpf ograniczające zestaw wywołań systemowych dostępnych dla procesu agenta, co zmniejsza powierzchnię ataku na jądro.
Mechanizmy jądra Linux izolujące widok procesów, sieci, montowań i użytkowników (namespaces) oraz limitujące CPU, pamięć i czas (cgroups).
Lista dozwolonych adresów (egress allowlist) oraz warstwa decydująca, które narzędzia i akcje agent może wywołać; wrażliwe operacje mogą wymagać zatwierdzenia przez człowieka.
Oficjalna
Nietrwałe środowisko tworzone na czas zadania i niszczone po jego zakończeniu, co usuwa potencjalne zanieczyszczenia i trwały stan między uruchomieniami.
Oficjalna
Implementacja
Uprzywilejowany kontener lub nadmierne capabilities umożliwiają ucieczkę do hosta.
Pełny dostęp wychodzący pozwala na eksfiltrację danych i ataki SSRF na usługi wewnętrzne.
Kontenery współdzielące jądro hosta są podatne na luki jądra wykorzystywane przez wrogi kod agenta.
Przekazanie szerokich poświadczeń lub kluczy do środowiska agenta zwiększa skutki udanego ataku.
Treść z sieci lub plików może przejąć sterowanie agentem i wywołać szkodliwe akcje w ramach jego uprawnień.
Silniejsza izolacja (microVM, nowe środowisko na każde zadanie) zwiększa opóźnienia i zużycie zasobów.
Ewolucja
Tryb filtrowania seccomp (seccomp-bpf) dodany w Linux 3.5 umożliwia precyzyjne ograniczanie wywołań systemowych procesu — fundament późniejszej izolacji sandboxowej.
Google udostępnia gVisor — userspace'owe jądro aplikacyjne przechwytujące wywołania systemowe, zmniejszające powierzchnię ataku jądra hosta dla niezaufanych obciążeń.
AWS prezentuje Firecracker — lekkie microVM do bezpiecznej, wieloużytkownikowej izolacji obciążeń serverless i kontenerowych.
Pojawiają się sandboxy przeznaczone specjalnie do bezpiecznego wykonywania kodu i narzędzi generowanych przez agentów AI (m.in. E2B).
Anthropic udostępnia computer use dla Claude, rekomendując w dokumentacji uruchamianie w dedykowanej maszynie wirtualnej lub kontenerze z minimalnymi uprawnieniami.
OpenAI udostępnia narzędzie computer use, zalecając uruchamianie w izolowanej przeglądarce lub maszynie wirtualnej oraz na liście dozwolonych witryn i akcji.
Hiperparametry (konfigurowalne osie)
Wybór między kontenerem, microVM a userspace'owym jądrem (gVisor). Wpływa na siłę izolacji i narzut.
Zakres dozwolonego ruchu sieciowego (brak sieci, allowlist, pełny dostęp). Kluczowa dla zapobiegania eksfiltracji.
Zakres i tryb montowań (tylko do odczytu, zawężone katalogi robocze).
Profil seccomp określający dozwolone wywołania systemowe.
Ograniczenia CPU, pamięci i czasu wykonania wymuszane przez cgroups.
Czy środowisko jest efemeryczne (niszczone po zadaniu) czy trwałe między uruchomieniami.