에이전트에게 프로젝트만 내주고 컴퓨터 전체는 내주지 마세요. ai‑jail은 그 경계를 실제로 강제합니다.
멀쩡한 에이전트가 사고를 내는 방식
에이전트는 하루 종일 내가 쓰지 않은 텍스트를 읽습니다. 웹 페이지, 이슈, README, 패키지가 그렇습니다. 지시문이 숨어 있는 페이지 하나면 충분하고, 에이전트는 악의가 없어도 그 지시를 따릅니다.
↔ 옆으로 밀어 전체 다이어그램을 확인하세요
에이전트는 내 계정으로 실행됩니다
코딩 에이전트는 내 사용자 계정으로 도는 프로그램입니다. 에이전트가 띄우는 스크립트, 패키지, MCP 서버도 마찬가지입니다. MCP 서버는 에이전트에 도구를 더해 주는 보조 프로그램입니다. 이 모두가 내가 열 수 있는 것은 무엇이든 열 수 있습니다.
ai-jail을 거쳐 시작하세요
명령 앞에
ai-jail을 붙입니다. 에이전트는 자기만의 네임스페이스에서 시작되고, 프로젝트는 원래와 같은 경로에 마운트됩니다.홈 디렉터리는 마운트되지 않습니다
에이전트는 새로 만든 빈 홈 디렉터리를 받습니다. SSH 키(서버에 로그인할 때 쓰는 파일), 클라우드 자격 증명, 브라우저 프로필, 다른 프로젝트는 그 안에 아예 없습니다.
시크릿, 네트워크, 장치는 닫혀 있습니다
ai-jail은 환경 변수를 허용 목록에 있는 것만 남기므로, 셸 시크릿은 셸에 그대로 남습니다. 네트워크는 에이전트 자신의 API 호스트와, Linux에서는 툴체인이 패키지를 받아 오는 레지스트리를 빼면 닫혀 있습니다. Docker 소켓, 화면, 클립보드는 꺼져 있습니다.
작업에 필요한 것만 여세요
Claude Code, Codex, Gemini, Grok, Devin은 로그인된 상태로 시작하고 자기 API 호스트에 닿습니다. 더 열려면 플래그, 즉
ai-jail뒤에 붙이는 옵션을 씁니다.--allow-host는 호스트를 더하고,--network는 전부 엽니다.
하네스 전체를 둘러싸는 벽
샌드박스를 내장한 에이전트는 모델이 실행하는 명령에만 샌드박스를 씌웁니다. 에이전트 프로세스와 파일 도구, MCP 서버, 훅(정해진 시점에 에이전트가 실행하는 스크립트)은 바깥에 남아 내 계정으로 돕니다. ai-jail은 이 모두를 안에서 시작합니다. 프롬프트는 사람에게 묻고, 사람은 서두르거나 속을 수 있습니다. 샌드박스는 운영체제의 중심인 커널에 묻고, 커널은 매번 같은 답을 줍니다.
↔ 옆으로 밀어 전체 다이어그램을 확인하세요
설정 없이 기본으로 적용되는 것
내 컴퓨터에 닿는 기능은 모두 직접 켜기 전까지 꺼져 있습니다. 예외는 에이전트 자신의 로그인, 자신의 API 호스트, 내 툴체인(Linux), 그 패키지 레지스트리이며, 각각 --no- 스위치로 끌 수 있습니다. 프로젝트 바깥에 쓴 내용은 메모리에만 남고 세션이 끝나면 사라집니다.
감옥 안
- 내 프로젝트. 읽기·쓰기, 실제 경로 그대로
- 내 툴체인. 읽기 전용, 감옥 전용 캐시 포함(Linux)
~/.claude같은 에이전트 자신의 로그인. 로그인된 상태로 시작- 알려진 에이전트 자신의 API 호스트, Linux에서는 패키지 레지스트리도
- 새 홈 디렉터리와 전용
/tmp
닿을 수 없음
~/.ssh,~/.aws,~/.gnupg, 브라우저 프로필- 셸 시크릿. 예외는 에이전트 자신의 API 키뿐
- 다른 프로세스, 호스트 IPC,
ptrace와bpf
요청하기 전까지 꺼짐
- 호스트를 더하는
--allow-host, 로컬 서비스 하나를 여는--forward-port, 전부 여는--network --ssh,--gpu,--display,--docker등
ai-jail은 데몬도 root도 없는 작은 프로그램 하나입니다. Linux에서는 bubblewrap으로 네임스페이스와 마운트를 만들고, 커널이 지원하면 Landlock과 seccomp, 리소스 제한을 더합니다. macOS에서는 플랫폼이 지원하는 범위를 더 얇은 sandbox-exec 프로파일로 옮깁니다. 에이전트는 내 컴퓨터의 컴파일러와 런타임을 쓰고, 기본적으로 저장소 안의 .ai-jail 파일은 감옥을 더 조일 수만 있을 뿐 열 수는 없습니다.
가장 먼저 나오는 질문
에이전트가 느려지나요?
어떤 에이전트를 지원하나요?
ai-jail bash로 감옥 안에서 셸을 열어 둘러볼 수 있습니다.Windows에서도 되나요?
에이전트에 인터넷이 필요한데, 그래도 감옥이 쓸모 있나요?
--allow-host는 지정한 호스트를 더합니다. 대신 --network를 켜도 에이전트가 읽을 수 있는 것은 여전히 프로젝트뿐이라서, 키나 홈 디렉터리의 나머지는 보낼 것 자체가 없습니다. 다만 읽을 수 있는 것은 보낼 수 있으므로 프로젝트 안의 시크릿을 마스킹해야 합니다. 마스킹 방법 보기.무료인가요?
에이전트를 철창 안에 넣으세요
ai-jail은 바이너리 하나입니다. 데몬도 root 권한도 필요 없습니다. 평소 실행하던 명령 앞에 단어 하나만 붙이면 됩니다.
brew tap akitaonrails/tap && brew install ai-jailai-jail claude