소개
코파일럿 CLI 에는 사용자를 대신하여 액세스하고 수행할 수 있는 작업을 제어하는 몇 가지 구성 옵션이 있습니다.
이 문서에서는 신뢰할 수 있는 디렉터리를 설정하고, 도구에 대한 액세스를 구성하고, 파일 경로 및 URL에 대한 권한을 부여하는 방법을 보여 줍니다.
필수 조건
-
코파일럿 CLI를 설치합니다. [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli)을(를) 참조하세요.
신뢰할 수 있는 디렉터리 설정
신뢰할 수 있는 디렉터리에서는 파일을 읽고 수정하고 실행할 수 있는 위치를 코파일럿 CLI 제어합니다. 디렉터리를 신뢰하는 것은 보안에 영향을 줍니다. 보안 고려 사항을 참조하세요.
디렉터리를 신뢰하도록 선택
GitHub Copilot 명령 줄 인터페이스 (CLI) 세션을 시작할 때, CLI를 실행한 디렉터리와 그 하위에 있는 파일을 신뢰하는지 확인해야 합니다.
다음 중에서 디렉터리를 신뢰할 수 있는 방법을 선택할 수 있습니다.
- 현재 실행 중인 세션에만 적용
- 현재 및 향후 세션 모두에 적용
이후 세션에서도 해당 디렉터리를 신뢰하도록 선택하면 신뢰할 수 있는 디렉터리 프롬프트가 다시 표시되지 않습니다. 이 위치가 항상 안전한 작동 장소가 Copilot 될 것이라고 확신하는 경우에만 이 두 번째 옵션을 선택해야 합니다.
신뢰할 수 있는 디렉터리 편집
영구적으로 신뢰할 수 있는 디렉터리 목록을 편집할 수 있습니다.
-
CLI의
config.json파일을 엽니다. 기본적으로 홈 디렉터리 아래의 폴더에.copilot저장됩니다.-
**macOS/Linux**: `~/.copilot/config.json` -
**Windows**: `$HOME\.copilot\config.json`
-
환경 변수를 설정 COPILOT_HOME 하여 구성 위치를 변경할 수 있습니다.
- 배열의
trusted_folders내용을 편집합니다.
허용되는 도구 설정
도구를 코파일럿 CLI 사용하려고 할 때 Copilot 승인 프롬프트에 응답하거나 명령줄 플래그를 통해 사용 권한을 지정하여 사용할 수 있는 도구를 제어할 수 있습니다.
도구 액세스를 허용하는 것은 보안에 영향을 줍니다. 보안 고려 사항을 참조하세요.
이 섹션에서는 다음 방법을 알아볼 수 있습니다.
-
[도구를 처음으로 사용 허가](#allowing-a-tool-for-the-first-time) -
[수동 승인 없이 도구를 사용할 수 있도록 허용](#allowing-tools-to-be-used-without-manual-approval) -
[허용하거나 거부할 도구를 지정합니다.](#specifying-which-tool-you-want-to-allow-or-deny) -
[다른 도구를 거부하는 동안 일부 도구 허용](#allowing-some-tools-while-denying-others) -
[사용 가능한 도구 제한](#limiting-available-tools)
처음으로 도구 허용
처음으로 Copilot와 같은 승인이 필요할 수 있는 도구를 사용해야 할 때, 예를 들어 예: touch, chmod, node, sed를 실행할 수 있도록 허용할 것인지 묻는 메시지가 표시됩니다. 메시지가 표시되는지 여부는 도구 및 도구 사용 방법(예: 제공된 인수 또는 도구가 이전에 승인되었는지 여부)에 따라 달라질 수 있습니다.
-
Copilot 도구가 필요한 작업을 수행하도록 프롬프트합니다. 다음은 그 예입니다.copilot -p "Create a new file called README.md with a project description" -
다음 세 가지 옵션 중 하나를 선택합니다.
-
1. Yes이 특정 명령을 실행할 수 있도록 Copilot 허용하려면 이 옵션을 선택합니다. 이번에는 이 명령만 실행합니다. 다음에 이 도구를 사용해야 할 때 다시 묻게 됩니다.
-
2. Yes, and approve TOOL for the rest of the running session현재 실행 중인 세션의 기간 동안 이 도구를 사용할 수 있도록 Copilot 하려면 이 옵션을 선택합니다. 새로운 세션에서 또는 나중에 현재 세션을 다시 시작할 경우에는 다시 승인을 요청합니다. 이 옵션을 선택하면 Copilot가 적절하다고 생각하는 방식으로 이 도구를 사용할 수 있도록 허용하게 됩니다.
예를 들어 Copilot 명령을
rm ./this-file.txt실행할 수 있도록 허용하라는 메시지가 표시되고 옵션 2 Copilot 를 선택하면 승인을 요청하지 않고 이 세션의 현재 실행 중에 명령rm(예rm -rf ./*: )을 실행할 수 있습니다. -
3. No, and tell Copilot what to do differently (Esc)제안된 명령을 취소하고 다른 방법을 시도하도록 지시 Copilot 하려면 이 옵션을 선택합니다.
-
수동 승인 없이 도구를 사용할 수 있도록 허용
명령줄 플래그를 사용하여 승인을 요청하지 않고 사용할 수 있는 Copilot 도구를 지정할 수 있습니다.
모든 도구 허용
`--allow-all-tools`을 사용하여 Copilot가 승인을 요청하지 않고 모든 도구를 사용할 수 있도록 허용합니다.
-
다음은 그 예입니다.
copilot -p "Revert the last commit" --allow-all-tools
도구 거부
`--deny-tool`를 사용하여 Copilot가 특정 도구를 사용하지 못하도록 방지합니다.
-
다음은 그 예입니다.
copilot --deny-tool='shell(git push)'
이 옵션은 --allow-all-tools 및 --allow-tool 옵션보다 우선 적용됩니다.
도구 허용
Copilot가 특정 도구를 승인 요청 없이 사용할 수 있도록 허용하기 위해 `--allow-tool`를 사용합니다.
-
다음은 그 예입니다.
copilot --allow-tool='shell'
허용하거나 거부할 도구 지정
및 --deny-tool 옵션을 사용 --allow-tool 하려면 허용하거나 거부할 도구 유형을 지정해야 합니다.
-
[셸 명령](#allowing-or-denying-shell-commands) -
['쓰기' 도구](#allowing-or-denying-write-tools) -
[MCP 서버 도구](#allowing-or-denying-mcp-server-tools)
셸 명령 허용 또는 거부
특정 셸 명령을 허용하거나 거부하는 데 사용합니다 shell(COMMAND) .
-
예를 들어, Copilot가 어떤
rm명령도 사용하지 않도록 하려면 다음을 사용하십시오.copilot --deny-tool='shell(rm)'`git` 및 `gh` 명령에 대해 허용하거나 거부할 특정한 첫 번째 수준 하위 명령을 지정하십시오. -
예를 들어, Copilot가
git push을/를 사용하지 않도록 하려면 다음을 사용하십시오.copilot --deny-tool='shell(git push)'
도구 사양은 선택 사항입니다. 예를 들어 copilot --allow-tool='shell'은 Copilot이 개별 승인 없이 모든 셸 명령을 사용할 수 있게 합니다.
도구 허용 또는 거부 'write'
셸 명령 이외의 도구를 허용하거나 거부하여 파일을 수정할 수 있는 권한을 사용합니다 'write' .
-
예를 들어 개별 승인 없이 파일을 편집할 수 있도록 Copilot 하려면 다음을 사용합니다.
copilot --allow-tool='write'
MCP 서버 도구 허용 또는 거부
지정된 MCP 서버에서 특정 도구를 허용하거나 거부하는 데 사용합니다 'MCP_SERVER_NAME' .
-
예를 들어, Copilot가 MCP 서버인
My-MCP-Server에서 도구tool_name를 사용하지 않도록 하려면 다음을 사용합니다.copilot --deny-tool='My-MCP-Server(tool_name)'`MCP_SERVER_NAME` 은 구성한 MCP 서버의 이름입니다.
서버에서 제공하는 도구는 MCP 서버에 등록된 도구 이름을 사용하여 괄호로 지정됩니다.
도구를 지정하지 않고 서버 이름을 사용하면 해당 서버의 모든 도구를 허용하거나 거부할 수 있습니다.
대화형 모드 /mcp 로 들어가 코파일럿 CLI 서 표시되는 목록에서 서버를 선택하여 MCP 서버의 이름을 찾을 수 있습니다.
일부 도구를 허용하고 다른 도구를 거부하기
승인을 요청하지 않고 사용할 수 있는 도구를 Copilot 정확하게 확인하려면 승인 옵션 조합을 사용할 수 있습니다. 다음은 그 예입니다.
-
Copilot가 `rm` 및 `git push` 명령을 사용하지 못하도록 하고, 다른 모든 도구를 자동으로 허용하려면 다음을 사용합니다.copilot --allow-all-tools --deny-tool='shell(rm)' --deny-tool='shell(git push)' -
MCP Copilot서버에서 도구를
tool_name사용하지 못하도록 하지만My-MCP-Server해당 서버의 다른 모든 도구를 개별 승인 없이 사용할 수 있도록 하려면 다음을 사용합니다.copilot --allow-tool='My-MCP-Server' --deny-tool='My-MCP-Server(tool_name)'
사용 가능한 도구 제한
특정 도구 집합으로 Copilot를 제한하려면 --available-tools를 사용합니다.
이 목록에 포함되지 않은 도구는 Copilot 사용자가 사용할 수 없습니다.
경로 권한 설정
경로 권한은 액세스할 수 있는 디렉터리 및 파일을 Copilot 제어합니다.
기본적으로 코파일럿 CLI 현재 작업 디렉터리, 해당 하위 디렉터리 및 시스템 임시 디렉터리에 액세스할 수 있습니다.
경로 권한은 셸 명령, 파일 작업(만들기, 편집, 보기) 및 검색 도구(예: grep glob 패턴)에 적용됩니다. 셸 명령의 경우 경로는 명령 텍스트를 토큰화하고 경로처럼 보이는 토큰을 식별하여 추론적으로 추출됩니다.
경고
셸 명령에 대한 경로 검색에는 다음과 같은 제한 사항이 있습니다.
- 복잡한 셸 구문에 포함된 경로는 검색되지 않을 수 있습니다.
- 특정 환경 변수 집합만 확장됩니다(
HOME,TMPDIR,PWD및 유사). 같은$MY_PROJECT_DIR사용자 지정 변수는 확장되지 않으며 올바르게 유효성을 검사하지 못할 수 있습니다. - 기존 파일에 대해서는 심링크가 해결되지만, 생성되는 파일에 대해서는 해결되지 않습니다.
모든 경로에 대한 액세스 허용
경로 확인을 비활성화하고 모든 경로에 대한 액세스를 허용하려면 코파일럿 CLI을 시작할 때 --allow-all-paths 플래그를 사용합니다.
임시 디렉터리에 대한 액세스 허용 불허
임시 디렉터리에 대한 액세스를 허용하지 않도록 하려면 .를 사용합니다 --disallow-temp-dir.
URL 권한 설정
URL 권한은 Copilot이(가) 액세스할 수 있는 외부 URL을 제어합니다. 기본적으로 모든 URL은 액세스 권한을 부여하기 전에 승인이 필요합니다.
URL 권한은 도구 및 네트워크에 액세스하는 web_fetch 큐레이팅된 셸 명령 목록(예: curl, wget및 fetch)에 적용됩니다. 셸 명령의 경우 URL은 regex 패턴을 사용하여 추출됩니다.
경고
셸 명령에 대한 URL 검색에는 다음과 같은 제한 사항이 있습니다.
- 파일 콘텐츠, 구성 파일 또는 명령에서 읽은 환경 변수의 URL은 검색되지 않습니다.
- 난독화된 URL(예: 분할 문자열 또는 이스케이프 시퀀스)은 감지되지 않을 수 있습니다.
- HTTP 및 HTTPS는 서로 다른 프로토콜로 처리되며 별도의 승인이 필요합니다.
URL 사용 권한은 세션에 대해 또는 영구적으로 유지할 수 있습니다.
URL 확인 사용 안 않음
URL 확인을 사용하지 않도록 설정하려면 플래그를 --allow-all-urls 사용합니다.
특정 도메인 사전 승인
특정 도메인을 미리 승인하려면 .를 사용합니다 --allow-url=DOMAIN.
- 예:
--allow-url=github.com.
특정 도메인 거부
특정 도메인을 거부하려면 .를 사용합니다 --deny-url=DOMAIN.
- 예:
--deny-url=github.com.
모든 도구, 경로 및 URL 허용
모든 도구, 경로 및 URL을 허용하려면 --allow-all 또는 해당 별칭 --yolo을 사용합니다.
이 플래그는 다음을 결합합니다.
*
--allow-all-tools (도구 승인 건너뛰기).
*
--allow-all-paths (경로 확인을 사용하지 않도록 설정).
*
--allow-all-urls (URL 확인을 사용하지 않도록 설정).
팁
대화형 세션 중에는 /allow-all 또는 /yolo 슬래시 명령을 사용하여 모든 권한을 활성화할 수도 있습니다.
추가 읽기
-
[AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot) -
[AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-config-dir-reference)