astrid-runtime/astrid

Astrid is a portable, capability-secure operating system for composable software.

해결하는 문제

Astrid는 AI 에이전트를 위한 안전하고 이식 가능한 런타임을 제공합니다. 신뢰할 수 없는 AI 에이전트에게 로컬 파일, 네트워크 및 자격 증명에 대한 액세스 권한을 부여할 때 발생하는 보안 위험을 프롬프트 기반 신뢰를 OS급 보안 경계로 대체함으로써 해결합니다. 모델이 지침을 따를 것이라고 신뢰하는 대신, Astrid는 권한 기반 보안 모델을 사용하여 런타임 수준에서 보안을 강제합니다.

작동 방식

Astrid는 "dumb" 커널로서 동작하며 "capsules"라고 불리는 WebAssembly (WASM) 컴포넌트의 샌드박스를 관리합니다. 이 capsules에는 실제 로직, 도구 및 LLM 제공자가 포함되어 있습니다.

  • The Kernel: 이벤트 라우터 및 권한 강제자 역할을 합니다. 비즈니스 로직이나 LLM 핸들을 포함하지 않으며, 단순히 IPC (Inter-Process Communication) 이벤트를 라우팅하고 액세스 제어 목록 (ACL)을 강제합니다.
  • Capsules: 버스를 통해 통신하는 WASM 컴포넌트입니다. 각 capsule은 요구 사항을 선언하고 특정 도구 또는 서비스를 제공합니다. 이들은 주변 권한(직접적인 syscall 또는 파일 액세스)이 없는 Wasmtime 샌드박스에서 실행됩니다.
  • Capability Model: 리소스(파일, 네트워크 호스트)에 대한 액세스는 서명된, 범위가 지정된, 취소 가능한 토큰을 통해 부여됩니다. 토큰이 없으면 액세스할 수 없습니다.
  • Uplinks: CLI 또는 HTTP 게이트웨이와 같은 프런트엔드는 이벤트를 보내고 받기 위해 프로토콜 클라이언트로서 데몬에 연결됩니다.

대상

엄격하고 검증 가능한 보안 경계와 주체별 격리가 있는 환경에서 신뢰할 수 없는 에이전트 코드를 머신에서 실행해야 하는 AI 에이전트 구축 개발자 및 운영자.

주요 특징

  • WASM Sandboxing: Wasmtime를 사용하여 capsules가 호스트 메모리나 syscall에 직접 액세스할 수 없도록 보장합니다.
  • Cryptographic Capabilities: 리소스 액세스는 주체에 바인딩되고 만료되는 서명된 ed25519 권한을 통해 관리됩니다.
  • Per-Principal Isolation: 모든 에이전트 ID는 자체적으로 격리된 capsule 액세스, KV 저장소, 비밀 정보 및 감사 체인을 가집니다.
  • Live Lifecycle: 실행 중인 데몬에서 재시작 없이 capsules를 설치, 업그레이드 또는 제거할 수 있습니다.
  • Signed Audit Chain: 독립적인 검증을 위해 모든 결정 및 호출에 대해 해시로 연결된 서명된 JSONL 로그를 유지합니다.