AWS пусна Strands Box — изолирана среда (sandbox) с отворен код за AI агенти, която комбинира изолация на ниво операционна система с правила, способни да отчитат вече извършените от агента действия, преди да му позволят да действа отново. Box е във фаза на предварителен преглед за разработчици (developer preview) и работи на компютри Mac с чипове Apple Silicon, като се планира и поддръжка за Linux.

Изолирана среда за AI агенти Strands Box

Ако използвате асистенти за програмиране, сте запознати с проблема, към който е насочен Strands Box. Агентите четат файлове, изпълняват shell команди, пускат код, който сами са написали, и извикват API интерфейси, като много от тях в момента работят в т.нар. от AWS „YOLO режим“ — одобрявайки всяко действие без човешка намеса и преглед. В това състояние даден агент може да напусне работната си директория, да изпълни разрушителна команда или да прихване идентификационни данни, предназначени за друга цел.

Контейнерите и microVM могат да ограничат достъпа на агента, но щом даден инструмент попадне зад тази защитна преграда, изолацията не може да контролира начина, по който агентът го използва.

Единствен изход, преминаващ през политики за сигурност

Strands Box поставя агента в изолирана среда, контролирана на ниво ядро чрез macOS Seatbelt, и пренасочва неговите shell команди, Python код, извиквания на инструменти и мрежов трафик през четири контролни точки: shell интерпретатор, Python интерпретатор, брокер за MCP сървъри и шлюз за мрежов трафик. Марк Брукър, автор на съпътстващата публикация на AWS относно архитектурата, посочва, че изолацията цели да гарантира, че „слоят с политики за сигурност е единственият изход от изолираната среда“.

Всяка контролна точка се допитва до Dogwood Local Engine дали да позволи действието. Dogwood е език за дефиниране на политики, чийто код AWS отвори по-рано тази година, като всичко, което енджинът проверява, се отхвърля, освен ако изрично правило не го разрешава. И четирите контролни точки записват в обща история на събитията, което позволява на правилата да свързват действия между различни инструменти. Дадено правило може да блокира изходящите HTTP заявки, след като агентът прочете файл от директория с клиентски данни — независимо дали прочитането е извършено чрез shell команда или Python скрипт.

Примерите на Брукър включват разрешаване на агента да изпълнява git push едва след преминаване на тестовете или ограничаване на заявките към платежен API до 100 долара на ден. В демонстрацията на AWS агент за реагиране на инциденти може да публикува в Slack три пъти за 10 минути. Четвъртата публикация получава статус HTTP 403 с посочване на правилото, така че агентът да знае, че трябва да изчака.

Мрежовият шлюз управлява и тайните данни. За конфигурираните API ключове агентът съхранява заместващ токен (placeholder), а шлюзът го заменя с реалната стойност на изхода; при извиквания към AWS шлюзът подписва заявките. Ако агентът изведе променливите си на средата, в тях се виждат единствено заместващите стойности за тези ключове.

Какво не покрива инструментът

Файловете, до които директно предоставите достъп на агента в box.toml, са оградени от операционната система, а операциите по четене и запис в тях не достигат до енджина за политики или неговата история. Ако желаете правило да контролира даден файл, изключете го от списъка с преки права и оставете агента да достигне до него през интерпретаторите.

„Въпреки че вярваме, че подходът ни е правилен за справяне с реалните предизвикателства при изолацията на агенти, които чуваме от нашите клиенти, нито един от вариантите в тази област не е без компромиси. По-специално, Strands Box съдържа повече код, на който трябва да се гласува доверие (специалистите по сигурност наричат това доверена компютърна база – trusted computing base), включително сложен код като интерпретатори и прехващачи на протоколи. Разработихме този код на Rust и инвестирахме в тестване, фазинг (fuzzing) и валидация за повишаване на сигурността. Реалността обаче е, че повече код означава повече възможности за грешки, а в тази сфера грешките могат да доведат до заобикаляне на правилата за сигурност“, обясни Брукър.

Самите правила изискват усилия. Брукър признава, че политиките на Dogwood могат да изглеждат трудни за четене и писане, но отбелязва, че водещите кодиращи агенти вече се справят отлично с тях; AWS предоставя и специално умение (skill) за съставяне на политики за тази цел. В пътната карта е включен и CLI инструмент, който да засича инсталираните среди и автоматично да генерира начален box.toml и базова политика.

Strands Box е достъпен безплатно в GitHub.