소개
부조종사 CLI에는 사용자를 대신하여 접근하고 수행할 수 있는 작업을 제어하는 여러 구성 옵션이 있습니다.
이 문서에서는 신뢰할 수 있는 디렉터리를 설정하고, 도구에 대한 액세스를 구성하고, 파일 경로 및 URL에 대한 권한을 부여하는 방법을 보여 줍니다.
필수 조건
- 부조종사 CLI를 설치합니다. GitHub Copilot CLI 설치을(를) 참조하세요.
신뢰할 수 있는 디렉터리 설정
신뢰할 수 있는 디렉터리는 부조종사 CLI가 파일을 읽고 수정하며 실행할 수 있는 위치를 제어합니다. 디렉터리를 신뢰하는 것은 보안에 영향을 줍니다. 보안 고려 사항을 참조하세요.
디렉터리를 신뢰하도록 선택
GitHub Copilot 명령 줄 인터페이스 (CLI) 세션을 시작하면 CLI를 실행한 디렉터리의 파일과 그 하위 디렉터리의 파일을 신뢰하는지 확인하라는 메시지가 표시됩니다.
다음 중에서 디렉터리를 신뢰할 수 있는 방법을 선택할 수 있습니다.
- 현재 실행 중인 세션에만 적용
- 현재 및 향후 세션 모두에 적용
이후 세션에서도 해당 디렉터리를 신뢰하도록 선택하면 신뢰할 수 있는 디렉터리 프롬프트가 다시 표시되지 않습니다. Copilot이 항상 안전하게 작동할 수 있는 환경이라고 확신하는 경우에만 이 두 번째 옵션을 선택해야 합니다.
신뢰할 수 있는 디렉터리 편집
영구적으로 신뢰할 수 있는 디렉터리 목록을 편집할 수 있습니다.
- CLI의
config.json파일을 엽니다. 기본적으로 홈 디렉터리 아래의 폴더에.copilot저장됩니다. * macOS/Linux:~/.copilot/config.json* Windows:$HOME\.copilot\config.json
환경 변수(주로 macOS/Linux)를 설정 XDG_CONFIG_HOME 하여 구성 위치를 변경할 수 있습니다.
- 배열의
trusted_folders내용을 편집합니다.
허용되는 도구 설정
Copilot가 도구를 사용하려고 시도할 때 승인 프롬프트에 응답하거나, 명령줄 플래그로 권한을 지정하여 부조종사 CLI가 사용할 수 있는 도구를 제어할 수 있습니다.
도구 액세스를 허용하는 것은 보안에 영향을 줍니다. 보안 고려 사항을 참조하세요.
이 섹션에서는 다음 방법을 알아볼 수 있습니다.
-
[도구를 처음으로 사용 허가](#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 옵션보다 우선 적용됩니다.
도구 허용
`--allow-tool`을 사용하여 Copilot가 사용자 승인 없이 특정 도구를 사용하도록 허용합니다.
-
다음은 그 예입니다.
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가
tool_nameMCP 서버의My-MCP-Server도구를 사용하지 못하도록 하려면 다음을 사용합니다.copilot --deny-tool 'My-MCP-Server(tool_name)'`MCP_SERVER_NAME` 은 구성한 MCP 서버의 이름입니다.
서버에서 제공하는 도구는 MCP 서버에 등록된 도구 이름을 사용하여 괄호로 지정됩니다.
도구를 지정하지 않고 서버 이름을 사용하면 해당 서버의 모든 도구를 허용하거나 거부할 수 있습니다.
부조종사 CLI의 대화형 모드에서 /mcp를 입력하고 표시되는 목록에서 서버를 선택하면 MCP 서버 이름을 찾을 수 있습니다.
일부 도구를 허용하고 다른 도구를 거부하기
사용자에게 승인을 요청하지 않고 Copilot에서 사용할 수 있는 도구를 명확히 하려면 다양한 승인 옵션을 결합하여 사용할 수 있습니다. 다음은 그 예입니다.
-
Copilot가
rm및git push명령을 사용하지 못하도록 하고, 다른 모든 도구는 자동으로 허용하려면 다음을 사용합니다.copilot --allow-all-tools --deny-tool 'shell(rm)' --deny-tool 'shell(git push)' -
Copilot이
tool_name라는 MCP 서버의 도구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)