일반 비밀 탐지에 대한 Copilot 비밀 스캔과 함께
Copilot 비밀 스캔's 일반 비밀 탐지 는 소스 코드에서 구조화되지 않은 비밀(암호)을 식별한 다음 경고를 생성하는 AI 기반 확장 secret scanning 입니다.
참고
Copilot 비밀 스캔의 일반 비밀 탐지을(를) 사용하는 데에는 GitHub Copilot에 대한 구독이 필요하지 않습니다. Copilot 비밀 스캔 기능은 GitHub Secret Protection 라이선스가 있는 조직 및 엔터프라이즈 소유 리포지토리에서 사용할 수 있습니다.
GitHub Secret Protection 사용자는 소스 코드에 있는 파트너 또는 사용자 지정 패턴을 이미 받을 비밀 검사 경고 수 있지만 구조화되지 않은 비밀은 쉽게 검색할 수 없습니다.
Copilot 비밀 스캔 는 LLM(큰 언어 모델)을 사용하여 이러한 유형의 비밀을 식별합니다.
암호가 검색되면 경고가 "일반" 경고 목록 secret scanning (리포지토리, 조직 또는 엔터프라이즈 탭 아래 Security and quality )에 표시되므로 유지 관리자와 보안 관리자는 경고를 검토하고 필요한 경우 자격 증명을 제거하거나 수정을 구현할 수 있습니다.
GitHub Enterprise Cloud를 사용하는 사용자의 경우 엔터프라이즈 소유자는 먼저 조직의 리포지토리에 대해 일반 비밀 탐지을 활성화하거나 비활성화할지 여부를 제어하는 엔터프라이즈 수준의 정책을 설정해야 합니다. 이 정책은 기본적으로 "허용됨"으로 설정됩니다. 그런 다음 리포지토리 및 조직에 대해 기능을 사용하도록 설정해야 합니다.
입력 처리
입력은 사용자가 리포지토리에서 검사를 완료한 텍스트(일반적으로 코드)로 제한됩니다. 시스템은 해당 텍스트를 LLM에 제공하며, 입력 범위 내에서 암호를 찾도록 요청하는 메타 프롬프트를 함께 전달합니다. 사용자는 LLM과 직접 상호작용하지 않습니다.
시스템은 LLM을 사용해 암호를 검증합니다. 기존 secret scanning 기능에서 이미 수집한 데이터 외에는 시스템에서 추가 데이터가 수집되지 않습니다.
출력 및 표시
LLM은 암호와 같은 문자열을 검색하고, 응답에 포함된 특정 문자열이 실제로 입력 내용에 존재하는지 대조하여 확인합니다.
이러한 검색된 문자열은 경고 페이지에 경고 secret scanning 로 표시되지만 일반 비밀 검사 경고과는 별개인 추가 목록에 표시됩니다. 이 별도의 목록은 결과의 유효성을 확인하기 위해 더욱 면밀한 조사를 통해 심사하려는 의도가 담겨 있습니다. 각 경고는 AI를 통해 검색된 내역을 기록합니다. 일반 비밀에 대한 경고를 보는 방법에 대한 자세한 내용은 비밀 스캔에서 경고 보기 및 필터링을 참조하세요.
의 성능 향상 일반 비밀 탐지
일반 비밀 탐지의 성능을 향상시키려면 오탐 경고를 올바르게 닫는 것이 좋습니다.
경고의 정확성을 확인하고 적절히 닫기
Copilot 비밀 스캔의 일반 비밀 탐지 기능은 파트너 패턴에 대해 기존 secret scanning 기능보다 더 많은 가양성(false positives)을 생성할 수 있으므로, 이러한 경고의 정확성을 검토하는 것이 중요합니다. 경고가 가양성으로 확인된 경우, 반드시 경고를 닫고 UI에서 GitHub 이유를 "가양성"으로 표시해야 합니다.
GitHub 개발 팀은 오탐 수량과 탐지 위치 정보를 사용하여 모델을 개선합니다.
GitHub 는 비밀 리터럴 자체에 액세스할 수 없습니다.
의 제한 사항 일반 비밀 탐지
Copilot 비밀 스캔의 일반 비밀 탐지를 사용할 때 다음과 같은 제한 사항을 고려해야 합니다.
제한된 범위
일반 비밀 검색 현재 git 콘텐츠의 암호 인스턴스만 찾습니다. 이 기능은 다른 유형의 일반 비밀을 찾을 수 없으며 git이 아닌 콘텐츠(예: GitHub Issues.)에서 비밀을 찾을 수 없습니다.
잠재적 가양성 경고
일반 비밀 검색는 기존 secret scanning 기능(파트너 패턴을 감지하며 오탐 비율이 매우 낮음)과 비교할 때 더 많은 오탐 경고를 생성할 수 있습니다. 이러한 과도한 노이즈를 줄이기 위해 해당 경고는 파트너 패턴 경고와 구분하여 별도의 목록으로 관리하며, 보안 및 유지 관리자는 각 경고의 정확성을 개별적으로 검토해야 합니다.
불완전한 보고 가능성
일반 비밀 검색 는 리포지토리에 체크 인된 자격 증명 인스턴스를 놓칠 수 있습니다. LLM은 시간이 지나면서 개선됩니다. 코드의 보안을 보장할 책임은 사용자에게 있습니다.
디자인별 제한 사항
일반 비밀 검색 에는 다음과 같은 제한 사항이 있습니다.
* Copilot 비밀 스캔는 분명히 가짜인 비밀이나 테스트 암호, 혹은 엔트로피가 낮은 암호를 검색하지 않습니다. * Copilot 비밀 스캔 는 푸시당 최대 100개의 암호만 검색합니다.
- 단일 파일 내에서 탐지된 비밀이 5개 이상 오탐으로 표시될 경우, Copilot 비밀 스캔는 해당 파일에 대한 새 경고 생성을 중지합니다.
-
Copilot 비밀 스캔 는 생성된 파일이나 공급업체 파일에서 비밀을 검색하지 않습니다. -
Copilot 비밀 스캔 는 암호화된 파일에서 비밀을 검색하지 않습니다. -
Copilot 비밀 스캔 는 SVG, PNG, JPEG, CSV, TXT, SQL 또는 ITEM 등의 파일 형식에서 비밀을 검색하지 않습니다. -
Copilot 비밀 스캔 는 테스트 코드에서 비밀을 검색하지 않습니다. Copilot 비밀 스캔 두 조건이 모두 충족되면 탐지를 건너뜁니다.- 파일 경로에 "test", "mock", or "spec", AND가 포함된 경우
- 파일 확장명이
.cs,.go,.java,.js,.kt,.php,.py,.rb,.scala,.swift또는.ts인 경우
일반 비밀 탐지의 평가
일반 비밀 검색 는 책임 있는 AI Red Teaming의 적용을 받고 있으며 GitHub , 시간이 지남에 따라 기능의 효능과 안전을 계속 모니터링할 것입니다.
다음 단계
-
[AUTOTITLE](/code-security/secret-scanning/copilot-secret-scanning/enabling-ai-powered-generic-secret-detection) -
[AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning)
추가 읽기
-
[AUTOTITLE](/code-security/secret-scanning/introduction/about-secret-scanning) -
[AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise#enforcing-a-policy-to-manage-the-use-of-generic-secret-detection-for-secret-scanning-in-your-enterprises-repositories)