자율 AI 에이전트가 실무에서 쓸모를 가지려면 파일을 읽고, 패키지를 설치하고, 외부 API를 호출하고, 자격 증명을 다룰 수 있어야 한다. 문제는 그런 권한이 곧 데이터·비밀정보·내부 네트워크에 대한 무제한 접근으로 이어진다는 점이다. NVIDIA가 아파치 2.0 라이선스로 공개한 오픈셸(OpenShell)은 바로 이 지점을 겨냥한다. 에이전트에게 작업 수행 능력은 주되, 무엇을 건드릴 수 있는지를 정책(policy)으로 선언하게 하고 런타임이 그 정책을 강제하는 방식이다. 최근 0.1.x 버전이 나오면서 안정적인 릴리스 주기, 새로운 격리 프리미티브, 확장 범위 확대, 신규 API가 추가됐다.
두 갈래의 통제 방식
오픈셸이 에이전트의 행동을 통제하는 방식은 두 가지로 설명된다. 하나는 커널을 계측(instrument)해 모든 파일 접근, 시스템 콜, 네트워크 연결을 런타임에 정책 기준으로 검사하는 것이다. 즉 에이전트가 어떤 파일을 열거나 외부로 연결을 시도하는 순간, 그 행위가 허용 범위 안인지를 실행 시점에 판정한다. 다른 하나는 형식 검증(formal verification)이다. 정책을 바꾸려 할 때, 그 변경이 실제로 무엇을 허용하게 되는지를 적용 전에 미리 검증한다. 운영자가 "이 디렉터리 하나만 더 열어주자"고 수정했는데 의도치 않게 훨씬 넓은 접근이 열리는 상황을, 사후가 아니라 사전에 걸러내겠다는 접근이다.
구조적으로는 게이트웨이, 슈퍼바이저, 샌드박스라는 세 요소가 맞물려 돌아간다. 구체적인 상호작용은 공개된 아키텍처 문서에서 다루며, 설치 도구는 CLI와 로컬 게이트웨이를 함께 세팅한다. 기본 샌드박스 이미지는 에이전트가 설치되지 않은 최소 구성의 우분투다. 실제 에이전트를 돌리려면 별도 가이드를 따라야 하는데, 공식 안내는 무료 OpenRouter 모델을 사용하는 OpenCode를 예시로 들며, 에이전트가 새로운 접근을 필요로 할 때마다 운영자가 승인하는 흐름을 보여준다. 처음부터 모든 권한을 열어두는 대신, 필요가 생길 때 점진적으로 허용하는 방식이 설계의 기본값인 셈이다.
실행 환경과 도입 경로
구동에는 리눅스, 애플 실리콘 기반 맥OS, 또는 WSL 2를 쓰는 윈도(실험적)가 필요하며 도커, 포드맨, 혹은 호스트 가상화 중 하나가 요구된다. 윈도 지원이 아직 실험 단계라는 점은 사내 표준 환경이 윈도인 조직이라면 염두에 둘 대목이다. 흥미로운 부분은 배포 방식인데, 오픈셸은 코딩 에이전트용 공개 스킬을 함께 제공한다. 이 스킬은 에이전트가 직접 오픈셸 CLI를 조작하고, 샌드박스 정책을 작성하고, 게이트웨이와 추론 라우팅을 디버깅하도록 가르치는 용도다. 별도 소스 체크아웃 없이도 동작한다는 점에서, 도구를 사람이 아니라 에이전트가 운용하도록 상정한 흔적이 뚜렷하다. 애플리케이션과 게이트웨이를 잇는 SDK도 제공되지만 SDK는 CLI를 설치하지 않으며, 가능하면 SDK와 게이트웨이의 릴리스 버전을 맞추라고 권고한다.
이 프로젝트는 스스로를 "에이전트 우선(agent-first)"으로 규정한다. 오픈셸이 가능하게 하려는 바로 그 에이전트 주도 워크플로로 개발된다는 것이다. 기여 설정과 절차는 CONTRIBUTING.md, 저장소 코딩 규약은 AGENTS.md에 정리돼 있다. 한편 익명 텔레메트리를 수집하는데, 운영 범주와 횟수로 범위가 한정된다고 명시한다. 샌드박스 이름, 호스트명, 파일 경로, 프롬프트, 자격 증명, 공급자·모델명, 사용자 콘텐츠는 수집하지 않는다는 설명이다. 게이트웨이에서 환경변수로 끄거나, 헬름 설치 시 설정값으로 비활성화할 수 있고, 아예 컴파일 단계에서 제외하는 것도 가능하다.
실무자가 짚어둘 지점
보안 관점에서 오픈셸이 제시하는 모델은 기존의 컨테이너 격리나 권한 분리보다 한 발 더 들어간다. 커널 수준에서 시스템 콜과 네트워크까지 정책으로 묶고, 정책 변경 자체를 형식 검증한다는 조합은 "에이전트가 뭘 할 수 있는지를 코드가 아니라 선언으로 관리한다"는 방향성을 분명히 한다. 다만 공개 자료만으로는 성능 오버헤드, 정책 언어의 표현력과 학습 비용, 형식 검증이 포괄하는 속성의 범위처럼 실제 도입을 좌우할 세부가 드러나지 않는다. 기본 이미지에 에이전트가 없고 승인 기반으로 권한을 넓혀가는 구조는 안전하지만, 그만큼 초기 정책 설계와 운영 부담이 어디까지 늘어나는지도 검증이 필요하다.
또 하나 유의할 점은 이 소프트웨어가 외부 자료를 자동으로 가져와 상호작용한다는 사실이다. 공식 고지에서도 가져온 자료는 별도의 약관과 라이선스를 따르며, 그 보안성·무결성·적합성 확인 책임은 전적으로 사용자에게 있다고 밝힌다. 소프트웨어는 "있는 그대로(AS IS)" 제공되고 어떤 보증도 없다. 결국 오픈셸은 에이전트의 행위를 가두는 울타리를 제공하지만, 그 울타리를 어떻게 설계하고 가져온 외부 자료를 어떻게 검증할지는 도입하는 조직의 몫으로 남는다. 자율 에이전트를 운영 환경에 올리려는 팀이라면, 샌드박스 정책과 승인 워크플로를 자사 보안 정책에 어떻게 녹일지를 먼저 그려보는 것이 평가의 출발점이 될 것이다.