커밋 한 모금
개발 도구AI 에이전트

NVIDIA 오픈쉘, 설치 없이 코드부터 읽어본 결과

2026년 10월 24일 · 읽는 데 5분
한 줄 요약OpenShell은 자율 AI 에이전트를 격리해서 돌리는 런타임이다. 정책으로 에이전트의 파일·네트워크·시스템 접근을 제어한다. 다만 macOS의 격리는 아직 실험 단계이고, Docker가 없어 직접 돌려보지는 못했다.
▶
60초 영상으로 보기유튜브 커밋 한 모금 쇼츠

무엇인가

OpenShell을 쓰면 자율 에이전트가 파일을 읽고, 패키지를 설치하고, API를 호출하게 두면서도 접근 범위는 정책(policy) 파일로 제한할 수 있다. 에이전트마다 접근할 수 있는 파일과 연결할 수 있는 네트워크를 YAML로 적어 두면, 시스템이 실시간으로 이를 지킨다.

핵심 개념은 세 가지다. 샌드박스는 에이전트마다 독립된 공간을 주어 서로 격리한다. 게이트웨이는 제어를 맡아 인증, 정책 적용, 자격증명 주입을 처리한다. 정책은 파일·네트워크·프로세스 규칙을 YAML로 정의한다. 정책을 바꾸기 전에는 공식 검증(formal verification)으로 위험한 새 접근을 자동으로 찾아내, 사람이 검토하도록 한다.

프로젝트는 NVIDIA가 운영하고, 2026년 2월 24일에 만들어졌다. 242일(약 8개월)이 지난 시점에 GitHub 스타는 18625개, 포크는 1872개다. 라이선스는 Apache 2.0이고, 주 언어는 Rust다.

직접 해 본 것

저장소를 내려받아 설치하지 않고, 인터넷 연결 없이 소스 코드만 읽으며 구조를 파악했다. 로컬 게이트웨이 실행, 전체 빌드(cargo build), Python SDK API 호출은 해 보지 못했다.

먼저 ls로 전체 파일 구조를 봤다. 크기는 37.9MB이고, 주요 구성 요소(crate)가 30개 이상이었다. cat으로는 LICENSE(11431바이트, Apache 2.0 전문), README.md(93줄, SDK 설치법 문서), AGENTS.md(243줄, 아키텍처 표에 30개 이상의 crate 명시)를 읽었다. Cargo.toml에서는 Rust 1.94, tokio 1.43, tonic 0.14, axum 0.8을 확인했다. pyproject.toml에서는 Python 3.11 이상, 의존성 5개, 개발 단계 표시(Classifiers: "Development Status :: 3 - Alpha")를 확인했다.

핵심인 격리 코드도 살펴봤다. Linux용 샌드박스 crate(openshell-sandbox)는 Rust 3735줄로, seccomp notification, Landlock, 네임스페이스 격리, 소켓 격리를 구현한다. macOS에서는 Linux 전용 코드(#[cfg(target_os = "linux")])가 동작하지 않아서 VM 드라이버(실험 단계)를 거쳐야 한다.

정책 예제 파일(sandbox-policy.yaml)에는 읽기 전용 경로(/usr, /lib, /etc, /app 등), 읽기·쓰기 경로(/sandbox, /tmp), PyPI 접근 규칙(pypi.org:443) 등이 있었다. 원격 측정(telemetry) 코드는 기본값이 ON이었다. 환경변수 OPENSHELL_TELEMETRY_ENABLED=false로 끌 수 있고, 컴파일할 때 아예 빼는 옵션도 있다.

하지 못한 것: Docker나 Podman 없이 로컬 게이트웨이를 실행하는 것, 전체 빌드 테스트, 실제 Python SDK import와 API 호출(Client.create(), Sandbox.exec()). 이 가운데 SDK 호출은 로컬 게이트웨이가 있어야 해서 시도하지 않았다.

이 맥에서 쓸 수 있나

내 환경은 Mac Studio이고, 칩은 Apple M5 Max(arm64), 메모리는 48GB, macOS 27.0.1(빌드 26A434), 디스크 여유는 약 188GB다. 로컬 AI 모델 서버(Splash 1.2.0)가 메모리를 약 34GB씩 계속 쓰고 있다.

OpenShell의 요구사항은 "Linux, macOS on Apple Silicon, 또는 Windows with WSL 2 + Docker, Podman, 또는 host virtualization"이다. Apple Silicon의 macOS를 명시적으로 지원하니 사양상으로는 맞다. 하지만 이 맥에는 Docker/Podman이 없고, macOS 격리 드라이버(VM)도 실험 단계라 바로 도입하기는 어렵다.

막히는 이유는 세 가지다. Docker/Podman을 설치하지 않았고, 원격 측정이 기본 ON이라 로컬 전용 환경에서는 신경 쓰이며, macOS 격리 드라이버도 아직 안정화되지 않았다. 그래서 결론은 보류다. 1.0이 나오고 macOS 격리가 안정된 뒤에 다시 보는 것이 현실적이다.

이런 분께 맞아요

  • AI 에이전트에 파일·네트워크 접근 제어가 필요한 개발자
  • 에이전트 격리 런타임에 관심 있는 연구자·학생
  • Apache 2.0 라이선스로 상업 사용이 필요한 팀

이런 분께 안 맞아요

  • Docker/Podman 없이 바로 쓰고 싶은 분
  • macOS에서 당장 쓸 수 있는 격리 도구를 찾는 분
  • 원격 측정 데이터 전송을 허용할 수 없는 로컬 전용 환경 사용자

주의할 점

첫째, macOS 격리는 VM 드라이버가 실험 단계라서 Linux만큼의 격리 강도를 보장하지 않는다. 둘째, 원격 측정이 기본 ON이므로 로컬 전용 환경에서 쓰려면 환경변수를 설정하거나 컴파일할 때 제거해야 한다. 셋째, 0.1.x는 Alpha 단계여서 API가 아직 안정되지 않았다. 넷째, NVIDIA가 소유한 프로젝트라 상용 전략이 바뀌면 지원이 중단될 수 있다.

출처

NVIDIA/OpenShell — https://github.com/NVIDIA/OpenShell (확인 시각: 2026-10-24 04:12 KST)

설치·실행 결과는 글쓴이 환경(맥, 인터넷 차단 시험 등) 기준이며 여러분 환경에서는 다를 수 있습니다.