mensfeld/code-on-incus
Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.
해결하는 문제
Code on Incus (COI)는 AI 코드 에이전트가 작동할 수 있는 안전하고 격리된 환경을 제공합니다. AI 에이전트가 호스트 시스템에 직접 접근할 수 없도록 하여, 민감한 자격 증명, SSH 키, 환경 변수를 보호하면서도 복잡한 코드 작업을 수행하기 위해 필요한 시스템 수준 접근 권한(루트, Docker, 패키지 매니저)을 에이전트에게 제공합니다.
작동 방식
COI는 표준 애플리케이션 컨테이너가 아닌, 완전한 init 시스템을 갖춘 경량 가상 머신처럼 동작하는 Incus 시스템 컨테이너를 사용합니다. 각 AI 에이전트 세션은 고유의 홈 디렉터리와 마운트된 프로젝트 워크스페이스를 갖는 독립된 컨테이너를 할당받습니다.
보안을 유지하기 위해 COI는 다음을 구현합니다:
- 액티브 방어: nftables를 사용한 커널 레벨 모니터링을 통해 리버스 쉘, 데이터 유출, 자격 증명 스캔과 같은 위협을 감지하고 컨테이너를 일시 정지하거나 종료하여 자동 대응합니다.
- 자격 증명 격리: 기본적으로 호스트 자격 증명은 노출되지 않습니다. 명시적인 마운트 또는 안전한 전달(예: SSH 에이전트 전달)을 통해만 제공됩니다.
- 보호된 경로:
.git/config및.vscode설정과 같은 중요한 프로젝트 파일은 읽기 전용으로 마운트되어 공급망 공격을 방지합니다. - 사전 환경 정보: 자동 삽입된 파일(
SANDBOX_CONTEXT.md)을 통해 AI 도구가 제한된 환경에 있다는 점을 인지할 수 있습니다.
대상 사용자
Claude Code, OpenCode, pi와 같은 AI 코드 에이전트를 사용하고, 호스트 시스템의 보안이나 안정성을 해치지 않으면서도 완전한 시스템 접근 권한을 부여하고자 하는 개발자들.
주요 특징
- 완전한 시스템 접근 권한: 컨테이너 내에서 루트 권한과 Docker 지원을 제공합니다.
- 실시간 위협 탐지: 고위험 네트워크 활동을 감지하면 컨테이너를 자동으로 일시 정지하거나 종료합니다.
- 병렬 세션 지원: 동일한 워크스페이스에 대해 여러 개의 격리된 '슬롯'을 지원합니다.
- 지속성: 컨테이너는 지속적 또는 일시적일 수 있으며, 워크스페이스 변경 사항은 항상 저장됩니다.
- 호스트 통합: SSH 에이전트, 특정 TCP 포트, Unix 소켓을 안전하게 전달합니다.
- 스냅샷 기능: 컨테이너 상태의 체크포인트를 생성하고 변경 사항을 롤백할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트