LangChain: Kako pokrenuti nepouzdani agentski kod bez vanjskog sandboxa
Hunter Lovell iz LangChain tima opisuje tehniku izvršavanja nepouzdanog agentskog koda unutar QuickJS motora kompajliranog u WebAssembly — bez vanjskog sandboxa. Tri sigurnosna stupa i dvije eksperimentalne open-source biblioteke dostupne su razvojnim zajednicama.
Ovaj članak generiran je uz pomoć umjetne inteligencije na temelju primarnih izvora.
Pokretanje koda koji je generirao AI agent uvijek je nosilo inherentni sigurnosni rizik: što ako agent, manipuliran ubacivanjem uputa (prompt injection), generira zlonamjerni kod? Uobičajeno rješenje bili su vanjski sandboxi — zasebni procesi, Docker kontejneri ili virtualni strojevi. Hunter Lovell iz LangChain tima sada predlaže elegantnije rješenje: pokrenuti nepouzdani agentski kod unutar procesa, ali iza čvrste memorijske granice.
Zašto klasični pristupi nisu dovoljni?
Vanjski sandboxi rješavaju problem izolacije, ali donose vlastite komplikacije: kašnjenje komunikacije između procesa, složeno upravljanje životnim ciklusom i — posebno bolno za agente — nemogućnost prirodnog zadržavanja stanja između koraka koji zahtijevaju ljudsko odobrenje.
Lovellova tehnika temelji se na ključnom uvidu: WebAssembly (WASM) pruža dovoljnu graničnu izolaciju unutar jednog procesa, bez vanjskog kontejnera. AWS, Shopify i Figma već koriste WASM granice za slične svrhe u produkcijskim okruženjima.
Tri stupa sigurnosti ove arhitekture
Lovell definira tri uvjeta koje svaki sustav za izvršavanje nepouzdanog agentskog koda mora ispuniti:
Izolacija izvršavanja. Agentski kod ne smije moći kompromitirati host-sustav. WASM postiže ovo kroz vlastiti linearni memorijski prostor — sandboxani in-process VM koji ne može čitati ni pisati izvan alocirane regije. Runtime nameće granice memorije i izvođenja na razini arhitekture, bez oslanjanja na disciplinu koda koji se izvršava.
Izolacija kapaciteta. Agent po defaultu ne dobiva pristup datotečnom sustavu, mreži ni vanjskim zavisnostima. Sve sposobnosti moraju biti eksplicitno premošćene kroz harness s uskim ugovorima. Ovo implementira načelo najmanjeg privilegija na razini arhitekture — agent može samo ono što mu je programski odobreno, ništa više.
Trajne pauze sa stanjem. Izvođenje mora moći stati i čekati ljudsko odobrenje, a zatim se nastaviti bez gubitka konteksta. Lovell to rješava serijalizacijom linearnog memorijskog prostora interpretera u LangGraph stanje — snapshot koji se pohranjuje i iz kojeg se program može nastaviti točno gdje je stao.
Odabir QuickJS-a za orkestraciju
Od svih dostupnih JavaScript enginea, LangChain je odabrao QuickJS — mali, brzi, ECMA-usklađeni runtime napisan u C. Razlog je trostruk: kompajlira se čisto u WASM (što znači da sam engine sjedi iza granice, a ne uz nju), dovoljno je ekspresivan za orkestracijske skripte, i ne zahtijeva kompilacijski korak za kratke programe — što eliminira latenciju pri pokretanju agentskih skripti.
Agenti u ovom modelu pišu kratke JavaScript orkestracijske skripte umjesto da dispečiraju podagente jedan po jedan. Taj pomak mijenja modalitet rada: agent definira tok izvođenja deklarativno, a harness ga provodi uz kontinuiranu provjeru kapaciteta i eksplicitnih premošćenja.
Referenca na Metino načelo sigurnosti
Lovell eksplicitno citira Metin sigurnosni princip koji kaže da agent ne smije istovremeno imati pristup osjetljivim podacima, biti izložen nepouzdanom ulazu i imati mogućnost mijenjanja vanjskog stanja ili komunikacije prema van. Kombinacija sva tri faktora — bez obzira na sofisticiranost ostatka sustava — čini agentsku arhitekturu nesigurnom.
QuickJS-WASM pristup direktno adresira drugi i treći uvjet: bez zadanog mrežnog ili sistemskog pristupa, čak i kompromitiran agent ima dramatično ograničen radijus utjecaja.
Dvije nove open-source biblioteke
Uz objavu članka, LangChain je oslobodio dvije eksperimentalne open-source biblioteke:
quickjs-rs— runtime i Python bindings za QuickJS putem WASM, dostupan razvojnim zajednicama kao temelj za vlastite implementacijelangchain-quickjs— Deep Agents middleware koji integriraquickjs-rss LangGraphom, uključujući mehanizme za trajne pauze i serijalizaciju stanja između koraka
Obje su označene kao eksperimentalne — API može mijenjati između verzija, ali osnovna arhitektura i sigurnosni model stabilni su.
Implikacije za produkcijsku agentsku arhitekturu
Rješavanje pouzdanog izvršavanja generiranog koda jedan je od ključnih tehničkih izazova na putu prema produkcijski robusnim autonomnim agentima. Prompt injection ostaje otvoreni problem — ali ako agent, čak i uspješno manipuliran, ne može pristupiti datotečnom sustavu, mreži ni vanjskim servisima bez eksplicitnog odobrenja, radijus moguće štete dramatično se smanjuje.
LangChainov pristup nije čarobni štapić: zahtijeva pažljivo projektiranje kapacitetnih premošćivanja i disciplinu pri definiranju uskih API ugovora. No arhitektura koja u jednom potezu rješava izolaciju izvršavanja, kapaciteta i stanja — bez vanjskog kontejnera i bez kompromisa na latenciji — relevantan je napredak za svakoga tko gradi produkcijske agentske sustave u 2026.
Česta pitanja
- Zašto je QuickJS odabran umjesto nekog drugog JavaScript enginea?
- QuickJS je lagan, ECMA-usklađen i kompajlira se čisto u WebAssembly bez kompilacijskog koraka za kratke programe, što ga čini idealnim za in-process agentsku orkestraciju s minimalnom latencijom.
- Što je Metino „pravilo dvoje” koje Lovell citira?
- Sigurnosno načelo kaže da agent ne smije istovremeno pristupati osjetljivim podacima, primati nepouzdani ulaz i mijenjati vanjsko stanje — kombinacija sva tri čini arhitekturu nesigurnom.
- Koje su open-source biblioteke objavljene uz ovaj članak?
- Objavljene su dvije eksperimentalne biblioteke — quickjs-rs (runtime i Python bindings) i langchain-quickjs (Deep Agents middleware za LangGraph integraciju).
Povezane vijesti
MARS: Tekstualni smjerovi odbijanja štite multimodalne AI modele bez dodatnog treniranja
arXiv:2606.28270: Agent-Native Immune System — šestoslojna runtime obrana ugrađena u zaključivanje AI agenata
arXiv:2606.28061: ToolPrivacyBench — mjeri 'need-to-know' privatnost u LLM agentima s alatima