astrid: WASM sandboxing을 사용하는 조합 가능한 AI 에이전트 소프트웨어를 위한 권한 보안 OS
astrid: WASM sandboxing을 사용하는 조합 가능한 AI 에이전트 소프트웨어를 위한 권한 보안 OS
해결하는 문제
Astrid는 AI 에이전트를 위한 안전하고 이식 가능한 런타임을 제공합니다. 프롬프트 기반의 신뢰를 OS급 보안 경계로 대체함으로써, 로컬 머신에서 신뢰할 수 없는 에이전트 코드를 실행할 때 발생하는 보안 위험을 해결합니다. 암호화된 권한 모델을 통해 명시적으로 권한이 부여되지 않는 한 에이전트가 파일, 네트워크 또는 자격 증명에 접근할 수 없도록 보장합니다.
작동 방식
Astrid는 capsules라고 불리는 일련의 격리된 WebAssembly (WASM) 컴포넌트를 관리하는 "dumb" 커널로 작동합니다. 이 capsules는 provider, tool, orchestrator의 로직을 포함합니다.
- Isolation: Capsules는 ambient authority(직접적인 syscalls 또는 파일 접근)가 없는 Wasmtime sandbox에서 실행됩니다.
- Communication: Capsules는 IPC 프로토콜을 사용하는 이벤트 버스를 통해 통신합니다. 커널은 이러한 이벤트를 라우팅하기 위해 권한 기반의 Access Control List (ACL)를 강제합니다.
- Capability Model: 리소스(파일, 네트워크 호스트)에 대한 접근은 principal-bound이며 취소 가능한 서명된 ed25519 grants를 통해 관리됩니다.
- Uplinks: CLI 또는 HTTP gateway와 같은 frontend는 이벤트를 송수신하기 위해 "uplinks"로서 커널에 연결됩니다.
대상 사용자
엄격한 보안 보장, principal별 격리, 그리고 시스템을 재시작하지 않고 도구를 hot-load 및 업데이트할 수 있는 방법이 필요한 조합 가능한 AI 에이전트 소프트웨어를 구축하는 개발자를 위해 설계되었습니다.
주요 특징
- Cryptographic Capabilities: 모든 리소스 접근은 서명된 grant가 필요하며, 이는 capsule가 침해되더라도 승인되지 않은 접근을 방지합니다.
- WASM Sandboxing: WebAssembly component model을 사용하여 코드가 호스트 시스템으로부터 격리되도록 보장합니다.
- Per-Principal Isolation: 각 agent identity는 자체적인 격리된 secrets, home directory, 및 audit chain을 가집니다.
- Hot-Loading: Capsules는 재시작 없이 실행 중인 daemon에서 설치, 업그레이드 또는 제거될 수 있습니다.
- Signed Audit Chain: 독립적인 검증을 위해 모든 결정 및 호출에 대한 hash-linked, 서명된 로그를 유지합니다.
Sources
- undefinedastrid-runtime/astrid