엔비디아가 거절할 때를 아는 샌드박스를 만들었습니다 (Openshell)
원제 · NVIDIA Just Built a Sandbox That Knows When to Say No (Openshell)
핵심 요약
OpenShell은 에이전트가 단순히 특정 네트워크나 파일에 도달하는 것을 넘어 해당 자원을 가지고 무엇을 하도록 허용되는지 세밀하게 제어하는 요청별 정책 검사 및 자격 증명 차단 시스템을 제공합니다.
하이라이트
NVIDIA가 출시한 오픈소스 샌드박스 도구인 OpenShell은 Rust로 작성되었으며 Mac을 포함한 다양한 환경에서 GPU 없이 실행됩니다.
OpenShell의 슈퍼바이저는 에이전트가 실제 자격 증명을 직접 보지 못하도록 차단하고 승인된 엔드포인트에 닿는 요청에 대해서만 자격 증명을 주입합니다.
NVIDIA의 자체 텔레메트리 보고서에 따르면 여름 동안 2주 동안 55만 개 이상의 샌드박스가 생성되었고 420만 건의 에이전트 작업이 거부되었습니다.
OpenShell은 Z3 Solver라는 수학 엔진을 사용하여 정책 변경 사항이 실제로 어떤 새로운 접근 권한을 부여하는지 사전에 분석합니다.
Mac에서 실행할 때 샌드박스는 Docker Desktop의 가상 머신 안의 Linux 환경에서 작동하며 landlock이라는 커널 기능과 호스트 네트워킹 설정이 필요합니다.
타임라인
에이전트 보안의 한계와 OpenShell의 등장
에이전트가 유용하게 작동하려면 다양한 시스템 권한이 필요하지만 기존 컨테이너는 일단 열쇠를 건네주면 전역적인 접근을 막기 어렵습니다. OpenShell은 사용자가 대화하는 게이트웨이와 에이전트 내부의 슈퍼바이저를 통해 모든 바깥 세상으로 나가는 통로를 통제합니다.
- 일반 Docker 컨테이너는 에이전트가 레포지토리를 읽는지 이슈를 열고 있는지 트래픽 주소만으로는 구분하지 못합니다.
- 많은 사용자가 Claude Code나 Codex 같은 에이전트에 파일, 패키지, API, 자격 증명을 무작정 넘기고 있습니다.
- OpenShell은 Rust로 작성된 아파치 2.0 오픈소스 도구로 파일 접근, 시스템 콜, 네트워크 연결에 대한 정책을 검사합니다.
커널 수준 파일 및 네트워크 접근 제한
샌드박스가 시작될 때 파일 시스템 및 프로세스 규칙이 고정되며 에이전트는 권한을 임의로 상승시킬 수 없습니다. 네트워크 연결 역시 단순한 도달 여부뿐만 아니라 특정 바이너리가 특정 엔드포인트에서 수행하는 작업의 종류까지 세밀하게 규제합니다.
- 샌드박스 내부에서는 지정된 경로 외부에 쓰기를 시도하면 거부 메시지가 뜨며 에이전트 자체가 이를 약화시킬 수 없습니다.
- 기본 거부(default deny) 방식을 채택하여 GitHub API에 대한 임의의 curl 접근도 기본적으로 차단됩니다.
- 정책 업데이트를 통해 읽기 전용 접근은 허용하면서도 이슈 생성을 위한 POST 요청은 차단할 수 있습니다.
자격 증명 보호와 수학적 정책 검증
프롬프트 인젝션 공격으로 에이전트가 API 키를 유출하려 지시받더라도 애초에 키를 보유하고 있지 않아 유출이 원천 차단됩니다. 또한 와일드카드가 포함된 정책 파일의 의도치 않은 결과를 막기 위해 10초 이내에 신뢰하기 전 규칙을 수학적으로 검사합니다.
- 에이전트는 실제 자격 증명을 절대 볼 수 없으며 슈퍼바이저가 나가는 길에 자격 증명을 덧붙여줍니다.
- Z3 Solver 수학 엔진을 통해 정책 변경 사항이 부여하는 새로운 접근 권한을 적용 전에 미리 분석합니다.
- NVIDIA의 텔레메트리에 따르면 2주 동안 55만 개 이상의 샌드박스가 생성되었고 420만 건의 작업이 거부되었습니다.
기존 도구와의 비교 및 도입 시 고려사항
노트북에서 간단한 샌드박스가 필요하다면 기존 컨테이너나 가벼운 런타임이 더 손이 덜 갈 수 있습니다. 하지만 실제 자격 증명을 다루거나 에이전트를 강력하게 통제해야 하는 환경에서는 OpenShell의 요청별 규칙과 키 비공개 설계가 큰 의미를 갖습니다.
- Anthropic Sandbox Runtime은 설정이 간편한 경량 옵션이며 E2B와 Daytona는 일회성 샌드박스입니다.
- OpenShell은 자체 호스팅 방식이며 정책 우선이고 몇 시간 동안 실행되는 에이전트를 위해 설계되었습니다.
- Mac 환경에서는 landlock 커널 기능과 호스트 네트워킹 설정이 필요하며 현재 버전은 0.1.5로 초기 미리보기 단계입니다.
설명
Is Docker enough to keep AI coding agents secure? NVIDIA's OpenShell is a new open-source AI agent sandbox that goes beyond traditional Docker containers, giving control over what agents like Claude Code, Codex, and OpenCode can actually do. In this video, I test NVIDIA OpenShell on a Mac, walk through its installation and security policies, and demonstrate how it blocks unauthorized file access, network connections, and GitHub API requests while allowing approved actions. 🔗 Relevant Links Openshell Repo - https://github.com/NVIDIA/OpenShell Openshell Docs - https://docs.nvidia.com/openshell/latest/ ❤️ More about us Radically better observability stack: https://betterstack.com/ Written tutorials: https://betterstack.com/community/ Example projects: https://github.com/BetterStackHQ 📱 Socials Twitter: https://twitter.com/betterstackhq Instagram: https://www.instagram.com/betterstackhq/ TikTok: https://www.tiktok.com/@betterstack LinkedIn: https://www.linkedin.com/company/betterstack 📌 Chapters: 00:00 Why Docker Isn't Enough for AI Coding Agents 00:27 The Security Problem with Claude Code and Codex 01:00 What Is NVIDIA OpenShell? 01:21 How OpenShell's AI Sandbox Works 01:43 Live Demo: Blocking Unauthorized File Access 02:25 Default-Deny Network Security 02:50 Allowing Read-Only GitHub API Access 03:25 Blocking Unauthorized GitHub API Requests 04:05 Credential Injection and API Key Protection 04:40 Z3 Policy Verification and Runtime Security 05:15 NVIDIA OpenShell Usage and Security Statistics 05:40 OpenShell vs Docker, Anthropic, E2B, and Daytona 06:09 OpenShell Limitations, Telemetry, and Mac Setup 07:03 Should You Use NVIDIA OpenShell?
