NVIDIA/OpenShell
OpenShell is the safe, private runtime for autonomous AI agents.
OpenShell – 자율형 AI 에이전트를 위한 사전 격리된 런타임
무엇인가요 – OpenShell (Apache-2.0)은 가벼우면서도 정책 기반 플랫폼으로, LLM 기반 에이전트(Claude, OpenCode, Codex, GitHub Copilot 등)를 격리된 컨테이너 내에서 실행할 수 있게 해줍니다. 각 사전은 파일 시스템 접근, 네트워크 출력, 시스템 호출, 모델 API 라우팅을 제어하는 선언적 YAML 정책으로 보호되어, 에이전트가 자격 증명을 유출하거나 데이터를 탈취하는 것을 방지합니다.
왜 중요한가요 – 자율형 에이전트가 점점 더 강력해질수록 보안 위험도 커집니다. OpenShell은 개발자가 에이전트에게 필요한 컴퓨팅 자원(CPU, GPU, 또는 마이크로VM)을 제공하면서도, 호스트 및 기업 리소스를 안전하게 보호할 수 있는 방법을 제공합니다.
핵심 개념
| 구성 요소 | 역할 |
|---|---|
| Gateway | 사전 생성, 삭제, 모니터링을 담당하는 제어 평면 API이며, 인증 경계이기도 합니다. |
| Sandbox | 에이전트와 도구 체인을 실행하는 컨테이너(Docker/Podman/MicroVM/K8s). |
| Policy Engine | YAML로 정의된 파일 시스템, 프로세스, 네트워크, 추론 정책을 강제합니다. |
| Privacy Router | LLM 호출을 가로채고 사용자 비밀 정보를 제거한 후, 관리된 프로바이더 자격 증명을 삽입하여 선택된 모델 백엔드로 전달합니다. |
빠른 시작 (Linux/macOS/WSL-2)
# 바이너리 설치 (권장)
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
# 에이전트(예: Claude Code)를 포함한 사전 생성
openshell sandbox create -- claude
# 사전 내부에 쉘 열기
openshell sandbox connect <sandbox-name>
사전은 최소한의 도구 세트(Python 3.14, Node 22, git, vim, 네트워크 유틸리티 등)를 포함하고 있습니다.
에이전트의 행동 제어
- 사전 생성 – 외부 네트워크 연결 없이 시작됩니다.
- 정책 적용 – 짧은 YAML 파일로 허용되는 호스트, HTTP 메서드, 파일 경로 등을 정의합니다.
- 핫리로드 –
openshell policy set …명령어로 실행 중인 사전에 네트워크 또는 추론 규칙을 재시작 없이 업데이트할 수 있습니다.
# examples/sandbox-policy-quickstart/policy.yaml
network:
allow:
- host: api.github.com
methods: [GET]
process:
deny: ["sudo", "chmod"]
filesystem:
readOnly: ["/home/user/.config"]
README에는 정책이 적용되기 전까지 curl이 GitHub에 접근되지 않는 실시간 데모가 포함되어 있습니다.
프로바이더 관리 (자격 증명)
프로바이더는 API 키 또는 서비스 계정 토큰의 이름 붙은 묶음입니다. OpenShell은 지원되는 에이전트의 키를 환경에서 자동 탐지하고, 이들을 런타임 전용 환경 변수로 삽입합니다. 이 자격 증명은 사전의 파일 시스템에 영향을 주지 않습니다.
openshell provider create --type anthropic --name claude_key # ANTHROPIC_API_KEY 자동 탐지
openshell sandbox create --provider claude_key -- claude
GPU 지원 (실험적)
사전 생성 시 --gpu를 추가하면 호스트 GPU를 전달할 수 있습니다(NVIDIA 드라이버, Container Toolkit, 필요한 CUDA 라이브러리를 포함한 사전 이미지 필요).
openshell sandbox create --gpu -- claude
확장성
- 사용자 정의 사전 –
openshell sandbox create --from ./my-sandbox-dir또는 어떤 OCI 이미지에서든 생성 가능. - Helm 차트 – 실험적 Kubernetes 배포(
helm install openshell oci://ghcr.io/nvidia/openshell/helm-chart). - 사용자 컨테이너 도입 – GPU 지원 이미지 구축은
examples/bring-your-own-container폴더 참조.
사용자용 도구
| 명령어 | 기능 |
|---|---|
openshell sandbox create … |
선택한 에이전트로 새로운 사전 생성. |
openshell sandbox connect <name> |
사전 내부로 SSH와 유사한 터미널 접속. |
openshell policy set <name> --policy file.yaml |
실행 중인 사전에 정책 적용 또는 업데이트. |
openshell provider create … |
나중에 삽입할 자격 증명 등록. |
openshell term |
게이트웨이, 사전, 프로바이더를 모니터링하는 TUI(k9s 스타일) 대시보드. |
OpenShell을 사용할 때
- 보안이 보장된 자율 에이전트 – 자격 증명 유출 위험 없이 코드 생성 또는 의사결정 봇 실행.
- RAG 파이프라인 – 내부 서비스에서 데이터를 가져오게 하되, 의도하지 않은 외부 호출은 정책으로 차단.
- GPU 가속 추론 – 사전 내에서 로컬 모델의 피니튜닝 또는 실행을 수행해 호스트 환경을 깨끗하게 유지.
- 기업 컴플라이언스 – 선언적 정책을 통해 감사자가 각 에이전트의 허용 범위를 명확하고 버전 관리 가능한 기록으로 확인 가능.
도움 받기 및 기여하기
- Discussions – 사용법 질문은 GitHub Discussions에서.
- Issues – 버그 보고 및 기능 요청(사용자 스토리와 수용 기준 포함 필요).
- 에이전트 우선 워크플로우 – 리포지토리에는
.agents/skills/가 포함되어 있어 AI 어시스턴트가 문제 진단, 정책 생성, 새로운 기능 스텁 생성을 도와줍니다. - 텔레메트리 – 선택적 익명 사용 통계. 런타임 또는 컴파일 시 비활성화 가능.
결론 – OpenShell은 개발자가 격리된 컨테이너 내에서 자율형 LLM 에이전트를 안전하게 실행할 수 있는 진정한 오픈소스 플랫폼입니다. 파일, 프로세스, 네트워크, 추론 동작을 세밀하게 제어할 수 있는 핫리로드 가능한 정책을 제공하며, 로컬 GPU 워크로드, Kubernetes 배포, 일상적인 운영에 적합한 풍부한 CLI/TUI를 지원합니다.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트