에이전트 안전가옥: 로컬 AI 코딩 에이전트를 위한 macOS 네이티브 샌드박싱

Agent Safehouse는 커널 수준에서 파일 접근 제한을 강제하는 로컬 AI 코딩 에이전트를 위한 macOS 네이티브 샌드박싱 솔루션입니다. 이 도구는 지정된 프로젝트 디렉토리 외부에서 파괴적인 변경을 방지함으로써 LLM의 확률적 특성을 해결합니다.
작동 방식
Safehouse는 에이전트가 기본적으로 권한을 상속받지 않는 거부 우선 접근 모델을 구현합니다. 커널은 파일이 접촉되기 전에 시스템 호출을 차단하여 rm -rf ~와 같은 작업이 성공하는 것을 방지합니다. 에이전트가 제한된 영역에 접근하려고 하면 커널은 "Operation not permitted"를 반환합니다.
접근 제어 모델
- 프로젝트 디렉토리: 읽기/쓰기 접근 (기본적으로 git 루트)
- 공유 라이브러리: 명시적으로 허용된 경우 읽기 전용 접근
- 기본적으로 거부됨: SSH 키 (
~/.ssh/), AWS 자격 증명 (~/.aws/), 다른 저장소, 개인 파일 - 툴체인: 설치된 툴체인에 대한 읽기 접근
시작하기
# 1. safehouse 다운로드 (단일 자체 포함 스크립트)
mkdir -p ~/.local/bin
curl -fsSL https://raw.githubusercontent.com/eugene1g/agent-safehouse/main/dist/safehouse.sh \
-o ~/.local/bin/safehouse
chmod +x ~/.local/bin/safehouse
2. Safehouse 내에서 에이전트 실행
cd ~/projects/my-app
safehouse claude --dangerously-skip-permissions
샌드박스 테스트
# SSH 개인 키 읽기 시도 — 커널에 의해 거부됨
safehouse cat ~/.ssh/id_ed25519
# cat: /Users/you/.ssh/id_ed25519: Operation not permitted
다른 저장소 목록 시도 — 보이지 않음
safehouse ls ~/other-project
ls: /Users/you/other-project: Operation not permitted
하지만 현재 프로젝트는 정상 작동
safehouse ls .
README.md src/ package.json ...
셸 통합
에이전트를 기본적으로 샌드박스에서 실행하려면 셸 설정 (~/.zshrc 또는 ~/.bashrc)에 다음 함수를 추가하세요:
safe () { safehouse --add-dirs-ro=~/mywork "$@"; }
샌드박스됨 — 기본값입니다. 명령어 이름만 입력하세요.
claude () { safe claude --dangerously-skip-permissions "$@"; }
codex () { safe codex --dangerously-bypass-approvals-and-sandbox "$@"; }
amp () { safe amp --dangerously-allow-all "$@"; }
gemini () { NO_BROWSER=true safe gemini --yolo "$@"; }
샌드박스되지 않음 — command로 함수 우회
command claude — 일반 대화형 세션
LLM 지원 프로필 생성
이 프로젝트는 LLM(Claude, Codex, Gemini 등)에게 Safehouse 프로필 템플릿을 검사하고, 홈 디렉토리와 툴체인 설정에 대해 질문하며, 최소 권한 sandbox-exec 프로필을 생성하도록 지시하는 프롬프트를 포함합니다. 이 프롬프트는 LLM이 전역 도트파일에 대해 질문하고, ~/.config/sandbox-exec.profile과 같은 내구성 있는 프로필 경로를 제안하며, 현재 작업 디렉토리에 대한 접근 권한을 부여하는 래퍼를 생성하고, 선호하는 에이전트에 대한 셸 단축키를 추가하도록 안내합니다.
지원되는 에이전트
테스트 완료: Claude Code, Codex, OpenCode, Amp, Gemini CLI, Aider, Goose, Auggie, Pi, Cursor Agent, Cline, Kilo, Code Droid 및 사용자 정의 에이전트.
📖 전체 소스 읽기: HN AI Agents
👀 See Also

클로드 코드로 지질학적 시계 만들기: 단일 HTML + Three.js
제품 디자이너 Owen Thomas가 Claude Code, Three.js 및 커스텀 WebGL 셰이더를 사용하여 지구의 45억 년을 12시간에 매핑한 지질학적 시계 eona.earth를 단일 HTML 파일(빌드 단계 없음)로 제작했습니다.

OpenEvol: 대화 기록을 활용한 LLM의 오프라인 자가 개선 파이프라인
OpenEvol v0.1.1은 수동 라벨링 없이 미세 조정 데이터셋을 생성하기 위해 AI 대화 기록을 자동으로 마이닝하는 오프라인 파이프라인입니다. 초기에는 CPU에서 실행되며 OpenAI 호환 API와 HuggingFace Transformers를 포함한 5가지 교사 백엔드를 지원합니다.

Anamnese: MCP를 통한 Claude용 개인 메모리 시스템
Anamnese는 개인적 맥락(사실, 프로젝트, 목표, 작업)을 저장하고 MCP를 통해 Claude에 연결하여 AI가 모든 대화 시작 시 이 정보에 접근할 수 있도록 하는 무료 도구입니다.

로어: AI 코딩 대화에서 구조화된 맥락을 추출하는 도구
Lore는 Claude Code로 구축된 브라우저 기반 도구로, AI 대화에서 구조화된 컨텍스트를 추출하여 결정사항, 할 일 목록, 장애 요소, 재개 체크리스트를 포착합니다. React + TypeScript PWA이며, Chrome 확장 프로그램을 통해 직접 대화 캡처와 컨텍스트 주입이 가능합니다.