본문으로 건너뛰기

Claude on Incus: 보안과 자율성을 모두 갖춘 격리된 Claude Code 실행 환경

Claude on Incus – All the autonomy, securely

작성자
발행일
2026년 01월 14일
https://mensfeld.pl/2026/01/claude-on-incus-all-the-autonomy-securely/

핵심 요약

  • 1 Claude Code를 Incus 컨테이너 내부에 격리하여 호스트 시스템의 SSH 키, API 토큰 등 민감한 정보 유출을 원천 차단하고 보안을 강화합니다.
  • 2 프로젝트별 독립 환경을 제공하여 호스트 시스템 오염 없이 Ruby, Node.js 등 다양한 개발 도구와 런타임을 자유롭게 설치하고 관리할 수 있습니다.
  • 3 Incus의 시스템 컨테이너 특성을 활용해 Docker-in-Docker를 완벽히 지원하며 세션 복구 및 다중 슬롯 기능으로 개발 생산성을 극대화합니다.

도입

최근 AI 코딩 어시스턴트인 Claude Code의 활용도가 높아짐에 따라, 실행 환경의 보안과 호스트 시스템 오염에 대한 우려가 커지고 있습니다. Claude Code는 기본적으로 사용자의 셸 환경을 상속받아 민감한 자격 증명에 접근할 수 있으며, 작업 수행을 위해 다양한 패키지를 호스트에 직접 설치하는 경향이 있습니다. 이러한 문제를 해결하기 위해 등장한 'claude-on-incus(coi)'는 Incus 컨테이너 기술을 활용하여 Claude Code에게는 완전한 자율성을 부여하면서도 호스트 시스템은 안전하게 보호하는 격리된 실행 환경을 제공합니다.

claude-on-incus (coi)의 핵심 가치와 아키텍처

1. 강력한 보안 및 데이터 격리

Claude Code는 기본적으로 사용자의 로컬 셸 환경을 그대로 상속받습니다. 이는 SSH 키, Git 자격 증명, .env 파일에 저장된 API 토큰 등 민감한 정보가 AI 모델에게 노출될 수 있음을 의미합니다. 사용자는 매번 권한 승인 팝업을 확인하거나, 위험을 감수하고 권한 확인을 건너뛰어야 합니다. - 자격 증명 보호: coi를 사용하면 Claude는 완전히 격리된 컨테이너 내에서 실행됩니다. 호스트의 민감한 파일은 컨테이너에 마운트되지 않으므로 유출이 불가능합니다. - 네트워크 제어: 현재 개발 중인 네트워크 필터링 기능을 통해 모델이 외부로 데이터를 유출하는 경로를 더욱 엄격하게 제한할 수 있습니다. - 제한된 접근: 오직 명시적으로 마운트된 워크스페이스 파일에만 접근할 수 있어 피해 범위를 최소화합니다.

2. 호스트 시스템의 무결성 유지

AI 코딩 어시스턴트는 작업을 완수하기 위해 다양한 의존성 패키지를 설치하려는 경향이 있습니다. Node.js, Python, Ruby의 특정 버전이나 각종 빌드 도구들이 호스트 시스템에 무분별하게 설치되면 시스템이 지저분해지고 버전 충돌이 발생할 수 있습니다. - 독립된 런타임: 각 프로젝트마다 필요한 Ruby 버전이나 Rust 툴체인을 컨테이너 내부에만 설치하여 호스트 시스템을 깨끗하게 유지합니다. - 빠른 시작: 가상 머신(VM) 수준의 격리를 제공하면서도 Docker와 유사한 수준의 빠른 시작 속도(약 2초)를 자랑합니다. - 휘발성 및 지속성 선택: 기본적으로는 세션 종료 후 폐기되는 휘발성 구조이지만, 필요한 경우 persistent 플래그를 통해 설치된 도구들을 유지할 수 있습니다.

3. 왜 Docker가 아닌 Incus인가?

coi가 Docker 대신 Incus를 선택한 이유는 시스템 컨테이너로서의 이점 때문입니다. - Docker-in-Docker 지원: Claude는 종종 작업 중에 Docker를 실행해야 할 때가 있습니다. 일반적인 Docker 환경에서 Docker를 또 실행하는 것은 보안상 취약하거나 설정이 매우 복잡하지만, Incus는 시스템 컨테이너로서 별도의 트릭 없이도 내부에서 Docker 데몬을 안정적으로 구동할 수 있습니다. - 자동 UID 매핑: 호스트와 컨테이너 간의 파일 권한 문제를 해결하기 위해 복잡한 chown 명령어를 실행할 필요가 없습니다. Incus가 이를 자동으로 처리하여 원활한 파일 수정 권한을 보장합니다.

4. 개발 생산성을 높이는 부가 기능

  • 다중 슬롯 세션: slot 옵션을 통해 프론트엔드 작업과 API 디버깅 작업을 서로 다른 격리된 슬롯에서 동시에 진행할 수 있습니다.
  • 세션 복구 및 유지: tmux를 기반으로 동작하므로 작업 도중 연결을 끊었다가 나중에 다시 연결(coi attach)하여 진행 상황을 이어갈 수 있습니다.
  • 워크스페이스 기반 컨텍스트: 각 프로젝트 폴더마다 대화 기록이 별도로 관리되어 프로젝트 간 컨텍스트가 섞이는 일을 방지합니다.

5. 위험한 플래그의 안전한 재해석

Claude Code의 dangerously-skip-permissions 플래그는 호스트 시스템에서 직접 사용할 경우 매우 위험합니다. 그러나 coi 컨테이너 내부에서는 이 플래그가 AI의 자율성을 극대화하는 강력한 도구가 됩니다. 격리된 환경 덕분에 AI가 자유롭게 명령을 실행하더라도 호스트의 SSH 키나 Git 자격 증명이 노출될 위험이 없기 때문입니다.

결론

claude-on-incus는 AI 코딩 어시스턴트 사용 시 발생하는 보안 위협과 시스템 관리의 복잡성을 우아하게 해결한 도구입니다. 특히 Incus를 선택함으로써 Docker 기반 격리에서 발생하던 권한 문제와 복잡한 설정을 간소화하고, 사용자에게는 익숙한 셸 경험과 더불어 강력한 보안 경계를 제공합니다. 개발자는 이제 '--dangerously-skip-permissions'와 같은 위험한 플래그도 컨테이너라는 안전한 울타리 안에서 마음껏 사용하며 AI의 생산성을 극대화할 수 있습니다.

댓글0

댓글 작성

댓글 삭제 시 비밀번호가 필요합니다.

이미 계정이 있으신가요? 로그인 후 댓글을 작성하세요.

0/1000
정중하고 건설적인 댓글을 작성해 주세요.