Copilot 클라우드 에이전트 는 코드에 액세스할 수 있고 리포지토리에 변경 내용을 푸시할 수 있는 자율 에이전트입니다. 이 기능은 특정 위험을 내포하고 있습니다.
가능한 GitHub 경우 적절한 완화를 적용했습니다. 이는 모범 사례 지침에 따라 보완할 수 있는 강력한 기본 제공 보안 보호 기반을 제공합니다 Copilot 클라우드 에이전트 .
검증되지 않은 코드는 취약성을 유발할 수 있습니다.
기본적으로 Copilot 클라우드 에이전트는 생성한 코드에 보안 문제가 없는지 검토하고 Copilot 코드 검토를 통해 코드에 대한 추가적인 검토를 받습니다. 끌어오기 요청을 완료하기 전에 식별된 문제를 해결하려고 시도합니다. 이렇게 하면 코드 품질이 향상되고 Copilot 클라우드 에이전트에서 생성되는 코드가 하드 코딩된 비밀, 안전하지 않은 종속성 및 기타 취약성과 같은 문제를 발생시킬 가능성을 줄입니다.
Copilot 클라우드 에이전트'의 보안 유효성 검사에는 라이선스가 ****GitHub Secret Protection, GitHub Code Security, or GitHub Advanced Security.
* ** CodeQL ** 는 코드 보안 문제를 식별하는 데 사용됩니다.
- 새로 도입된 종속성은 맬웨어 권고, CVSS 등급의 높은 또는 심각한 취약성에 대해 GitHub Advisory Database 을 기준으로 검사됩니다.
-
** Secret scanning ** 는 API 키, 토큰 및 기타 비밀과 같은 중요한 정보를 검색하는 데 사용됩니다. - 수행된 분석 및 Copilot 클라우드 에이전트이(가) 수행한 작업에 대한 세부 정보는 세션 로그에서 검토할 수 있습니다. GitHub 코필로트의 세션 추적을(를) 참조하세요.
필요에 따라 에서 사용하는 Copilot 클라우드 에이전트코드 품질 및 보안 유효성 검사 도구를 하나 이상 사용하지 않도록 설정할 수 있습니다. GitHub Copilot 클라우드 에이전트에 대한 설정 구성을(를) 참조하세요.
Copilot 클라우드 에이전트 는 리포지토리에 코드 변경 내용을 푸시할 수 있습니다.
이 위험을 완화하려면 다음을 수행합니다. GitHub
-
**에이전트를 트리거할 수 있는 사용자를 제한합니다.** 리포지토리에 대한 쓰기 권한이 있는 사용자만 작동하도록 트리거 Copilot 클라우드 에이전트 할 수 있습니다. 쓰기 access 없는 사용자의 주석은 에이전트에 표시되지 않습니다. -
**에이전트가 푸시할 수 있는 브랜치를 제한합니다.** Copilot 클라우드 에이전트는 단일 분기에만 푸시할 수 있는 기능을 가지고 있습니다. 에이전트는 기존 끌어오기 요청에 대해 `@copilot`을 언급할 때 트리거되며, Copilot는 해당 끌어오기 요청의 분기에 대한 쓰기 권한을 갖습니다. 다른 경우에는 새 `copilot/` 분기가 Copilot만들어지고 에이전트는 해당 분기로만 푸시할 수 있습니다. 에이전트는 또한 작업 리포지토리에 대한 브랜치 보호 및 필수 확인 사항의 적용을 받습니다. -
**에이전트의 자격 증명을 제한합니다.** Copilot 클라우드 에이전트 는 간단한 푸시 작업만 수행할 수 있습니다. `git push` 또는 다른 Git 명령을 직접 실행하는 것은 불가능합니다. -
**병합하기 전에 사용자 검토가 필요합니다.** Copilot 클라우드 에이전트가 만든 초안 끌어오기 요청은 사람이 검토하고 병합해야 합니다. Copilot 클라우드 에이전트 에서 끌어오기 요청을 "검토 준비 완료"로 표시할 수 없으며 끌어오기 요청을 승인하거나 병합할 수 없습니다. -
**워크플로 실행을 제한합니다 GitHub Actions .** 기본적으로 워크플로는 '의 코드를 검토하고 리포지토리에 대한 쓰기 권한이 있는 사용자가 Copilot 클라우드 에이전트 단추를 클릭할 때까지 **** 트리거되지 않습니다. 필요에 따라 워크플로가 자동으로 실행되도록 구성할 Copilot 수 있습니다. [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/review-copilot-prs#managing-github-actions-workflow-runs)을(를) 참조하세요. -
**끌어오기 요청을 만들도록 요청한 Copilot 클라우드 에이전트 사용자가 승인할 수 없도록 합니다.** 이렇게 하면 ‘필수 승인’ 규칙과 분기 보호 기능이 예상대로 유지됩니다. [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets)을(를) 참조하세요.
Copilot 클라우드 에이전트 중요한 정보에 액세스할 수 있습니다.
Copilot 클라우드 에이전트 는 코드 및 기타 중요한 정보에 액세스할 수 있으며 실수로 또는 악의적인 사용자 입력으로 인해 누출될 수 있습니다.
이 위험을 GitHub 완화하려면 인터넷에 대한 Copilot 클라우드 에이전트'의 액세스를 제한합니다. GitHub Copilot 클라우드 에이전트에 대한 방화벽 사용자 지정 또는 비활성화을(를) 참조하세요.
AI 프롬프트는 주입에 취약할 수 있습니다.
사용자는 할당된 Copilot 클라우드 에이전트 문제에 숨겨진 메시지를 포함하거나 Copilot 클라우드 에이전트의 한 형태로 남은 메모를 포함할 수 있습니다.
이러한 위험을 완화하려면 사용자 입력을
관리자는 에이전트의 작업을 볼 수 없습니다.
이러한 위험을 Copilot 클라우드 에이전트 완화하기 위해 감사 가능하고 추적할 수 있도록 설계되었습니다.
-
Copilot 클라우드 에이전트의 커밋은 Copilot이 작성하고, 문제를 할당하거나 끌어오기 요청에서 변경을 요청한 개발자는 공동 저자로 표시됩니다. 이렇게 하면 작업을 시작한 사용자와 생성한 Copilot 클라우드 에이전트 코드를 더 쉽게 식별할 수 있습니다. - 세션 로그 및 감사 로그 이벤트는 관리자가 사용할 수 있습니다.
- 각 에이전트 작성 커밋에 대한 커밋 메시지에는 코드 검토 및 감사를 위해 에이전트 세션 로그에 대한 링크가 포함되어 있습니다. GitHub 코필로트의 세션 추적을(를) 참조하세요.
-
Copilot 클라우드 에이전트'의 커밋은 서명되었으므로 .에 GitHub"확인됨"으로 표시됩니다. 이것은 Copilot 클라우드 에이전트에 의해 커밋이 이루어졌으며 변경되지 않았음을 확신할 수 있게 해줍니다.