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 세션 추적을(를) 참조하세요.
필요에 따라 에서 사용하는 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/cloud-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 클라우드 에이전트 코드를 더 쉽게 식별할 수 있습니다. -
Copilot 클라우드 에이전트'의 커밋은 서명되었으므로 .에 GitHub"확인됨"으로 표시됩니다. 이것은 Copilot 클라우드 에이전트에 의해 커밋이 이루어졌으며 변경되지 않았음을 확신할 수 있게 해줍니다. - 세션 로그 및 감사 로그 이벤트는 관리자가 사용할 수 있습니다.
- 각 에이전트 작성 커밋에 대한 커밋 메시지에는 코드 검토 및 감사를 위해 에이전트 세션 로그에 대한 링크가 포함되어 있습니다. GitHub Copilot 세션 추적을(를) 참조하세요.