Skip to main content
Skip to content

GitHub Copilot 앱에서 로컬 샌드박싱 구성하기

/sandbox 슬래시 명령 및 프로젝트 설정을 사용하여 로컬 샌드박싱이 GitHub Copilot app 파일 시스템 액세스, 네트워크 연결 및 자격 증명 사용을 제한하는 방법을 제어합니다.

누가 이 기능을 사용할 수 있나요?

GitHub Copilot app 는 모든 Copilot 계획에 사용할 수 있습니다.
Download GitHub Copilot app

참고

GitHub Copilot용 로컬 샌드박스는 공개 미리 보기 상태이며 변경될 수 있습니다.

로컬 샌드박싱 정보

로컬 샌드박싱은 에이전트가 운영 체제 샌드박스 내에서 사용자 대신 호출하는 도구를 실행합니다. 이렇게 하면 컴퓨터의 파일, 네트워크 리소스 및 자격 증명에 대한 액세스를 제한하여 의도하지 않은 명령의 잠재적 영향을 줄일 수 있습니다.

의 각 프로젝트에 대해 로컬 샌드박싱을 별도로 구성합니다 GitHub Copilot app. 구성은 로컬 리포지토리 및 작업 트리 세션에 적용됩니다. 원격 호스트에서 실행되는 클라우드 샌드박스 세션 또는 세션에는 적용되지 않습니다.

작업 트리는 동시 세션에 대한 분기와 파일을 별도로 유지하지만 명령이 컴퓨터의 다른 위치에 액세스할 수 있는 것을 제한하지는 않습니다. 로컬 샌드박싱은 추가 보호를 제공합니다.

클라우드 및 로컬 샌드박싱에 대한 Copilot개요는 클라우드 및 로컬 샌드박스에 대하여 GitHub Copilot을 참조하세요.

프로젝트에서 로컬 샌드박싱 사용

로컬 샌드박싱은 기본적으로 꺼져 있습니다. 프로젝트에서 새 로컬 세션에 사용하도록 설정하려면 다음을 수행합니다.

  1. 앱 설정을 엽니다.
  2. 구성하려는 프로젝트를 선택합니다.
  3. 샌드박스에서 샌드박스 새 세션을 켭니다.

이 설정은 프로젝트의 새 세션에 적용됩니다. 이미 실행 중인 세션은 변경되지 않습니다.

대부분의 프로젝트에서는 기본 정책으로 시작합니다. 종속성 설치, 로컬 개발 서버에 연결, 분기 푸시 및 끌어오기 요청 만들기와 같은 일반적인 개발 작업을 허용합니다. 프로젝트가 중요한 폴더 옆에 있거나, 네트워크 액세스가 필요하지 않거나, 자격 증명을 사용하지 않아야 하는 경우 제한을 추가합니다.

프로젝트에 대한 샌드박스 정책 구성

샌드박스 정책은 에이전트 실행 도구에서 액세스할 수 있는 파일, 네트워크 및 자격 증명을 제어하는 규칙 집합입니다. 프로젝트 설정은 샌드박스 세션이 시작될 때 앱이 요청하는 정책을 설명합니다. 효과적인 정책은 엔터프라이즈 관리 설정이 적용되는 경우와 같이 더 제한적일 수 있습니다.

프로젝트 설정에서 다음을 구성할 수 있습니다.

  • 파일 시스템 액세스: 특정 경로에 대한 추가 읽기 전용 또는 읽기/쓰기 액세스 권한을 부여하거나 경로를 거부합니다.
  • 네트워크 액세스: 아웃바운드 인터넷 및 로컬 네트워크 액세스를 허용하거나 차단합니다.
  • 자격 증명: 샌드박스 내에서 Git 및 GitHub CLI 자격 증명을 사용할 수 있는지 여부를 선택합니다.

파일 시스템 액세스 구성

기본적으로 샌드박스가 적용된 세션은 해당 작업 영역 및 현재 작업 디렉터리에 대한 읽기/쓰기 권한이 있습니다. 추가 폴더에 대한 액세스 권한을 부여하거나 특정 폴더에 대한 액세스를 차단할 수 있습니다.

프로젝트 설정의 샌드박스 섹션에서 다음 목록을 구성합니다.

  • 추가 읽기/쓰기: 에이전트 실행 도구에서 읽고 수정할 수 있는 폴더입니다.
  • 추가 읽기 전용: 에이전트 실행 도구에서 읽을 수 있지만 수정할 수 없는 폴더입니다.
  • 거부됨: 에이전트 실행 도구에서 액세스할 수 없는 폴더입니다.

폴더를 추가하려면 해당 목록에 대한 폴더 추가 를 클릭한 다음 폴더를 선택합니다. 폴더를 제거하려면 해당 경로 옆에 있는 삭제 아이콘을 클릭합니다.

더 광범위한 부모 폴더에 읽기 또는 쓰기 권한이 있는 경우 더 구체적인 거부된 폴더가 거부된 상태로 유지됩니다.

Windows 프로젝트 설정에서 거부된 경로를 저장할 수 있습니다. 활성 Windows 샌드박스 기능이 거부를 보장할 수 없는 경우 지원되지 않는 정책 메시지와 함께 샌드박스 명령이 실패합니다. 이 명령은 거부된 경로에 액세스할 수 있거나 샌드박스 없이 실행되지 않습니다.

네트워크 액세스 구성

기본적으로 샌드박스 세션은 인터넷 및 로컬 네트워크에 연결할 수 있습니다. 프로젝트 설정의 샌드박스 섹션에서 다음 설정을 변경할 수 있습니다.

  • 아웃바운드 인터넷 연결: GitHub 및 패키지 레지스트리와 같은 인터넷 서비스에 연결할 수 있도록 허용합니다.
  • 로컬 네트워크: 로컬 개발 서버에 대한 연결을 포함하여 루프백 및 로컬 네트워크 연결을 허용합니다.

네트워크 제한은 패키지 설치, API 호출, 미리 보기 서버 및 네트워크 연결이 필요한 기타 도구에 영향을 줄 수 있습니다.

Linux에서 샌드박스는 셸 명령, 로컬 MCP 또는 LSP 서버와 같은 생성된 프로세스에 대해 로컬 네트워크 액세스를 독립적으로 제어할 수 없습니다. 이 설정은 웹 요청 및 원격 MCP 연결과 같은 in-process 작업에 계속 적용됩니다.

자격 증명 구성하기

기본적으로 인증된 Git 및 GitHub CLI 작업은 샌드박스 내에서 사용할 수 있습니다. 다음 설정 중 하나를 해제할 수 있습니다.

  • Git 자격 증명: 인증된 HTTPS Git 작업을 허용합니다.
  • GitHub CLI 자격 증명: GitHub CLI이(가) 인증할 수 있도록 허용합니다.

자격 증명 액세스를 해제하면 브랜치를 푸시하거나 샌드박스 내부에서 풀 리퀘스트를 만드는 등의 작업이 수행되지 않도록 할 수 있습니다.

정책 변경 적용

파일 시스템, 네트워크 및 자격 증명 설정에 대한 변경 내용은 새 세션 또는 기존 세션이 다시 시작될 때 적용됩니다. 현재 실행 중인 세션의 정책은 변경하지 않습니다.

기록을 유지하면서 세션을 다시 시작하려면 다음을 입력합니다.

/restart-session

앱은 운영 체제에서 적용할 수 있는지 여부를 확인하기 전에 샌드박스 설정을 허용합니다. 첫 번째 샌드박스 셸이 시작될 때 지원이 선택됩니다. 호스트가 요청된 정책을 적용할 수 없는 경우 셸은 지원되지 않는 플랫폼 또는 지원되지 않는 정책 메시지와 함께 실패하고 unsandboxed로 실행되지 않습니다. 현재 지원되는 Windows 버전을 찾으려면 Copilot 샌드박싱에 대한 Windows OS 지원을 참조하세요.

앱에 샌드박스를 사용할 수 없는 것으로 표시되면 보고된 문제를 해결한 다음 샌드박스 다시 시도를 클릭합니다.

세션의 샌드박싱 변경

활성 세션에 대한 로컬 샌드박싱을 켜려면 다음을 입력합니다.

/sandbox on

현재 세션에서 끄려면 다음을 입력합니다.

/sandbox off

활성 로컬 세션 동안 명령은 해당 세션에 대한 영구 재정의를 만들고 즉시 적용합니다. 재정의는 다른 세션의 프로젝트 기본값을 변경하지 않습니다.

세션이 시작되기 전에 두 명령 중 하나를 입력하면 새 세션에서 상속된 프로젝트 기본값이 변경됩니다.

로컬 샌드박싱이 해제된 경우 에이전트 실행 명령은 사용자 계정과 동일한 파일, 네트워크 및 자격 증명에 액세스할 수 있습니다.

클라우드 샌드박스 세션 또는 원격 호스트에서 실행되는 세션에는 로컬 샌드박싱을 사용할 수 없습니다.

샌드박스 외부에서 도구 실행

샌드박스 정책이 허용하지 않는 액세스 권한이 도구에 필요한 경우 앱은 샌드박스 외부에서 실행을 표시할 수 있나요? 프롬프트입니다. 유효한 정책에 따라 다음을 수행할 수 있습니다.

  • 작업을 취소합니다.
  • 샌드박스 외부에서 작업을 한 번 실행합니다.
  • 현재 세션의 나머지 부분에 대해 샌드박싱을 사용하지 않도록 설정하고 작업을 실행합니다.

이 프롬프트에서 샌드박싱을 사용하지 않도록 설정하면 앱은 이 세션에 대해 샌드박스를 해제합니다. 샌드박스 다시 사용을 클릭하여 다시 켤 수 있습니다.

샌드박싱을 일시적으로 사용하지 않도록 설정해도 프로젝트 기본값이나 세션 재정의가 변경되지 않습니다. 세션이 다시 시작되거나 다시 연결되면 종료됩니다.

엔터프라이즈 소유자는 사용자가 샌드박스 외부에서 도구를 실행하지 못하도록 할 수 있습니다. 자세한 내용은 엔터프라이즈 관리 설정을(를) 참조하세요.