- Извршни пескови дефинишу строге границе за датотеке, процесе, мрежу и тајне тако да агенти за кодирање могу да покрећу моћне операције без угрожавања хостова или производних система.
- Модерне платформе комбинују ОС примитиве (Seatbelt, Landlock, gVisor, microVM) са апстракцијама вишег нивоа као што су снимци, топли базени, запремине и PTY-ови како би sandbox-ови били безбедни и брзи.
- Тајне, мрежне политике, поверење радног простора и одбрана убризгавањем промпта чине праву контролну раван; сама изолација хоста није довољна за безбедно извршавање агента.
- Клауд и локални екосистеми (Cloudflare, GKE, Heroku, Docker, Freestyle, E2B, Daytona, Cursor, LangChain) конвергирају ка заштићеним срединама извршавања као подразумеваном начину за покретање непоузданог кода генерисаног од стране агента.
Дозвољавање АИ агентима да покрећу код, додирују датотеке, отварају прегледаче и користе АПИ-је претвара их од фенси аутоматског довршавања у нешто много ближе млађем инжењеру са рут приступом на машини. Та додатна моћ је управо разлог зашто делују магично – и управо разлог зашто могу бити опасни. Неусклађени или једноставно багови агент може обрисати базу података, објавити API кључ на интернету или имплементирати неисправну верзију у продукцију без стварног „разумевања“ шта је пошло по злу.
Право питање више није „колико је модел тачан?“, већ „шта може да постигне када је погрешан, преварен или превише самоуверен?“. Извршни „пескови“ за агенте су инжењерско решење: уско ограничена окружења где агенти могу да читају и пишу код, покрећу шкољке, покрећу сервере или покрећу прегледаче, док ви строго контролишете фајл системе, мрежу, акредитиве и животни циклус. Уместо да верујете моделу, ограничавате радијус експлозије.
Зашто је агентима за кодирање потребан посебан „песакбокс“ за извршавање

Модерни агенти за кодирање попут Claude Code-а, LangChain Deep Agent-а, Docker-ових sandbox-ова за кодирање и сличних алата више се не понашају као једноставни четботови са приступом датотекама. Они читају читаве репозиторијуме, уређују датотеке, покрећу команде шелла, манипулишу Гитом, покрећу Докер изградње, комуницирају са спољним API-јима и чак управљају потпуно десктоп окружењима путем прегледача. Документација произвођача је веома експлицитна по овом питању: Клод Код је представљен као агилни асистент за развој који може да прегледа вашу базу кода, врши измене и покреће команде; ЛангЧејн дубоки агенти третирају бекенд сандбокса као место где извршавају команде шелла, управљају системима датотека и делегирају посао подагентима ради изолације.
Управо овај скуп могућности чини ове агенте корисним – и оперативно ризичним. Када модел може да се покрене pytest, инсталирајте npm пакете, отварајте гране или отклањајте грешке у изградњи, само је неколико позива алата удаљено од модификовања скрипти за имплементацију, постављања оштећених слика, подешавања CI конфигурација или крађе токена путем HTTP захтева. OpenAI-јеве смернице за безбедност агената и NIST-ов рад на отмици агената наглашавају брзо убризгавање: злонамерне инструкције скривене у датотекама, веб страницама или логовима могу неприметно усмерити агента на радње које никада нисте намеравали да одобрите.
Многи тимови почињу са наивним токовима „тражи одобрење“ за сваку команду и брзо открију да се не могу скалирати. Антропик је јавно поделио да су корисници одобрили 93% захтева за дозволе Клода Кода; Докеров Клод сандбокс чак покреће Клода Код са --skip-permissions подразумевано, ослањајући се на изолацију током извршавања уместо на гомилу дијалога. Људи осећају замор од одобравања, посебно када покрећу више агената паралелно и мењају контекст кроз многе промпте. У том тренутку, дијалози за потврду постају церемонија, а не поуздана контрола.
Извршни песак мења безбедносни модел са „верујте кориснику да ће прочитати сваки промпт“ на „претпоставите да ће неке команде бити погрешне или контрадикторне и ограничите штету коју могу да направе“. Песковник постаје чврста граница око датотека, процеса, мрежа и тајни које агент може да додирне, чак и када се њиме манипулише брзим убризгавањем или једноставно прављењем грешака.
Постоји и основни аргумент везан за искуство програмера: агентима је потребно довољно простора да би заиста радили. Ако превише користите „пешчаник“ са грубим ограничењима, једноставне команде попут изградњи или тестова стално не успевају због нејасних грешака у дозволама. Најбољи системи, попут оних које је имплементирао Cursor на macOS/Linux/Windows или Cloudflare, Heroku и Google Cloud за хостована радна оптерећења, имају за циљ да агентима пруже осећај „правог рачунара“ унутар уског периметра.
Шта извршни песак за агенте заиста изолује

Прави агентски песак није само „негде другде за покретање кода“ – то је скуп експлицитних граница које дефинишу радијус експлозије. Можете се сетити пет основних ограничења која се појављују изнова и изнова на водећим платформама као што су Docker Sandboxes, Cloudflare Sandboxes, GKE Agent Sandbox, Freestyle VMs, E2B или Daytona.
Прво, граница фајл система: агент би требало да види само радни простор који намерно делите. Документација LangChain-а представља sandbox као баријеру која држи агенте подаље од датотека хоста; Docker-ов sandbox модел је кристално јасан да microVM види само експлицитно монтирани директоријум пројекта. Све ван тог стабла је невидљиво или само за читање, тако да агент не може случајно да чита. ~/.ssh или преписати системске конфигурације.
Друго, граница процеса и језгра: радна оптерећења агента не би требало да деле сирово језгро хоста или табелу процеса. Докерова архитектура песковитог простора изолује свако окружење засебно microVM и Linux језгроFirecracker (који „испод хаубе“ користи неколико провајдера) третира ту границу виртуелне машине као први слој изолације, а затим додаје seccomp, namespaces, cgroups и ограничења слична jail-у преко тога. Google-ов GKE Agent Sandbox постиже сличан ефекат унутар Kubernetes-а користећи gVisor: „sentry“ слој пресреће системске позиве и посредује у приступу основном чвору.
Треће, граница мреже: без мрежне политике, агент у песковитом окружењу је и даље машина за крађу података. Већина озбиљних платформи сада се подразумевано испоручује са опцијом „забрањи сав излаз“. Докер сандбокси, на пример, блокирају HTTP/HTTPS док се експлицитно не дозволи, прекидају сирови TCP/UDP/ICMP и не дозвољавају саобраћај ка приватним IP опсезима и локалном хосту осим ако не конфигуришете изузетке. Клаудфлејр, Гугл и други дизајнирају своје сандбоксове тако да одлазни позиви иду кроз програмабилне проксије где можете убризгавати ауторизацију, филтрирати одредишта и ревидирати коришћење.
Четврто, граница акредитива: откривање сирових тајни унутар песковника треба третирати као последње средство, а не као подразумевану одлуку. Докеров дизајн усмерава HTTP позиве преко проксија на страни хоста који може да прикачи токене или API кључеве захтевима без икаквог постављања тих сирових вредности унутар виртуелне машине. Cloudflare Sandbox-ови слично убризгавају акредитиве на мрежном слоју, а не путем променљивих окружења. На тај начин, чак и ако брзо убризгавање убеди агента да „одштампа све променљиве окружења“, нема ништа вредно за крађу.
Пето, граница животног циклуса: радни простори агената ретко постоје за једну команду; потребна им је експлицитна семантика за покретање, паузирање, снимање, форк и растављање. E2B открива изоловане фајл системе, позадинске команде и томове који могу да опстану дуже од једног животног века sandbox-а. Freestyle се фокусира на веома брзо покретање, суспендовање и настављање рада виртуелних машина са снимањем података и гранањем стања у меморији. Daytona додаје sandbox-ове засноване на снимцима података плус политике аутоматског заустављања, аутоматског архивирања и аутоматског брисања тако да можете да одржавате нека окружења дуготрајним, а друга третирате као једнократна.
Када видите ових пет оса – систем датотека, процес, мрежу, акредитиве и животни циклус – можете прочитати било коју страницу производа са „песчаним“ окружењем као низ компромиса. Контејнер са дељеним језгром и великим монтирањем хоста, али строгим правилима излаза, веома се разликује од microVM-а без монтирања хоста, али са попустљивијом мрежом. За програмере који треба да инсталирају зависности, покрећу прегледаче или граде слике Docker-а, јаче границе у стилу VM-а су обично безбедније подразумеване вредности.
Песковити систем на macOS-у, Linux-у и Windows-у за локалне агенте за кодирање
На лаптоповима за програмере, не можете увек покренути тешке microVM sandbox-ове, па су тимови морали да буду креативни са изолацијом која је изворно прилагођена оперативном систему. Курсоров недавни рад на локалним песковним кутијама је добар пример прилагођавања специфичностима macOS-а, Linux-а и Windows-а, уз задржавање јединственог API-ја за слој агента.
На macOS-у је процењено неколико опција: App Sandbox, генерички контејнери, комплетне виртуелне машине и дуготрајна, али „застарела“ технологија под називом Seatbelt. App Sandbox би захтевао потписивање сваке бинарне датотеке коју би агент могао да изврши, што би драматично повећавало сложеност и чак додељивало генерисаним бинарним датотекама транзитивно поверење. Linux контејнери би приморали кориснике macOS-а да користе само Linux бинарне датотеке, а потпуно развијене виртуелне машине би имале неприхватљиву латенцију покретања и оптерећење меморије за интерактивне токове кодирања.
Сигурносни појас, приступ преко sandbox-exec, на крају се показао као прагматичан избор упркос својим годинама. Омогућава вам да покренете команду у оквиру sandbox профила који ограничава целокупно стабло процеса помоћу прецизног језика политика: можете да ставите на белу листу или блокирате одређене системске позиве и ограничите дозволе за читање/писање на циљане датотеке или директоријуме. Cursor генерише ове политике динамички током извршавања на основу радног простора и администраторских подешавања, плус подешавања корисника. .cursorignore, тако да игнорисане путање постају забрањене унутар песковника.
На Линуксу, кернел открива праве примитиве – seccomp за филтрирање системских позива и Landlock за ограничења фајл система – али композицију оставља корисничком простору. Уместо да се ослањамо на постојеће OSS омотаче који нису подржавали игнорисања специфична за репозиторијум, као што је .cursorignore, Cursor је одлучио да директно оркестрира Landlock и seccomp. Seccomp забрањује опасне системске позиве; Landlock спроводи правила читања/писања заснована на путањама, чак им дозвољава да преклапају корисничке радне просторе тако да су игнорисане датотеке потпуно недоступне или замењене заштићеним копијама које процеси у заштићеном боксу не могу да читају или мењају.
Једна суптилност на Линуксу су перформансе: поновно монтирање или преписивање свих игнорисаних датотека је најспорији део подешавања sandbox-а. Одложено филтрирање у стилу macOS-а које може да види тачну путању датотеке у време системског позива би ово поједноставило, али Linux-ов seccomp-bpf не олакшава ту инспекцију путање, тако да постоји прави инжењерски компромис између чврсте изолације и брзине покретања.
На Windows-у, изградња истински еквивалентног нативног sandbox-а остаје тежа јер је већина изолационих примитива оптимизована за прегледаче, а не за опште алате за развој. Курсор тренутно покреће Линуксов „песак“ унутар WSL2 за Windows кориснике, у суштини користећи Линукс изолацију док не постану доступни богатији примитиви. Они сарађују са Мајкрософтом како би открили праве могућности како би временом Windows агенти могли да уживају у првокласном, изворном „песак“-у без WSL-а као потпоре.
Заједничка нит свих ових приступа специфичних за ОС је обједињени API за „песчаник“. Са становишта агента, постоји само „алат за испитивање“ са јасним могућностима и правилима. Испод хаубе, Seatbelt, Landlock/seccomp или изолација заснована на WSL2 спроводе та правила различито у зависности од платформе.
Учење агената да разумеју и поштују „песак“
Песковница помаже само ако агент може да предвиди шта ће радити унутар ње и када треба да ескалира привилегије или напусти песковницу. То звучи очигледно, али у пракси је захтевало изненађујуће дубоку итерацију брзог дизајна и алата за добављаче који испоручују агенте за кодирање.
Први корак који су многи тимови предузели био је побољшање описа алата, посебно за извршавање шкољки. Уместо генеричког алата „run_shell_command“, опис експлицитно наводи који су ресурси доступни: да ли команда има приступ фајл систему, приступ Гиту, приступ мрежи или потпуно офлајн окружење у зависности од конфигурације корисника. Такође документује како агент може да захтева повећана права (на пример, да би дошао до јавног интернета) када је то потребно. Овај брзи инжењерски рад обично је веома емпиријски: тимови покрећу уобичајене токове распоређивања, посматрају где модел погрешно предвиђа могућности, прилагођавају описе алата и понављају.
Интерни бенчмаркови попут „Cursor Bench“ или сличних евалуационих пакета се затим користе за упоређивање перформанси агента са и без „sandboxing“-а. Један од раних начина отказа био је веома доследан: агент би слепо понављао исту неуспешну команду терминала изнова и изнова, уместо да схвати да наилази на ограничење sandbox-а. Без јасног сигнала о томе зашто је команда неуспешна, модел није могао да научи образац.
Решење је било експлицитно приказивање грешака у „песочнику“ у излазима алата, често уз подстицај шта даље радити. Када је команда била блокирана због правила фајл система или мреже, алатка љуске је почела да укључује кратко објашњење попут „блокирано од стране sandbox-а: одлазни мрежни приступ онемогућен за ову сесију“ и, у неким случајевима, наговештај да агент може да затражи повишена дозвола. Након ове промене, агенти су постали много отпорнији: престали су да се понављају у петљи на нежељеним командама и или су прилагодили свој план или захтевали потребну могућност.
Офлајн евалуације су корисне, али говоре само део приче. Да би заиста знали да ли „sandbox“ нарушава корисничко искуство, тимови су постепено уводили подршку за „sandbox“ у продукцији и пратили стопе грешака, време завршетка и канале за повратне информације. У пракси, добављачи извештавају да се значајан део упита на компатибилним платформама сада у потпуности извршава унутар „sandbox“-а – са пословним корисницима попут NVIDIA међу првима који су га усвојили – и да агенти у „sandbox“-у заправо паузирају ради одобрења око 40% ређе у стварним токовима рада, штедећи сате ручног прегледа уз смањење ризика.
Гледајући унапред, постоји велико интересовање за „изворне агенте у песку“ – моделе обучене директно на ограничењима свог окружења. Уместо да третирају љуску, прегледач или фајл систем као апстрактне алате, ови агенти би разумели да живе у уско ограниченом окружењу за извршавање, да могу да пишу дуготрајне скрипте и програме и да морају да поштују граничне услове као што су „нема одлазне мреже“ или „радни простор је само за читање“. Та обука би их могла учинити далеко бољим у планирању безбедних, ефикасних секвенци акција без ударања о невидљиве зидове.
Клауд пескови: Cloudflare, Google Cloud, Heroku и други
Ван лаптопова програмера, велики талас добављача инфраструктуре се утркује да понуди хостоване „пешчанике“ подешене посебно за АИ агенте. Њихови циљеви су исти – изолација, контрола и перформансе – али компромиси изгледају мало другачије на нивоу облака.
Клаудфлејр пескови, изграђени на клаудфлејр контејнерима и сада опште доступни, имају за циљ да изгледају и делују као комплетна развојна окружења за агенте. Сваки sandbox је трајни, изоловани радни простор којем се обраћате по имену. Ако је у стању мировања, покреће се по потреби; ако је у стању мировања, аутоматски се обуставља ради уштеде рачунарских ресурса и наставља рад при следећем захтеву. Програмери (или агенти) могу да комуницирају са њим путем откуцаних метода као што су exec, gitCheckout, writeFile, и још много тога, користећи JavaScript/TypeScript SDK.
Један од најзахтевнијих проблема у облаку је безбедна аутентификација из унутрашњих „пешчаника“ агента. Агенти често морају да приступе приватним сервисима, али не желите да сирови акредитиви буду смештени у променљивим окружења. Cloudflare убризгава акредитиве на слоју мрежног проксија, мапирајући одлазне захтеве хоста на прилагођену логику која додаје токене из безбедног складишта. Процес „песчаника“ никада не види праве тајне, али позив се и даље аутентификује. Овај дизајн подржава динамичко убризгавање акредитива на основу идентитета и лепо се слаже са повезивањем радника.
За радне процесе који захтевају много терминала, Cloudflare је додао потпуно PTY (псеудо-терминално) искуство повезано преко WebSockets-а и xterm.js-а. Агенти и људи могу да отварају сесије уживог окружења, прекидају процесе, поново се повезују касније и репродукују прошли излаз. Сваки PTY има свој радни директоријум и окружење, а излаз се баферује на серверу тако да клијенти који се поново повезују могу да надокнаде пропуштене логове.
Поред приступа сировој љусци, Cloudflare такође нуди трајне „контексте извршавања кода“ за језике попут Python-а, JavaScript-а и TypeScript-а. За разлику од многих покретача исечака који извршавају сваки фрагмент изоловано, ови контексти чувају променљиве, увоз и стање у свим позивима, слично као Јупитер бележница. Агенти могу да учитавају податке у једном позиву, трансформишу их у другом и приказују графиконе или HTML табеле без сталног поновног парсирања и поновног увоза свега.
За задатке веб развоја, Cloudflare sandbox-ови подржавају позадинске процесе, провере исправности и URL-ове за преглед уживо. Агент може да почне npm run dev као позадински задатак, пратите логове док сервер не буде спреман, а затим изложите порт иза јавне URL адресе за преглед. Методе као што су waitForPort() or waitForLog() дозволите агентима да секвенцирају акције на основу стварних сигнала спремности уместо наивних sleep(2s) претпоставке.
Радни токови вођени догађајима добијају појачање од примитива за праћење датотека које подржава Линуксов механизам за инотификовање. Агент се може претплатити на измене под /workspace/src и аутоматски поново покренути тестове или израде када се TypeScript датотеке измене. Ово је иста повратна спрега на коју се ослањају људски програмери, али је направљена за агенте путем API-ја као што је sandbox.watch() и токове догађаја које шаље сервер.
Да би затворио петљу животног циклуса, Cloudflare уводи праве снимке – снимке стања на нивоу виртуелне машине који се могу вратити за неколико секунди из R2 складишта. Снимци чувају стање фајл система, конфигурацију ОС-а, инсталиране зависности и датотеке са подацима; будуће верзије ће такође вратити стање активне меморије за тренутни наставак. Агенти (или оркестратори) могу програмски покренути снимке за контролне тачке или сценарије распршивања, а затим креирати више сендбокса из истог снимка како би изоловано истражили паралелне хипотезе.
Што се тиче цена, Cloudflare је прешао на модел „само активног процесора“: наплаћује вам се за стварно коришћене циклусе процесора, а не за време неактивности док агенти чекају на LLM-ове. У комбинацији са огромним ограничењима конкурентности за „lite“ и веће инстанце, ово омогућава покретање велике флоте агената без трошења новца на контејнере за спавање.
Насупрот томе, Google Cloud-ов GKE Agent Sandbox је дубоко интегрисан са Kubernetes-ом и gVisor-ом. Идеја је да вам се омогући покретање агентских радних оптерећења у изолованим подовима унутар ваших сопствених кластера. Креирате GKE кластер (Autopilot може аутоматски да омогући gVisor, док стандардни кластери захтевају експлицитне класе извршавања и базене чворова са омогућеним gVisor-ом), а затим распоређујете Agent Sandbox контролер путем верзионих манифеста.
Два основна прилагођена ресурса покрећу модел: SandboxTemplate SandboxWarmPool. SandboxTemplate делује као план за вишекратну употребу који одређује шаблон под-а (слика, портови, ресурси, runtimeClassName: gvisor, итд.) за заштићена окружења, као што је Пајтон окружење. SandboxWarmPool одржава конфигурисани број претходно загрејаних капсула спремним за готово тренутно преузимање, избегавајући хладне стартове када агенту треба свеже окружење за мање од секунде.
A Sandbox Router Услуга затим делује као капија за саобраћај између клијената и ових изолованих подова. У развоју, можете тунелирати саобраћај кроз kubectl port-forward без откривања јавних ИП адреса. У продукцији бисте обично рутеру обезбедили одговарајући улаз и mTLS. На страни клијента, Google пружа Python библиотеку „Agentic Sandbox“ која обухвата цео животни циклус: креирајте захтев за sandbox из шаблона, сачекајте док не буде спреман, покрените команде шелла и очистите када завршите.
Све ово је и даље „само Кубернетес“ испод хаубе, али упаковано у кохерентну причу за извршавање агената. gVisor пружа изолацију процеса и системских позива, SandboxTemplate стандардизује конфигурације, WarmPool решава латенцију покретања, а рутер плус Python клијент га чине погодним за апликације усмерене на LLM.
Хероку, с друге стране, ослања се на веома зрео градивни блок: једнократне динамометре. Годинама су корисници Херокуа покретали ад хок задатке – миграције, скрипте за одржавање, администраторске задатке – у краткотрајним динамо машинама које се покрећу на захтев и завршавају када се заврше. Хероку је поново користио ову инфраструктуру као „песочњаке“ за извршавање кода, покренуте заједно са својим понудама за управљано закључивање и агенте. Агент пише фрагменте кода за Пајтон, Руби, Ноде или Го; Хероку их извршава унутар краткотрајних динамо машина и враћа резултате, ограничавајући радијус експлозије на краткотрајни контејнер.
Овим песковним кутијама можете приступити или путем уграђених алата у Heroku-овом Agents API-ју или применом сервера отвореног кода Model Context Protocol (MCP). MCP сервери откривају стандардизоване крајње тачке алата, тако да клијенти попут Agentforce-а, Claude Desktop-а или Cursor-а могу третирати Heroku-ов sandbox као генерички, удаљени бекенд за извршавање кода. Сваки сервер подржава ограничења специфична за време извршавања (као што су max_calls по агентској петљи) како би се спречило да се агенти окрећу у уским, скупим петљама.
LangChain-ови Deep Agents додају још једну димензију интеграцијом са добављачима sandbox-а трећих страна као што су Runloop, Daytona и Modal. Шаблон је једноставан: Deep Agent наставља да ради где год желите (локално или у облаку), али кад год је потребно да покреће команде, креира датотеке или извршава код, те операције се прослеђују у удаљени sandbox. Скрипте за подешавање могу унапред учитати променљиве окружења, клонирати репозиторијуме, инсталирати алате и још много тога, тако да сваки агент добија чисто, контролисано окружење. Менаџери контекста затим рукују креирањем и чишћењем, иако документација снажно препоручује праћење контролних табли провајдера за све заборављене дуготрајне sandbox-ове.
Перформансе, стање и гранање: зашто је брзина важна за агенте
Спор, али ултра безбедан „песак“ ће бити заобиђен у пракси; алати за програмере живе или умиру од латенције. Агенти за кодирање се не понашају као ноћни групни послови. Они покрећу интерактивне петље: читају код, предлажу измене, покрећу тестове, анализирају логове, позивају алате, чекају људе, а затим понављају. У стварним сесијама, они такође истражују више грана проблема, напуштају неке руте и враћају се на друге касније.
Зато су платформе попут Freestyle-а опседнуте животним циклусом виртуелних машина скраћеним за мање од секунде и богатом семантиком стања. Њихове виртуелне машине су комплетне Линукс машине са root приступом, системским сервисима, подршком за угнежђену виртуелизацију и потпуним умрежавањем. Документација наводи да је време припреме за мање од 800 ms од API позива до покретања виртуелне машине, суспендовање/наставак рада за мање од 100 ms и могућност снимања или форкирања виртуелних машина током извршавања уз минималан утицај на перформансе. Они експлицитно наводе стање прегледача као корисника: ако је агент довео прегледач у занимљиво стање, може да форкне ту виртуелну машину 20 пута из истог снимка уместо да поново креира то стање од нуле.
Гуглов SandboxWarmPool за GKE изражава исту идеју у Кубернетес терминима: одржавајте пул претходно загрејаних подова како агенти не би плаћали пуне казне за хладни старт за свако ново покретање. Дајтонини радни простори засновани на снимцима података плус политике аутоматског заустављања/архивирања/брисања подешавају животни циклус за различите типове сесија: активна развојна окружења, ефемерне експерименте и дуготрајне основне линије.
Е2Б-ов нагласак на позадинским пословима, директоријумима који се могу пратити, изоловане фајл системе и томове који се могу поново користити је друга страна исте медаље. Ове функције омогућавају агенту да одржава развојни сервер или тест систем у раду док истражује измене кода или да дели трајни волумен између више краткотрајних „пешчаника“ током времена. Без овога, агенти на крају избацују једнократне команде и губе контекст, што убија продуктивност.
Користан начин за процену било ког песковника за рад агента је постављање неколико директних питања. Могу ли да покренем ново окружење за мање од секунде? Могу ли да чисто сачувам и вратим стање, укључујући делимичне израде или сесије прегледача? Могу ли да поделим стање за паралелно истраживање? Могу ли да задржим дуготрајне, али ресурсно ефикасне радне просторе за токове „вратите се касније“? Што више одговора „да“ добијете, то се ваши агенти могу понашати као прави инжењери уместо као покретачи скрипти без стања.
Тајне, мрежна политика и поверење у радни простор као права контролна раван
Чак и са савршеном изолацијом хоста, лако је изградити небезбедан систем ако игноришете тајне, мрежне смернице и поверење у радни простор. Докерова документација за „sandbox“ је освежавајуће искрена по овом питању. microVM и њен приватни Docker демон чине главну границу поверења са хостом. Међутим, унутар те виртуелне машине, агент има пуну контролу на root нивоу, а дељени радни простор је монтиран за читање и писање. Подразумевано, све измене датотека се одмах одражавају на хосту. Излаз из мреже је подразумевано забрањен и дозвољен је само путем експлицитних правила, а HTTP захтеви користе прокси на страни хоста који може да убризга акредитиве без откривања сирових тајни виртуелној машини.
То значи да је изоловање хоста само први корак; и даље морате размишљати о томе шта агент може да уради радном простору и спољашњем свету. Докерова документација експлицитно упозорава да ако агент измени скрипте, људи их касније извршавају – Гит хоокове, CI конфигурације, дефиниције IDE задатака, Makefile мете, package.json скрипте – штета може да „скочи“ назад на хост или CI системе када се те скрипте покрећу. Чак истичу да се Git качи .git/ не појављуј се у git diff, што олакшава тихо истрајање злонамерне логике.
Проксирање акредитива је моћно, али суптилно. Докеров одлазни прокси осигурава да тајне остану ван виртуелне машине, али и даље омогућава агенту да делује користећи те идентитете против дозвољених хостова. Неки токови – попут писања прилагођених променљивих окружења у датотеке као што су /etc/sandbox-persistent.sh – прекините ову границу намерним чувањем тајни унутар виртуелне машине, што је безбедно само ако заиста верујете агенту и „песочнику“.
Обим конфигурације је важан једнако као и тајне. Докеров FAQ напомиње да конфигурације на нивоу корисника попут ~/.claude or ~/.codex на хосту се не копирају у sandbox; видљива је само конфигурација на нивоу пројекта у дељеном радном простору. Anthropic-ова документација конфигурације потврђује да подешавања на нивоу пројекта – алати, дозволе, MCP сервери, hooks – надјачавају она на нивоу корисника и деле се између тимова. Другим речима, све политике, упутства и додатке које приложите репозиторијуму постају главна површина коју агент види.
OpenAI-јеве смернице за вештине истичу сличне тачке мало другачијим речником. Вештине (пакети алата) могу представљати ризике од крађе података вођене брзим убризгавањем. Документација упозорава на директно излагање некурисаног, јавног тржишта вештина крајњим корисницима, јер злонамерне SKILL.md датотеке могу заобићи политике, покренути деструктивне радње или цурити приватне податке. Препоручују проверу вештина програмера, њихово ограничавање на одређене токове рада, скривање акција са великим утицајем иза додатних одобрења и провера политика и третирање вештина као дела вашег модела претње.
Када се све делови споје, „права“ контролна раван за агентске песковнике обухвата четири слоја. Изолација хоста штити ваше машине и чворове кластера. Поверење у радни простор штити будућег човека или CI који ће покретати датотеке произведене унутар sandbox-а. Мрежна политика штити екстерне системе и приватне изворе података. Управљање акредитивима штити идентитете преко којих агент може да делује. Робустан дизајн има одговоре за сва четири, не само за прво.
Поред тога, и даље вам је потребан здрав скептицизам према брзом убризгавању и отмици агента. NIST, OWASP и OpenAI описују варијанте истог обрасца: непоуздан унос – README, веб страница, лог датотека – уграђује злонамерне инструкције које преусмеравају понашање агента. Генерисање проширено претраживањем и фино подешавање не решавају ово магично. Добро инструментовани sandbox плус добра политика не могу спречити да се модел превари, али могу драматично смањити негативне последице када се то деси.
Клауд платформе и агентска окружења почињу да кодирају ове лекције. Тајни проксији, домени са дозвољене листе за одлазни саобраћај, конфигурације са ограниченим репозиторијумом, субагенти са ужим могућностима, токови одобравања засновани на кукама и репродуктивни „пешчаници“ су све делови исте слагалице: прихватите да су модели погрешиви и пројектујте окружење тако да цена те погрешивости остане ограничена.
У локалним и облачним подешавањима, извршни песак за агенте се најбоље може посматрати као пажљиво повучена линија: он не чини модел паметнијим, већ чини његове грешке мање катастрофалним и видљивијим. Са правом комбинацијом контрола фајл система, процеса, мреже, тајних података и животног циклуса, плус паметним учењем агента о његовом окружењу, можете дозволити вештачкој интелигенцији да клонирају репозиторијуме, покрећу тестове, покрећу прегледаче, па чак и да додирују системе сличне продукцији – без да им дате кључеве свега што вам је важно.
То значи да је изоловање хоста само први корак; и даље морате размишљати о томе шта агент може да уради радном простору и спољашњем свету, укључујући и riesgos como. даљинско извршавање кода. Докерова документација експлицитно упозорава да ако агент измени скрипте, људи их касније извршавају – Гит хоокове, CI конфигурације, дефиниције IDE задатака, Makefile мете, package.json скрипте – штета може да „скочи“ назад на хост или CI системе када се те скрипте покрену.