
AWS випустила Strands Box, sandbox з відкритим кодом для AI-агентів
Strands Box у розробницькому тестуванні: він поєднує ізоляцію операційної системи з політиками Dogwood для контролю доступу AI-агентів до файлів, shell, Python, MCP-інструментів та мережевого трафіку.
AWS випустила в розробницьке тестування Strands Box, sandbox з відкритим кодом за ліцензією Apache 2.0, який поєднує ізоляцію на рівні операційної системи з детальними політиками, що регулюють, що можуть AI-агенти. Проєкт базується на Dogwood, мові політик з відкритим кодом, та Dogwood Local Engine, який оцінює політики щодо необхідних агенту дій і зафіксованої історії.
Ізоляція та політика
Strands Box спирається на два рівні. Ізоляція використовує розділення на рівні ОС, наприклад macOS Seatbelt, щоб визначити, до чого агент може отримати доступ на хост-машині та в мережі, створюючи сувору межу. У межах цієї межі політика регулює, які дії може виконувати агент. Політика застосовується в кількох точках виконання: мережевий шлюз, інтерпретатор Python, інтерпретатор Shell та брокер серверів Model Context Protocol. Ці точки регулюють, які файли агент може читати або змінювати, які команди запускати, до яких HTTP-методів і шляхів мати доступ та які MCP-інструменти викликати.
Box включає два інтерпретатори коду, Strands Shell та Monty для Python, які працюють поза sandbox і перехоплюють операції, такі як доступ до файлової системи або мережеві виклики, і перенаправляють їх через рушій політик. Усі точки виконання однаково повідомляють про дії, тому читання файлу командою shell або скриптом Python є подією fs:read, а HTTP-запит, надісланий з curl або Python, є подією http:request. Це дозволяє одному правилу зв'язати попередню дію одним інструментом з пізніше виконаною дією іншим інструментом.
Облікові дані та конфігурація
Увесь вихідний трафік проходить через вихідний шлюз (egress gateway), який приймає рішення http:request і передає лише те, що дозволяє політика. Шлюз також може прикріплювати облікові дані: для налаштованих маршрутів API-key агент отримує тимчасовий токен, який шлюз замінює реальним секретом перед передачею, тому секрет ніколи не потрапляє в середовище агента. Підтримувані методи включають Bearer-токени, користувацькі заголовки, HTTP Basic, query-параметри та підпис AWS SigV4 з обліковими даними, отриманими поза агентом.
Box конфігурується двома файлами. box.toml описує середовище: команду агента, робочу директорію, доступ до файлової системи, інструменти, MCP-сервери та прив'язку облікових даних. policy.dw містить правила Dogwood, написані синтаксисом у стилі Cedar, з деклараціями permit або forbid для дій та умовами в блоках when.
Тимчасові політики
Тимчасові оператори Dogwood прив'язують авторизацію до вже виконаних агентом дій. В одному прикладі правило дозволяє пости у Slack на конкретному endpoint, але забороняє наступні пости, як тільки box зафіксує три успішні відповіді 200 протягом десяти хвилин. Відміна повертається з HTTP 403, де вказано ідентифікатор правила та опис, щоб агент міг скоригувати поведінку. Правило враховує лише успішні відповіді, тому невдалі спроби не враховуються в ліміті.
Що далі
AWS планує розширити підтримку ОС поза macOS, створити CLI, який виявляє встановлені harness-и агентів та генерує базові box.toml і політику, і дати розробникам можливість пакувати агентів разом з Box для розгортання на таких платформах, як Amazon Bedrock AgentCore, ECS або Kubernetes. Компанія також планує розширити Dogwood правилами liveness, які описують, що має статися врешті-решт. Агент Policy Authoring доступний для допомоги у написанні політик Dogwood, а проєкт доступний на GitHub за адресою github.com/strands-agents/box.
Джерела: The Register · Aws · Strands Agents
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.