Anthropic udostępnia sandbox-runtime: izolacja agentów AI na poziomie systemu, bez kontenerów
Anthropic rozwija open source’owy sandbox-runtime (w skrócie srt), czyli warstwę izolacji, na której działa sandboxowane narzędzie Bash w Claude Code. Jak opisuje MarkTechPost, narzędzie nie jest przywiązane do Claude’a: obejmuje dowolny proces, a ograniczenia dotyczą całego drzewa procesów, razem ze skryptami i podprocesami. Aktualna wersja pakietu npm to 0.0.81 (licencja Apache-2.0, wymagany Node.js 22.12+).
Sama idea nie jest nowa. Anthropic zapowiedział runtime w październiku 2025 roku jako research preview. Miał pozwalać zdefiniować, do jakich katalogów i hostów sieciowych agent ma dostęp, „bez narzutu uruchamiania i zarządzania kontenerem”. Anthropic podkreślał wtedy, że można nim izolować dowolne procesy, agentów i serwery MCP.
Jak to działa
Zamiast kontenera srt korzysta z mechanizmów samego systemu. Na macOS jest to sandbox-exec z dynamicznie generowanymi profilami Seatbelt. Na Linuksie używa bubblewrap z usuniętą przestrzenią nazw sieci, a do tego potrzebuje socat i ripgrep. Windows jest w wersji alfa: dedykowane konto srt-sandbox, bariera wyjściowa oparta na Windows Filtering Platform i jawne listy ACL.
Ruch sieciowy wychodzi wyłącznie przez proxy HTTP i SOCKS5 działające na hoście. Na Linuksie stoją one za gniazdami Unix zamontowanymi w sandboksie, a profil Seatbelt na macOS dopuszcza tylko jeden port localhost. To proxy stosuje listy dozwolonych i zablokowanych domen.
Domyślne reguły są restrykcyjne: odczyt jest dozwolony wszędzie, o ile nie zostanie zabroniony, zapis jest zabroniony wszędzie, o ile nie zostanie dozwolony, a sieć jest zamknięta dla każdej domeny spoza allowlisty. Według MarkTechPost zespół Anthropic uzasadnia, że same limity plików albo same limity sieci nie wystarczą. Bez izolacji sieci agent po prompt injection mógłby wysłać na zewnątrz klucze SSH, a bez izolacji plików mógłby uciec z sandboksa i zyskać dostęp do sieci.
W praktyce wygląda to prosto. Po instalacji przez npm install -g @anthropic-ai/sandbox-runtime wystarczy poprzedzić polecenie prefiksem srt. Przy serwerze MCP w pliku .mcp.json zamienia się npx na srt, a oryginalną komendę przekazuje jako argumenty. Reguły trzymane są w ~/.srt-settings.json. Autorzy własnych agentów dostają bibliotekę z klasą SandboxManager: initialize(config) uruchamia proxy, a wrapWithSandbox() zwraca opakowane polecenie.
84 proc. mniej pytań, ale to dane Anthropica
Anthropic podaje, że sandboxing zmniejszył liczbę próśb o zatwierdzenie w wewnętrznym użyciu Claude Code o 84 proc. To liczba z własnych obserwacji firmy, nie niezależny benchmark. Cel jest jasny: ograniczyć zmęczenie zatwierdzaniem. Programista, który przez cały dzień klika „zezwól”, przestaje czytać, na co się zgadza. Stała granica pozwala agentowi pracować swobodnie w jej obrębie i pytać dopiero na brzegu.
Sprzeczność jest tu oczywista: agenci kodujący instalują zależności, pobierają dokumentację i wołają API. Zbyt ciasna allowlista zepsuje npm install, zbyt luźna da niewiele ochrony. Dlatego srt oferuje wildcardy i porty (np. *.npmjs.org), callback pytający o hosty bez reguły, listy dozwolone dla pojedynczych poleceń oraz zmianę list sieciowych w trakcie działania przez --control-fd. Sprawdza też adresy, na jakie rozwiązują się dozwolone nazwy, i blokuje te prowadzące do loopbacku lub metadanych chmurowych. Przy odrzuconej domenie można przekazać agentowi powód, np. wskazać dozwoloną alternatywę, jak zdalne repozytorium git po HTTPS.
MarkTechPost zwraca uwagę, że prawdziwym suwakiem bezpieczeństwa jest szerokość allowlisty: zbyt szerokie domeny mogą nadal służyć do wycieku danych.
Różnica wobec wbudowanego sandboksa
Dokumentacja Claude Code rozróżnia dwie rzeczy. Sandboxowane narzędzie Bash izoluje tylko komendy (Bash, PowerShell, Monitor), natomiast pakiet @anthropic-ai/sandbox-runtime opakowuje cały proces w tę samą izolację Seatbelt lub bubblewrap. Według dokumentacji obejmuje to także narzędzia, hooki i serwery MCP. W opisie bezpieczeństwa Claude Code dodatkową izolację można więc uzyskać, uruchamiając cały lokalny proces Claude Code wewnątrz sandbox runtime albo dev containera.
Na tle konkurencji
W porównaniu MarkTechPost najbliżej srt jest sandbox w Codex CLI od OpenAI: też oparty na Seatbelt i bubblewrap, ale wbudowany w to narzędzie. Docker Sandboxes (microVM na maszynie lokalnej) i E2B (microVM Firecracker w chmurze lub BYOC) wymagają wirtualizacji. Przewagą srt jest uniwersalność, bo działa jako CLI i biblioteka dla dowolnego procesu, przy domyślnie zamkniętej sieci.
Ograniczenia są jednak wyraźne. To nadal beta research preview, więc konfiguracja może się zmieniać, a wersja 0.0.81 i bieżące wydania w repozytorium pokazują, że projekt jest w aktywnym rozwoju. Windows to wciąż alfa.
