Copilot 자동 승인 정식 출시: Assisted 권한을 좁게 쓰는 법
Copilot CLI의 모델 기반 권한 검토가 정식 제공됩니다. 설치와 최소 실행부터 자동화 옵션, 기업 정책, 수동 승인 복구까지 살피며 무조건 허용과의 차이를 설명합니다.
GitHub가 2026년 10월 26일 Copilot CLI·Copilot 앱·Visual Studio Code의 Assisted permissions를 정식 제공한다고 발표했습니다. 매번 사람이 승인하는 방식과 모든 권한을 한꺼번에 허용하는 방식 사이에, 모델이 요청의 안전성과 작업 범위를 평가하는 단계를 넣는 기능입니다. 편의 기능이지만 샌드박스나 접근 통제를 대신하지는 않습니다. 여기서는 CLI를 기준으로 공식 문서에서 확인한 설정과 복구 절차를 설명합니다. 명령은 문서 기준이며 실제 Copilot 계정에서 실행한 실험은 아닙니다.
무엇이 달라졌나
명령 실행, 파일 경로 접근, URL 열기 요청 가운데 검토 대상인 요청을 모델이 평가합니다. 명확히 안전하다고 분류한 요청은 자동 진행하고, 나머지는 대화형 세션에서 사용자 승인을 요구합니다. 기존에 허용된 작업은 추가 모델 검토 없이 실행될 수 있으며 거부 규칙과 기업 정책도 계속 적용됩니다. 따라서 Assisted를 선택했다고 모든 명령이 매번 같은 심사를 받는 것은 아닙니다.
자동화에서는 차이가 더 중요합니다. 비대화형 실행에 사람이 필요한 승인 요청이 발생하면 작업이 거부되고 설명이 Copilot에 전달돼 다른 접근을 시도할 수 있습니다. 승인할 사람이 없으니 무조건 허용한다는 의미가 아닙니다. 안전성 모델 역시 오판할 수 있으므로 읽을 수 있는 파일과 네트워크, 실행 계정 권한은 별도로 좁혀야 합니다.
설치 전제조건
Copilot 구독과 사용 권한이 필요합니다. 조직이나 기업이 CLI를 비활성화했다면 개인 설치만으로 사용할 수 없습니다. npm 설치는 Node.js 22 이상이 전제이며 Windows는 PowerShell 6 이상을 확인합니다. 아래는 npm을 쓰는 공통 경로입니다. 운영 환경에서는 조직이 승인한 버전을 고정하고 업그레이드 전 현재 버전을 기록하세요.
node --version
npm install -g @github/copilot
copilot --version
copilot처음 시작하면 CLI 안에서 /login을 입력하고 안내에 따라 로그인합니다. 현재 디렉터리를 AI 도구에 맡겨도 되는지 확인한 뒤 신뢰를 승인해야 합니다. 암호나 API 키가 든 실제 운영 폴더 대신 비밀이 없는 시험용 Git 저장소에서 시작하는 편이 좋습니다. 여기서 입력하는 슬래시 명령은 셸 명령이 아니라 Copilot 대화창의 명령입니다.
최소 실행과 확인
아래 세 줄을 Copilot 대화창에서 순서대로 입력합니다. 마지막 질문은 파일 변경 없이 구조만 설명하도록 범위를 좁힌 예시입니다.
/permissions assisted
/permissions show
이 저장소의 파일 구조를 읽고 역할을 설명해 줘. 파일 수정, 패키지 설치, 외부 URL 접속은 하지 마.성공 신호는 권한 조회에서 Assisted 모드가 확인되고 설명 결과가 돌아오는 것입니다. 결과 문장만 믿지 말고 작업 로그에 어떤 명령과 경로 접근이 있었는지 함께 봅니다. 예상하지 못한 수정은 Git diff와 상태 조회로 확인합니다. 읽기 요청만 했는데 광범위한 실행 권한을 요구하면 승인하지 말고 요청 이유와 작업 범위를 먼저 점검하세요.
실무 자동화 예제
다음은 이미 테스트가 준비된 별도 작업 브랜치에서 실패 테스트의 원인을 분석하도록 시키는 예시입니다. 테스트 실행은 프로젝트 코드를 실행할 수 있으므로 외부 기여자가 만든 신뢰하지 않는 코드를 호스트에서 바로 실행하면 안 됩니다. 민감한 환경변수와 운영 자격증명이 없는 격리 환경에서 사용합니다.
git status --short
copilot -p "실패하는 테스트의 원인을 조사하고 최소 수정안을 제시해 줘. 배포, 원격 push, 새 의존성 설치는 하지 마." --assisted-approval
git diff --stat
git diff-p는 비대화형 프롬프트입니다. --assisted-approval은 이 실행 방식에서만 사용하며 대화형 시작에 붙이면 오류가 발생합니다. 예제의 기대 결과는 원인 설명과 제안 또는 허용된 범위의 변경입니다. 테스트가 실제로 통과했는지는 실행한 명령과 종료 결과로 별도 확인해야 합니다. 변경량이 작아도 논리 오류가 없다는 보증은 아닙니다.
옵션과 기본값
대화형 세션에는 /permissions assisted를 사용하고 /permissions show로 확인합니다. 매번 새 세션에 적용하려면 사용자 설정인 ~/.copilot/settings.json의 defaultPermissionMode를 assisted로 설정할 수 있습니다. 기존 JSON을 통째로 덮어쓰지 말고 해당 키만 병합합니다. 조직의 permissions.defaultMode가 있으면 관리 정책이 우선하며 재개한 세션은 현재 정책 범위 안에서 저장된 모드를 유지합니다.
기업은 무조건 허용 모드와 Assisted를 별도로 차단할 수 있습니다. 기본 모드가 금지되거나 사용할 수 없으면 수동 승인으로 시작합니다. Assisted가 보이지 않는다면 CLI 업데이트 여부뿐 아니라 기업 정책을 확인해야 합니다. 개인 설정만 반복 변경하는 것으로 정책 문제가 해결되지는 않습니다.
권한과 비용 경계
--allow-all 또는 --yolo를 Assisted의 동의어로 사용하면 안 됩니다. 공식 문서는 --assisted-approval과 함께 주더라도 --allow-all-paths와 --allow-all-urls의 광범위한 허용은 그대로 남을 수 있다고 경고합니다. 기업 정책 때문에 Assisted 활성화가 실패했을 때 별도로 준 --allow-all-tools도 자동 취소되지 않습니다. 따라서 이 가이드의 예제는 그러한 전면 허용 옵션을 섞지 않습니다.
코드와 프롬프트가 AI 서비스의 처리 범위에 들어갈 수 있으므로 비밀, 고객 자료, 반출 금지 소스는 계약과 조직 정책을 먼저 확인합니다. 구독과 모델 사용량 조건도 따로 적용됩니다. Assisted가 무료 무제한 실행을 뜻하지 않으며 이 글에서는 요청당 비용을 측정하지 않았습니다. 권한 검토는 데이터 반출 방지 장치와 동일하지 않습니다.
오류를 좁혀 보기
설치 뒤 명령을 찾지 못하면 npm 전역 실행 경로가 PATH에 있는지 확인합니다. 로그인이나 접근 오류는 구독 상태, 로그인 계정, 조직 CLI 허용 여부를 나눠 점검합니다. --assisted-approval을 붙인 대화형 실행 오류는 해당 옵션을 빼고 시작한 다음 슬래시 명령으로 바꿉니다. 자동화 로그의 Assisted 비활성화 경고는 무시하지 말고 실행을 중단해 정책을 검토해야 합니다.
중단과 되돌리기
진행 중인 작업은 Esc 또는 Ctrl+C로 중단하고, 대화창에서 /permissions manual을 입력해 현재 세션을 수동 승인으로 돌립니다. 기본값을 바꿨다면 기존 설정을 보존하면서 defaultPermissionMode만 manual로 되돌립니다. 권한 모드를 바꿔도 이미 실행된 명령과 파일 변경은 취소되지 않습니다. Git diff를 검토하고 시험용 브랜치의 필요한 변경만 되돌리며, 기존 작업이 섞인 저장소에서 일괄 초기화하지 마세요.
npm으로 설치한 CLI만 제거하려면 npm uninstall -g @github/copilot을 사용합니다. 이는 원격 계정의 권한 철회나 파일 복원을 대신하지 않습니다. 자동 승인 기능의 도입 기준은 승인 창이 얼마나 줄었느냐보다 어떤 작업을 어디까지 맡겼고 로그로 확인할 수 있느냐에 두는 것이 안전합니다.