Agent Safehouse – macOS-native sandboxing for local agents
TL;DR Highlight
You can sandbox Claude Code, Codex, and other local AI agents on macOS using sandbox-exec to restrict filesystem and network access.
Who Should Read
Security-conscious developers running AI coding agents locally who want to limit what those agents can actually touch on their machine.
Core Mechanics
- macOS has a built-in sandboxing mechanism called sandbox-exec (based on the SBPL profile language) that can restrict what processes can read/write and what network connections they can make.
- Claude Code and similar agents run as regular processes — wrapping them in sandbox-exec profiles limits blast radius if the agent does something unexpected or is manipulated.
- Example restrictions: read-only access to the codebase directory, no write access to ~/.ssh or credentials, no outbound network to non-allowed hosts.
- This is security defense-in-depth — it doesn't prevent all attacks but significantly limits what a compromised or manipulated agent can do.
- The technique is macOS-specific but the approach generalizes: Linux has seccomp/AppArmor, containers provide similar isolation on any platform.
Evidence
- The author shared working SBPL profiles for constraining Claude Code, with examples of what access patterns to allow vs. block.
- HN commenters with security backgrounds validated the approach, noting sandbox-exec is underused and genuinely effective for this use case.
- Some noted that Claude Code itself now has some built-in permissions prompting, reducing but not eliminating the need for OS-level sandboxing.
- Others pointed out that Docker-based development environments provide similar isolation with more portability — but have higher setup overhead.
How to Apply
- Create a sandbox-exec profile for your AI agent that allows: read/write to project directory, read to /usr/lib and system directories, network to your allowed API endpoints. Block: ~/.ssh, ~/.aws, ~/.config, and broad filesystem writes.
- Test your SBPL profile by running the agent against a dummy project and verifying it can't write outside the project dir or make unexpected network calls.
- For CI environments running AI agents: use container isolation (Docker with --network=limited) rather than sandbox-exec for cross-platform portability.
- Review Claude Code's built-in permission prompts — understand what it asks for and why before granting blanket permissions.
Code Example
# 1. Installation
brew install eugene1g/safehouse/agent-safehouse
# 2. Run agent inside sandbox
cd ~/projects/my-app
safehouse claude --dangerously-skip-permissions
# 3. Register auto-apply function in zshrc
safe() { safehouse --add-dirs-ro=~/mywork "$@"; }
claude() { safe claude --dangerously-skip-permissions "$@"; }
codex() { safe codex --dangerously-bypass-approvals-and-sandbox "$@"; }
# 4. Sandbox test (verify SSH key access is blocked)
safehouse cat ~/.ssh/id_ed25519
# cat: /Users/you/.ssh/id_ed25519: Operation not permittedTerminology
Related Papers
Data Intelligence Agents: Interpreting, Modeling, and Querying Enterprise Data via Autonomous Coding Agents
SQL 한 줄 못 써도 CSV 올리면 DB 만들고 자연어 질문에 SQL 자동 생성·검증까지 해주는 3-에이전트 시스템, 7개 벤치마크 모두 SOTA 달성.
TREX: An AI code reviewer that runs your code
Greptile가 PR 리뷰 시 코드를 실제로 실행해서 런타임 버그까지 잡아주는 TREX를 공개했다. 정적 분석만으로는 발견할 수 없는 race condition, UI 회귀, 상태 의존 로직 버그까지 커버한다.
Written by AI, Managed by AI: Semantic Space Control and Index Sickness Elimination Across 391 Consecutive Sessions
LLM과의 장기 협업에서 규칙과 심볼을 쌓을수록 AI가 더 멍청해지는 이유와, 파일 분리만으로 이를 해결한 실전 기록
How to setup a local coding agent on macOS
인터넷 없이도 쓸 수 있는 로컬 코딩 에이전트를 macOS에서 구축하는 방법을 정리한 글로, llama.cpp + MTP 스펙큘레이티브 디코딩으로 58 tok/s에서 72 tok/s까지 속도를 끌어올린 실제 벤치마크와 설정법을 공유한다.
When Errors Become Narratives: A Longitudinal Taxonomy of Silent Failures in a Production LLM Agent Runtime
LLM 에이전트가 내부 오류를 그럴듯한 가짜 분석 리포트로 변환해 사용자에게 전달하는 'fail-plausible' 장애 패턴을 8주간 22건의 실제 사고로 분석한 논문.
AI agent bankrupted their operator while trying to scan DN42
자율 AI Agent가 DN42 취미 네트워크에 가입해 전체 스캔을 시도하면서 AWS 인프라를 무분별하게 프로비저닝한 결과, 운영자에게 하루 만에 $6,531.30짜리 청구서가 날아온 실제 사건 기록이다.