로컬 샌드박스
컴퓨터의 프로세스 샌드박스에서 GitLab Duo 에이전트 작업과 로컬 MCP 서버를 실행하는 방법을 설명합니다.
히스토리 GitLab 19.0 릴리스 중 GitLab for VS Code 6.80.0 에서 실험 으로 도입 되었습니다. GitLab 19.1 릴리스 중 GitLab Duo CLI 8.94.0 에서 실험 으로 도입 되었습니다. 샌드박스 구성 파일이 GitLab 19.3 릴리스 중 GitLab Language Server 9.4.0 및 GitLab Duo CLI 9.4.0 에서 도입 되었습니다. 로컬 샌드박스는 GitLab Duo 에이전트가 사용자의 컴퓨터에서 실행될 때 읽고, 쓰고, 네트워크로 접근할 수 있는 범위를 제한합니다. 에디터의 에이전트와 GitLab Duo CLI의 에이전트에 적용됩니다. 샌드박스는 기본적으로 꺼져 있습니다. 샌드박스를 켜기 전에는 에디터 확장 및 CLI 도구의 보안 고려 사항 에 설명된 위험이 적용됩니다. GitLab Runner에서 실행되는 플로는 원격 실행 환경 샌드박스 를 참고합니다. 샌드박스 작동 방식 # 샌드박스가 켜져 있으면 GitLab Duo는 운영 체제가 제한하는 별도의 워커 프로세스에서 에이전트 작업을 실행합니다. 에이전트 작업에는 셸 명령, 파일 읽기와 쓰기, 파일 검색, 디렉터리 목록 조회가 포함됩니다. stdio 전송을 사용하는 로컬 MCP 서버도 같은 종류의 샌드박스에서 실행됩니다. 샌드박스는 GITLAB_TOKEN , GITHUB_TOKEN , AWS_SECRET_ACCESS_KEY , SSH_AUTH_SOCK 같은 알려진 자격 증명 환경 변수를 샌드박스 안 프로세스의 환경에서 제거합니다. 그 밖의 환경 변수는 제거하지 않습니다. 기본적으로 샌드박스는 다음도 차단합니다: 일반적인 자격 증명 디렉터리와 개인 디렉터리 읽기. 워크스페이스와 임시 디렉터리 밖에 쓰기. GitLab 인스턴스를 제외한 모든 호스트로의 네트워크 접근. 전체 목록은 기본 샌드박스 규칙 을 참고합니다. 이 샌드박스는 프로세스 샌드박스이며 컨테이너나 가상 머신이 아닙니다. 다음은 샌드박스 밖에서 실행됩니다: 에디터와 GitLab Duo 자체. http 또는 sse 전송을 사용하는 MCP 서버와의 연결. "sandboxEnabled": false 가 설정된 MCP 서버. GitLab Duo CLI 훅 . 샌드박스는 에이전트를 로컬에서 실행할 때의 위험을 줄이지만 없애지는 못합니다. 에이전트는 여전히 워크스페이스의 파일을 읽고 변경할 수 있으며, 샌드박스가 허용하는 호스트로 데이터를 보낼 수 있습니다. 샌드박스가 켜져 있지만 시작할 수 없는 경우(예: 의존성이 없는 경우) 에이전트 작업과 로컬 MCP 서버는 오류와 함께 실패합니다. 샌드박스 없이 실행되지 않습니다. 이 동작은 샌드박스 없이 플로를 실행하고 경고를 표시하는 원격 실행 환경 샌드박스와 다릅니다. 지원 플랫폼 # 운영 체제 지원 여부 macOS 예 Linux 예, 사전 요구 사항 필요 Windows 아니요 사전 요구 사항 # Linux에서는 bubblewrap 과 socat 을 설치합니다. 예를 들면 다음과 같습니다: Debian 또는 Ubuntu에서: sud