Hacker News 의견들
  • 최근에 Litterbox라는 비슷한 프로젝트를 만들었음 (데모 사이트)
    Linux 전용인데, Podman에 의존하기 때문임. 대신 내 용도에 맞는 장점들이 있음

    • Wayland 소켓을 노출해서 에디터 같은 개발 환경 전체를 컨테이너 안에서 실행할 수 있음. 이로써 에디터 확장 취약점으로부터 보호됨
    • 서명 시마다 사용자에게 확인을 요청하는 특수 SSH 에이전트를 제공함. 덕분에 악성 코드가 GitHub 접근 권한을 몰래 사용하는 일이 없음
    • 특정 상황에서만 필요한 권한(TUN/TAP 디바이스 생성 등)을 쉽게 활성화할 수 있는 기능도 있음
    • 현재는 없지만, SELinux 통합을 준비 중임
  • 나도 비슷한 걸 실험 중이었음.
    README에 작동 원리와 신뢰 경계(Docker 컨테이너 기반)를 명확히 설명하면 좋겠음. 커널 취약점이 악용될 수 있으니 컨테이너 탈출 위험은 여전히 존재함
    Rootless Podmanslirp4netns를 써서 네트워크 접근을 최소화하고 있음.
    다음 단계로 Podman machine을 써서 커널을 완전히 분리하려 하지만, 볼륨 마운트가 잘 안 됨

  • agents.mdclaude.md아시모프의 3원칙을 넣어야 한다고 제안함

    1. 프로그램을 망가뜨리거나 방치하지 말 것
    2. 1원칙에 반하지 않는 한 명령을 따를 것
    3. 1, 2원칙에 반하지 않는 한 보안을 지킬 것
    • 원작에서는 이 법칙들이 바로 깨지며, 인간 사회의 복잡성을 보여주려는 의도가 있었음
    • “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가 스스로 탈출을 시도하도록 유도함. 그 프롬프트는 리포 안에 존재해, 에이전트가 진짜인지 검증함

    • 탈출 테스트에는 Gemini를 추천함. Claude는 표면적 시도에 그쳤지만 Gemini는 훨씬 창의적이었음. 이걸 막아야 할지조차 고민 중임
  • 커밋에 “claude” 표시를 다는 게 왜 필요한지 궁금했음. OS나 vim 버전처럼 표기하지 않는데 말임. LLM은 결국 영어를 코드로 컴파일하는 도구일 뿐임

    • OS나 컴파일러는 사용자가 시킨 대로 정확히 수행하지만, LLM은 겉보기엔 맞는 코드처럼 보여도 미묘하게 잘못된 결과를 낼 수 있음. 심지어 악의적일 수도 있음. 그래서 LLM이 작성한 커밋임을 명시해 검토 강화가 필요함
    • 나는 Claude Code에게 직접 커밋을 맡김. 에이전트가 명령을 실행하고 코드를 수정하면, 내가 리뷰와 테스트를 진행함
    • 각 반복마다 자동 커밋하도록 hook을 써서, “Claude가 방금 한 일”을 쉽게 검토함
  • 나도 비슷한 시도를 했음. 좀 더 편의 기능을 추가한 Toadbox를 만들었음

  • AI용 샌드박스 얘기가 많지만, 사실 Claude Code, Codex, Gemini CLI에는 이미 내장 샌드박스가 있음

    • macOS에서는 seatbelt, Linux에서는 bubblewrap(Claude), seccomp+landlock(Codex), Windows에서는 AppContainer를 실험 중임
    • 흥미롭지만, 이 샌드박스가 특정 파일 접근만 제한하는지, 그리고 시스템 명령 실행 시에도 적용되는지는 불분명함. 단순히 에이전트 프로세스만 격리하는 거라면 실효성이 낮을 수도 있음
  • 나는 Apple Container Framework를 써서 비슷한 걸 구현 중임. 혹시 살펴봤는지 궁금함

    • Apple Container는 Docker나 Colima 대체에 가깝고, Kata Containers처럼 각 컨테이너가 별도 VM으로 동작함. macOS에서 컨테이너 개선을 시도하는 점이 반가움
      다만 Docker API 호환성조합성이 부족함. 관련 논의를 여기에 정리했음
      원래 Shai를 Apple Container 위에 올리려 했지만 패키징 문제로 포기함
    • 아직 안 써봤지만 흥미로움. Yolobox에는 주요 코딩 에이전트 CLI가 사전 설치된 이미지가 있음. “궁극의 vibe 코딩 이미지”를 만들고 싶음. 혹시 이미지에 특별한 설정을 하고 있는지 궁금함
  • 나도 비슷한 걸 만들고 있음 → sandbox-codex
    아직 진행 중이고, tmux 로그 가독성이 떨어짐. Docker가 완전한 샌드박스가 아니라서 VirtualBox에서 실행 중임

    • 나도 Node.js 전용으로 simple-npm-sandbox를 만들어봤음. 단순하지만 좋은 학습 경험이었음