clawkwork/clawk

Give coding agents a disposable Linux VM, not your laptop

해결하는 문제

clawk는 자율적 코드 에이전트(Claude Code, Codex, pi 등)를 위한 안전하고 일시적인 Linux 환경을 제공합니다. 단 하나의 파괴적 명령어나 유출된 토큰만으로도 호스트 머신에 치명적인 피해를 줄 수 있는 완전한 권한으로 에이전트를 실행하는 위험을 제거하기 위해, 사용자 자신의 머신이 아닌 독립된 가상머신(VM)을 에이전트에게 제공합니다.

작동 방식

clawk는 macOS에서는 Apple의 Virtualization.framework, Linux에서는 Firecracker를 사용하여 가벼운 Linux VM을 부팅합니다. virtio-fs를 통해 로컬 코드 리포지토리를 게스트 VM에 마운트하여 에이전트가 실시간으로 파일을 편집할 수 있도록 합니다. 보안을 보장하기 위해 사용자 공간에 DNS 인식 출력 네트워크 필터를 구현하였으며, 기본적으로 알려지지 않은 서버로의 모든 트래픽을 차단하지만 GitHub, npm과 같은 일반적인 레지스트리는 허용합니다.

주요 기술적 세부 사항:

  • OCI 이미지 Rootfs: Docker 데몬이 필요 없이 표준 OCI 이미지를 다운로드하여 VM의 루트 파일시스템을 생성합니다.
  • 지속성: 에이전트의 대화 기록과 리포지토리는 호스트에 저장되지만, VM 디스크는 일시적이며 매번 부팅 시 이미지에서 재복제됩니다.
  • 연결성: 제어용으로 vsock 브리지 사용하며, 호스트의 ssh-agent를 포워딩하여 에이전트가 VM 내부에 개인 키가 없어도 코드를 푸시할 수 있도록 합니다.

대상 사용자

자율적 AI 코드 에이전트를 사용하면서 권한 확인 프롬프트를 우회하고 완전한 자율성을 발휘하고 싶지만, 호스트 머신의 파일, 키체인, 네트워크 보안을 희생하고 싶지 않은 개발자들.

주요 특징

  • 일시적 사전: 코드나 에이전트 대화 기록을 잃지 않고 VM을 빠르게 삭제하고 재생성할 수 있습니다.
  • 제로 설정 설정: Dockerfile이나 devcontainer 설정 없이 한 명령어로 디렉터리용 사전을 부팅할 수 있습니다.
  • 네트워크 허용 목록: 모든 차단된 연결 시도에 대한 로그 기록과 엄격한 출력 트래픽 제어.
  • OCI 호환성: 프로젝트에 필요한 정확한 툴체인을 제공하기 위해 어떤 OCI 이미지도 루트 파일시스템으로 사용 가능합니다.
  • 티켓 모드: 여러 리포지토리 작업을 관리하기 위해 하나의 사전 내에서 여러 리포지토리용 git worktrees를 생성하고, 연계된 PR을 처리할 수 있습니다.
  • 자원 효율성: 사용되지 않을 때 VM은 자동으로 메모리를 해제하고 디스크에 슬립하여 호스트 부하를 최소화합니다.

관련

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