Copilot for Business의 보안
- Copilot for Business는 Code snippet을 저장하지 않고, default로 제안 즉시 폐기합니다.
- 개인용 라이센스에서는 옵션으로 각자 설정 가능하지만, 기업에서 많은 사용자들의 각자 설정에 맡길 수 없음
- 관리자에 의한 정책 설정 : Public 코드와 150character 가량 유사할 시, 제안을 받지 않도록 설정할 수 있습니다.
-
엔터프라이즈의 코드를 전혀 학습하거나, 저장하지 않습니다.
- GitHub Copilot Trust Center Website
- GitHub Copilot specific terms
Copilot for Business가 수집하는 데이터
- User Engagement Data
- 사용자 IDE 또는 에디터와의 상호작용에 대한 서비스 품질 통계 데이터.
- suggestion들에 대한 허용, 거부 통계
- 일반적인 사용량, 에러
- 서비스 품질: latency, feature engagement등에 대한 메트릭
- 개별 사용자를 특정할 수 있는 정보 ‘없이’ 저장됨
- User Engagement Data는 Copilot서비의 제공과 향상을 위해 GitHub과 Microsoft에 의해서만 사용됩니다.
- Prompts: Copilot for Business에서는 저장하지 않음
- 개발자가 파일 작업 중 잠시 타이핑을 멈추거나, GitHub Copilot pane을 열었을 때 실시간으로 보내지는 문맥적인 정보(contextual information)
- Suggestions: Copilot for Business에서는 저장하지 않음
- Prompt를 수신하고 프로세싱하여, AI모델일 생성한 한 줄 또는 이상의 제안
GitHub Copilot은 항상 완벽한 코드를 제안하지는 않습니다.
- Copilot은 학습한 train set의 public 코드들은 보안 취약한 패턴이나, 버그, 더이상 사용되지 않는 API등을 가지고 있을 수 있습니다.
- 따라서, Copilot이 이러한 학습 데이터를 기반으로 코드를 제안할 때, 이러한 예상치 못한 코드들을 포함할 수 있습니다.
- GitHub은 지속적으로 이러한 부분을 발전시키고자 노력하고 있습니다. : Depenabot, Code Scanning, Secret Scanning
- Dependabot : 오픈소스 의존성 취약점 알람, 자동 보안 패치 기능
- Code Scanning: 코드의 정적 분석 도구 (GitHub Advanced Security 참조)
- Secret Scanning: 토큰, credential등 자동 감지, 알람 (GitHub Advanced Security 참조)
- GitHub.com의 오픈소스 프로젝트들에서는 이러한 보안도구들의 사용이 무료 입니다. 오픈소스 프로젝트들이 무료로 이러한 보안도구를 활용해 빠로게 보안 품질을 높여나가면, GitHub Copilot의 제안도 보안적으로 향상될 수 있습니다.
- GitHub의 Advanced Security 기능, 또는 현재 엔터프라이즈에서 사용되는 각종 보안 분석, 점검 도구들을 사용해, 현재와 같이 지속적인 보안 점검을 계속하는 것이 권장됩니다.
-
Copilot 자체에도 보안 취약한 코드의 제안을 filter할 수 있는 기능이 추가되었습니다.
- hardcoded credentials, SQL injections, path injections.