multikernel/sandlock

The lightest AI sandbox. A process-based sandbox for Linux, no container, no VM, no privilege, no prompt injection

解決する問題

Sandlock は、コンテナや仮想マシンのオーバーヘッドなしに、Linux 上で信頼できないコードをサンドボックス化する軽量で高性能な方法を提供します。これは、AI エージェントやスクリプトなどのアプリケーションを保護するために設計されており、root 権限や複雑なイメージ構築を必要とせずに、ファイルシステム、ネットワーク、システムコールへのアクセスを制限します。

仕組み

Sandlock は、現代の Linux カーネル機能、具体的には Landlock(ファイルシステムとネットワークアクセス制御用)と seccomp-bpf(システムコールフィルタリング用)を使用します。また、seccomp ユーザー通知を利用してリソース制限を強制し、システムの一部を仮想化します。cgroups や名前空間に依存しないため、従来のコンテナランタイムと比較して、ほぼ瞬時の起動時間(約 5 ミリ秒)と最小限のパフォーマンスオーバーヘッドを実現します。

対象読者

このプロジェクトは、AI エージェント、自動化ツール、または信頼できないコードを安全に実行する必要があるアプリケーションを構築する開発者向けです。Docker コンテナの管理の複雑さなしに、エージェントがアクセスできる内容(特定の HTTP エンドポイントやディレクトリなど)を細かく制御する必要がある場合に特に役立ちます。

ハイライト

  • ルートレス操作: root 権限、cgroups、コンテナランタイムなしで実行。
  • きめ細かい制御: HTTP レベルのアクセス制御リスト(ACL)と特定のネットワーク/ファイルシステムパスルールをサポート。
  • コピーオンライト(COW)ファイルシステム: 変更をキャプチャして作業ディレクトリを自動的に保護し、コミットまたは破棄できます。
  • 低オーバーヘッド: Docker や MicroVM よりも大幅に高速な起動と低遅延。
  • 多言語サポート: ネイティブ Rust ライブラリ、CLI、Python および Go 用の SDK を提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト