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, 네트워크 유틸리티 등)를 포함하고 있습니다.

에이전트의 행동 제어

  1. 사전 생성 – 외부 네트워크 연결 없이 시작됩니다.
  2. 정책 적용 – 짧은 YAML 파일로 허용되는 호스트, HTTP 메서드, 파일 경로 등을 정의합니다.
  3. 핫리로드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
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트