Strands Box fra AWS gir agenten regler som husker hva den har gjort, foreløpig bare på Mac
torsdag 8. oktober · KI-generert · Kilde: AWS Open Source Blog
Gi KI-agenten din en sandbox der reglene vet hva den allerede har gjort, foreløpig bare på Mac med Apple silicon.
«La denne agenten kjøre git push, men bare hvis testene passerer» er eksempelet Marc Brooker i AWS bruker for å forklare Strands Box. Den åpne sandboxen kom i developer preview 7. oktober, skriver AWS Open Source Blog, under Apache 2.0-lisens og skrevet i Rust.
Box har to lag. Ytterst ligger OS-isolasjon, i dag macOS Seatbelt, som bestemmer hvilke filer og hvilket nettverk agenten når i det hele tatt. Innenfor den grensen avgjør regler skrevet i Dogwood, policy-språket AWS åpnet i august, hvilke handlinger som slipper gjennom. Reglene håndheves fire steder: en egress-gateway som all utgående trafikk går gjennom, en Shell-tolk (Strands Shell), en Python-tolk (Monty fra Pydantic) og en megler for MCP-servere.
De fire deler én hendelseshistorikk. En fil lest via Python og en fil lest via cat blir begge en fs:read-hendelse, så du kan skrive en regel som stopper utgående HTTP-kall etter at agenten har lest fra en mappe med kundedata, uten å bry deg om hvilket verktøy som leste. AWS sitt gjennomgående eksempel er en vaktagent som får poste i Slack maks tre ganger per ti minutter. Den fjerde posten får HTTP 403 med regelens id og beskrivelse, slik at agenten kan vente i stedet for å prøve på nytt.
Gatewayen tar også API-nøklene ut av agentens miljø. Agenten ser bare en plassholder, og gatewayen bytter inn den ekte nøkkelen på vei ut. Bearer-token, egne headere, HTTP Basic, query-parametere og AWS SigV4 støttes.
AWS forklarer hvorfor de ikke stoler på tillatelsene som kodeagentene selv har innebygd:
«De kjører inne i agentens egen prosess, og de vurderer verktøykallet, ikke effekten av det» — AWS Open Source Blog
Prisen er en større kodebase som må stoles på. Tolkene og protokoll-avskjæringen kjører utenfor sandboxen, og Brooker legger ikke skjul på hva det betyr.
«Mer kode betyr flere muligheter for feil, og her kan feil bety at policyen blir omgått» — Marc Brooker, AWS
For skybaserte oppsett med flere kunder anbefaler AWS derfor å kjøre Box inne i en egen microVM per sesjon. To andre begrensninger bør du kjenne før du prøver. Filtilgang du gir direkte i box.toml håndheves bare av operativsystemet og gir ingen policy-beslutninger, så filer du vil regulere må gå via tolkene. Og repoet strands-agents/box ble opprettet 2. oktober og har 129 stjerner, med Linux-støtte bare planlagt.
Hva bør du gjøre?
- Har du en Mac med Apple silicon, klon strands-agents/box og følg getting started-guiden med agenten du allerede bruker. Box er ikke låst til Strands-rammeverket.
- Flytt API-nøkler bak gatewayen med
secret.refibox.toml, så agenten bare ser plassholdere. - Vær bevisst på om rate-grensene teller
::responseeller::request. Slack-eksempelet teller vellykkede svar, og AWS viste selv da Dogwood kom at parallelle kall kan slippe forbi et tak som bare teller responser.