astrid-runtime/astrid

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

解決する課題

Astridは、AIエージェントのための安全でポータブルなランタイムを提供します。信頼できないAIエージェントにローカルファイル、ネットワーク、および資格情報へのアクセス権を与えることに関連するセキュリティリスクに対し、プロンプトベースの信頼をOSグレードのセキュリティ境界に置き換えることで対処します。モデルが指示に従うことを信頼するのではなく、Astridは権限ベースのセキュリティモデルを使用して、ランタイムレベルでセキュリティを強制します。

仕組み

Astridは、「capsules」と呼ばれるWebAssembly (WASM) コンポーネントのサンドボックスを管理する「dumb」カーネルとして動作します。これらの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ログを維持します。