multikernel/sandlock

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

해결하는 문제

Sandlock은 컨테이너나 가상 머신의 오버헤드 없이 Linux에서 신뢰할 수 없는 코드를 샌드박싱하는 경량의 고성능 방법을 제공합니다. 이는 AI 에이전트나 스크립트와 같은 애플리케이션을 보호하도록 설계되었으며, 루트 권한이나 복잡한 이미지 빌드 없이 파일 시스템, 네트워크 및 시스템 호출에 대한 액세스를 제한합니다.

작동 방식

Sandlock은 최신 Linux 커널 기능, 특히 Landlock(파일 시스템 및 네트워크 액세스 제어용)과 seccomp-bpf(시스템 호출 필터링용)를 사용합니다. 또한 seccomp 사용자 알림을 활용하여 리소스 제한을 적용하고 시스템의 일부를 가상화합니다. cgroups나 네임스페이스에 의존하지 않기 때문에 기존 컨테이너 런타임에 비해 거의 즉각적인 시작 시간(약 5ms)과 최소한의 성능 오버헤드를 달성합니다.

대상 사용자

이 프로젝트는 AI 에이전트, 자동화 도구 또는 신뢰할 수 없는 코드를 안전하게 실행해야 하는 모든 애플리케이션을 구축하는 개발자를 위한 것입니다. Docker 컨테이너 관리의 복잡성 없이 에이전트가 액세스할 수 있는 항목(예: 특정 HTTP 엔드포인트 또는 디렉토리)을 세밀하게 제어해야 하는 경우 특히 유용합니다.

주요 기능

  • 루트 없는 작동: 루트 권한, cgroups 또는 컨테이너 런타임 없이 실행됩니다.
  • 세밀한 제어: HTTP 수준 액세스 제어 목록(ACL) 및 특정 네트워크/파일 시스템 경로 규칙을 지원합니다.
  • COW(Copy-on-Write) 파일 시스템: 변경 사항을 캡처하여 작업 디렉토리를 자동으로 보호하며, 커밋하거나 폐기할 수 있습니다.
  • 낮은 오버헤드: Docker나 MicroVM보다 훨씬 빠른 시작과 낮은 지연 시간.
  • 다중 언어 지원: 네이티브 Rust 라이브러리, CLI, Python 및 Go용 SDK를 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트