오늘의 AI 용어: 에이전트 샌드박스 (Agent Sandbox)

한 줄로: AI 에이전트가 코드를 돌리고 파일·네트워크를 만지는 공간을 커널이나 하드웨어 수준에서 격리하고, “무엇에 접근해도 되는지”를 에이전트 바깥의 정책이 정하게 하는 실행 환경이에요. 핵심은 “에이전트는 스스로를 통제할 수 없다, 통제는 인프라가 한다”는 생각이에요.

시점부터 분명히 할게요. 샌드박스 자체는 오래된 기술이에요. 유닉스 chroot(1979), 리눅스 seccomp(2005), gVisor와 Firecracker(2018), 리눅스 Landlock(2021)이 다 지금 쓰이는 재료예요. NVIDIA OpenShell도 새 물건은 아니고, 2026년 3월 16일 GTC에서 처음 공개됐어요. 이번 주에 화제가 된 건 두 소식이에요. 하나는 NVIDIA가 2026-10-21 GTC 베를린에서 발표한 OpenShell 레퍼런스 아키텍처이고, 다른 하나는 구글이 2026-10-22(미국) AGNTCon + MCPCon에서 공개한 하드웨어 격리 런타임 Agent Compute Engine이에요. 구글 쪽은 몇 달 안에 프리뷰로 나온다고 했어요.

왜 지금 뜨나요? 에이전트가 몇 시간씩 혼자 일하면서 코드를 내려받고, 도구를 만들고, 다른 에이전트를 띄우고, 권한을 더 달라고 하게 됐어요. 젠슨 황은 키노트에서 에이전트를 모델, 하네스, 샌드박스, 지식, 도구의 다섯 요소로 설명하면서 “가장 중요한 건 에이전트를 안전하게 만드는 것”이라고 했어요. 매번 “이 명령 실행할까요?”라고 묻는 승인 팝업으로는 감당이 안 되니, 격리 경계를 미리 그어 두고 그 안에서는 마음껏 돌리게 하자는 쪽으로 무게가 옮겨가는 중이에요.

OpenShell 기술 블로그를 보면 구조가 꽤 교과서적이에요. Gateway가 샌드박스 수명과 정책을 관리하고, 샌드박스 바깥에 있는 Supervisor가 나가는 요청을 정책과 대조하면서 자격 증명을 대신 건네줘요. Sandbox가 파일과 프로세스를 가두고, Policy Prover가 정책 권한이 조직이 정한 상한을 넘지 않는지 형식 검증해요. 리눅스에서는 Landlock으로 파일 접근을, seccomp로 위험한 시스템 콜을, 네트워크 네임스페이스와 프록시로 외부 통신을 막아요.

Claude만 쓰던 개발자는 이렇게 쓰면 돼요.
– 역할 나누기: 판단과 코드 작성은 LLM(Claude)이 하고, “어디까지 해도 되는지”는 샌드박스 정책이 정해요. 프롬프트에 “rm -rf 하지 마”라고 쓰는 건 부탁일 뿐이고, 진짜 경계는 정책 파일이에요.
– 언제 샌드박스에 넣나요: 에이전트를 무인으로 오래 돌릴 때, 모르는 패키지나 생성된 코드를 실행할 때, 웹페이지나 이메일처럼 프롬프트 인젝션이 섞일 수 있는 입력을 읽을 때는 꼭 넣으세요. 네트워크는 기본으로 막고, 필요한 도메인만 허용 목록에 넣는 게 출발점이에요.
– 언제 LLM에 그냥 맡기나요: 읽기 전용 질문, 코드 설명, 리뷰처럼 부작용이 없는 일은 굳이 무겁게 격리하지 않아도 돼요.
– 비밀값은 밖에 두세요: API 키를 샌드박스 안 환경변수로 넣지 말고, 바깥의 프록시나 Supervisor가 요청할 때만 붙여 주게 하면 유출 위험이 확 줄어요.
– 작게 시작하기: 당장은 Claude Code의 샌드박스 모드나 Docker 컨테이너(네트워크 차단, 작업 폴더만 마운트)로도 같은 원칙을 연습할 수 있어요. 팀 단위로 커지면 OpenShell 같은 정책 런타임을 검토하면 돼요.

연관 용어
– 최소 권한 원칙 (Least Privilege): 필요한 권한만, 필요한 동안만 주는 오래된 보안 원칙이에요. 에이전트 시대엔 실행할 때마다 권한이 달라진다는 게 새로운 점이에요.
– egress 필터링: 밖으로 나가는 네트워크 통신을 허용 목록으로 제한하는 것으로, 데이터 유출을 막는 1차 방어선이에요.
– 마이크로VM (microVM): Firecracker처럼 컨테이너보다 단단하게 격리하면서도 빨리 뜨는 가벼운 가상 머신이에요. 에이전트 샌드박스의 바닥 재료로 자주 쓰여요.

오늘도 좋은 하루 보내세요. 에이전트한테 자유를 줄 땐 울타리부터 쳐 두기로 해요 🙂

댓글 남기기