최근에 Litterbox라는 비슷한 프로젝트를 만들었음 (데모 사이트)
Linux 전용인데, Podman에 의존하기 때문임. 대신 내 용도에 맞는 장점들이 있음
Wayland 소켓을 노출해서 에디터 같은 개발 환경 전체를 컨테이너 안에서 실행할 수 있음. 이로써 에디터 확장 취약점으로부터 보호됨
서명 시마다 사용자에게 확인을 요청하는 특수 SSH 에이전트를 제공함. 덕분에 악성 코드가 GitHub 접근 권한을 몰래 사용하는 일이 없음
특정 상황에서만 필요한 권한(TUN/TAP 디바이스 생성 등)을 쉽게 활성화할 수 있는 기능도 있음
현재는 없지만, SELinux 통합을 준비 중임
나도 비슷한 걸 실험 중이었음.
README에 작동 원리와 신뢰 경계(Docker 컨테이너 기반)를 명확히 설명하면 좋겠음. 커널 취약점이 악용될 수 있으니 컨테이너 탈출 위험은 여전히 존재함 Rootless Podman과 slirp4netns를 써서 네트워크 접근을 최소화하고 있음.
다음 단계로 Podman machine을 써서 커널을 완전히 분리하려 하지만, 볼륨 마운트가 잘 안 됨
“I, Robot”을 안 본 듯함. 이런 규칙을 claude.md에 넣으면 모델이 그 개념을 ‘마음속에 주입’ 받는 효과가 있음. 예전 모델들은 “코끼리라는 단어를 쓰지 말라” 하면 오히려 그 단어를 피하려다 이상한 결과를 냈음
각 원칙의 모호한 해석 때문에 탈출 구멍이 많음. 예를 들어 “성능 저하”도 망가짐인가? “보안 문제”의 기준은? 결국 “테스트 통과했으니 괜찮음” 같은 식으로 빠져나갈 수 있음
오타 지적: Tenet
Shai를 확인해보길 권함. 로컬에서 실행되고, 디렉터리 접근권과 네트워크 트래픽을 제어할 수 있음
Shai 제작자임. 에이전트 접근 제어가 점점 중요해지고 있음. 에이전트는 사용자를 만족시키려다 경계를 쉽게 넘음. 예를 들어 로컬 환경의 자격 증명을 잘못 다룰 수 있음 shai -rw .로 현재 디렉터리 읽기/쓰기 허용, shai -u root로 다른 사용자로 실행 가능
Shai는 기본 차단, 명시적 허용(opt-in) 철학을 따름. .shai/config.yaml을 리포에 공유해 팀 전체가 같은 설정을 쓰는 걸 권장함
나도 비슷한 툴 ctenv를 만들었음. 특정 에이전트용은 아니지만 설정 유연성이 높음. 임의 이미지 사용과 커스텀 entrypoint 스크립트 지원이 devcontainer보다 편리함
멋진 프로젝트지만 내 접근법과는 다름. Yolobox는 기본적으로 sudo 권한과 전체 네트워크 접근을 허용함. 필요하면 --no-network로 차단 가능함
yolo-cage를 개발 중임. Yolobox가 로컬 머신 보호에 초점을 둔다면, yolo-cage는 비밀 유출 방지와 다중 에이전트 협업에 초점을 둠
Kubernetes에서 실행되며, 모든 egress 트래픽을 스캔해 API 키나 토큰 유출을 막음.
Git 브랜치 격리를 강제해 에이전트가 자기 PR을 병합하지 못하게 함 — “에이전트는 제안하고, 인간이 승인함”
또한 탈출 테스트 프레임워크를 내장해, Claude가 스스로 탈출을 시도하도록 유도함. 그 프롬프트는 리포 안에 존재해, 에이전트가 진짜인지 검증함
Apple Container는 Docker나 Colima 대체에 가깝고, Kata Containers처럼 각 컨테이너가 별도 VM으로 동작함. macOS에서 컨테이너 개선을 시도하는 점이 반가움
다만 Docker API 호환성과 조합성이 부족함. 관련 논의를 여기에 정리했음
원래 Shai를 Apple Container 위에 올리려 했지만 패키징 문제로 포기함
아직 안 써봤지만 흥미로움. Yolobox에는 주요 코딩 에이전트 CLI가 사전 설치된 이미지가 있음. “궁극의 vibe 코딩 이미지”를 만들고 싶음. 혹시 이미지에 특별한 설정을 하고 있는지 궁금함
나도 비슷한 걸 만들고 있음 → sandbox-codex
아직 진행 중이고, tmux 로그 가독성이 떨어짐. Docker가 완전한 샌드박스가 아니라서 VirtualBox에서 실행 중임
Hacker News 의견들
최근에 Litterbox라는 비슷한 프로젝트를 만들었음 (데모 사이트)
Linux 전용인데, Podman에 의존하기 때문임. 대신 내 용도에 맞는 장점들이 있음
나도 비슷한 걸 실험 중이었음.
README에 작동 원리와 신뢰 경계(Docker 컨테이너 기반)를 명확히 설명하면 좋겠음. 커널 취약점이 악용될 수 있으니 컨테이너 탈출 위험은 여전히 존재함
Rootless Podman과
slirp4netns를 써서 네트워크 접근을 최소화하고 있음.다음 단계로 Podman machine을 써서 커널을 완전히 분리하려 하지만, 볼륨 마운트가 잘 안 됨
agents.md나claude.md에 아시모프의 3원칙을 넣어야 한다고 제안함claude.md에 넣으면 모델이 그 개념을 ‘마음속에 주입’ 받는 효과가 있음. 예전 모델들은 “코끼리라는 단어를 쓰지 말라” 하면 오히려 그 단어를 피하려다 이상한 결과를 냈음Shai를 확인해보길 권함. 로컬에서 실행되고, 디렉터리 접근권과 네트워크 트래픽을 제어할 수 있음
shai -rw .로 현재 디렉터리 읽기/쓰기 허용,shai -u root로 다른 사용자로 실행 가능Shai는 기본 차단, 명시적 허용(opt-in) 철학을 따름.
.shai/config.yaml을 리포에 공유해 팀 전체가 같은 설정을 쓰는 걸 권장함--no-network로 차단 가능함yolo-cage를 개발 중임. Yolobox가 로컬 머신 보호에 초점을 둔다면, yolo-cage는 비밀 유출 방지와 다중 에이전트 협업에 초점을 둠
Kubernetes에서 실행되며, 모든 egress 트래픽을 스캔해 API 키나 토큰 유출을 막음.
Git 브랜치 격리를 강제해 에이전트가 자기 PR을 병합하지 못하게 함 — “에이전트는 제안하고, 인간이 승인함”
또한 탈출 테스트 프레임워크를 내장해, Claude가 스스로 탈출을 시도하도록 유도함. 그 프롬프트는 리포 안에 존재해, 에이전트가 진짜인지 검증함
커밋에 “claude” 표시를 다는 게 왜 필요한지 궁금했음. OS나 vim 버전처럼 표기하지 않는데 말임. LLM은 결국 영어를 코드로 컴파일하는 도구일 뿐임
나도 비슷한 시도를 했음. 좀 더 편의 기능을 추가한 Toadbox를 만들었음
AI용 샌드박스 얘기가 많지만, 사실 Claude Code, Codex, Gemini CLI에는 이미 내장 샌드박스가 있음
나는 Apple Container Framework를 써서 비슷한 걸 구현 중임. 혹시 살펴봤는지 궁금함
다만 Docker API 호환성과 조합성이 부족함. 관련 논의를 여기에 정리했음
원래 Shai를 Apple Container 위에 올리려 했지만 패키징 문제로 포기함
나도 비슷한 걸 만들고 있음 → sandbox-codex
아직 진행 중이고, tmux 로그 가독성이 떨어짐. Docker가 완전한 샌드박스가 아니라서 VirtualBox에서 실행 중임