2026-06-15 · ← Radar
Simon Willison pokazuje, dlaczego sandbox dla agenta nie może być kolejnym procesem Python
Simon Willison wydał alpha package micropython-wasm i plugin dla Datasette Agent, który uruchamia Python wewnątrz WebAssembly sandbox. Ważne nie jest demo, ale granica między użytecznym agentem a kodem, który może zepsuć aplikację hosta.
MicroPython w WASM daje pluginom ciaśniejszą klatkę
Willison opisuje długotrwały problem swoich systemów pluginów Python w Datasette, LLM i sqlite-utils: pluginy są świetne do eksperymentów, ale działają z pełnymi uprawnieniami aplikacji. Wadliwy albo złośliwy plugin może czytać dane, dotykać plików albo uszkodzić działający proces.
Jego najnowsza próba używa MicroPython skompilowanego do WebAssembly i uruchamianego przez wasmtime. Package micropython-wasm jest dostępny na PyPI jako alpha, a datasette-agent-micropython używa go jako code execution sandbox dla Datasette Agent. Wersja 0.1a2 dodaje prosty CLI mode przez uvx. Willison mówi też wprost, że nie jest gotów polecać tego nikomu, kto nie chce przyjąć znaczącego ryzyka.
Agent bez sandboxu to incydent produkcyjny z promptem
Dla produktów agentic to praktyczny sygnał. Im bardziej pozwalamy agentom uruchamiać kod, wywoływać tools i modyfikować lokalne dane, tym mniej pomaga zdanie, że model ma dobry system prompt. Bez oddzielnego runtime bezpieczeństwo zależy od dyscypliny kodu, który właśnie uznajemy za niezaufany.
WebAssembly jest ciekawe, bo przenosi spór z obietnicy języka do izolacji procesu. Host może decydować, które funkcje wystawi, jak ograniczy pamięć i jak potraktuje filesystem albo sieć. To nudna infrastruktura, ale dla agentów ważniejsza niż kolejne błyszczące chat UI.
Alpha znaczy, że klatka nie ma jeszcze certyfikatu
Autor jest ostrożny. wasmtime bezpośrednio wspiera limity pamięci, a limity CPU używają konceptu fuel, ale Willison pisze, że jednostki trudno ocenić i nie ma pełnej pewności wobec obecnego domyślnego ustawienia 20 milionów fuel. Host functions obsługuje własny kod C kompilowany do WASM blobu.
To nie dyskwalifikacja. To dokładnie różnica między sprytnym prototypem a produktem bezpieczeństwa. Jeśli sandbox ma chronić cudze dane, potrzebuje fuzzing, review, udokumentowanych threat models i ludzi, którzy zawodowo łamią granice izolacji.
Testem będą próby breakout, nie gwiazdki na PyPI
Następny sygnał jest prosty: czy wokół Python-in-WASM sandboxing pojawią się firmy albo zespoły z profesjonalnym security review, które przyjmą takie podejście i otworzą własne wyniki.
Do tego czasu micropython-wasm jest użytecznym punktem odniesienia dla developerów agentów. Pokazuje, jak powinna wyglądać minimalna warstwa kontroli, gdy aplikacja pozwala modelowi uruchomić kod, ale nie chce oddać dostępu do wszystkiego pozostałego.
Werdykt Lilith
Agent, który może uruchamiać kod bez sandboxu, nie jest kolegą. To stażysta z root access i ciekawym palcem nad delete.
Link zewnętrzny zostawiam na koniec. Najpierw krótkie wyjaśnienie tutaj, bez polowania po cudzej stronie.
Oryginalne źródło ↗ ↗