Skip to main content

Copilot 비밀 검색을 사용한 일반 비밀의 책임 있는 감지

Copilot 비밀 검사이(가) 어떻게 AI를 사용하여 비밀번호와 같은 비정형 비밀을 책임감 있게 스캔하고 경고를 생성하는지 알아보세요.

누가 이 기능을 사용할 수 있나요?

Copilot 비밀 검사은 다음 리포지토리에 사용할 수 있습니다.

  • GitHub Advanced Security를 사용하도록 설정된 GitHub Enterprise Cloud를 사용하는 조직의 퍼블릭, 프라이빗, 내부 리포지토리

Copilot 비밀 검사을(를) 사용한 일반 비밀 검색 정보

Copilot 비밀 검사의 일반 비밀 검색은(는) 소스 코드에서 구조화되지 않은 비밀(암호)을 식별한 다음 경고를 생성하는 secret scanning의 AI 기반 확장입니다.

GitHub Advanced Security 사용자는 소스 코드에서 찾은 파트너 또는 사용자 지정 패턴에 대해 비밀 검사 경고을(를) 이미 받을 수 있지만 구조화되지 않은 비밀은 쉽게 검색할 수 없습니다. Copilot 비밀 검사은(는) LLM(대규모 언어 모델)을 사용하여 이러한 유형의 비밀을 식별합니다.

암호가 검색되면 secret scanning 경고의 "실험" 목록에(리포지토리, 조직 또는 엔터프라이즈의 보안 탭) 경고가 표시되므로 그 결과 유지 관리자 및 보안 관리자는 경고를 검토하고 필요한 경우 자격 증명을 제거하거나 수정을 구현할 수 있습니다.

일반 비밀 검색을(를) 사용하려면 엔터프라이즈 소유자가 엔터프라이즈 수준에서 조직의 리포지토리에 대해 이 기능을 활성화하거나 비활성화할 수 있는지 여부를 제어하는 정책을 먼저 설정해야 합니다. 이 정책은 기본적으로 "허용됨"으로 설정됩니다. 그런 다음 리포지토리 및 조직에 대해 기능을 사용하도록 설정해야 합니다.

입력 처리

입력은 사용자가 리포지토리에 검사를 완료한 텍스트(일반적으로 코드)로 제한됩니다. 시스템은 입력 범위 내에서 암호를 찾도록 LLM에 요청하는 메타 프롬프트와 함께 LLM에 해당 텍스트를 제공합니다. 사용자가 LLM과 직접 상호 작용하지 않습니다.

시스템은 LLM을 사용하여 암호를 검사합니다. 시스템에서 기존 secret scanning 기능에서 이미 수집한 데이터 외에는 추가 데이터가 수집되지 않습니다.

출력 및 표시

LLM은 암호와 유사한 문자열을 검색하고 응답에 포함된 식별된 문자열이 실제로 입력에 존재하는지 확인합니다.

해당 검색된 문자열은 secret scanning 경고 페이지에 경고로 표시되지만 정규 비밀 검사 경고와(과)는 별도의 추가 목록에 표시됩니다. 이 별도의 목록은 결과의 유효성을 확인하기 위해 더 면밀한 조사를 통해 심사하고자 하는 의도입니다. 각 경고는 AI를 사용하여 검색된 것을 기록합니다.

일반 비밀 검색의 성능 개선

일반 비밀 검색의 성능을 개선하려면 가양성 경고를 적절하게 닫는 것이 좋습니다.

경고의 정확도 확인 및 적절하게 닫기

Copilot 비밀 검사의 일반 비밀 검색은(는) 파트너 패턴에 대한 기존 secret scanning 기능보다 더 많은 가양성 발생을 유발할 수 있으므로 이러한 경고의 정확도를 검토하는 것이 중요합니다. 경고가 가양성으로 확인되면 경고를 닫고 GitHub UI에서 이유를 "가양성"으로 표시해야 합니다. GitHub 개발 팀은 가양성 볼륨 및 검색 위치에 대한 정보를 사용하여 모델을 개선합니다. GitHub은(는) 비밀 리터럴 자체에 액세스할 수 없습니다.

일반 비밀 검색의 제한 사항

Copilot 비밀 검사의 일반 비밀 검색을(를) 사용하는 경우 다음 제한 사항을 고려해야 합니다.

제한된 범위

일반 비밀 검색은(는) 현재 git 콘텐츠에서 암호 인스턴스만 찾습니다. 이 기능은 다른 유형의 일반 비밀을 찾을 수 없으며 GitHub Issues와(과) 같이 비 git 콘텐츠에서 비밀을 찾을 수 없습니다.

가양성 경고의 가능성

일반 비밀 검색은(는) 기존 secret scanning 기능(파트너 패턴을 검색하고 가양성 비율이 매우 낮음)과 비교할 때 더 많은 가양성 경고를 생성할 수 있습니다. 이러한 과도한 노이즈를 완화하기 위해 경고는 파트너 패턴 경고와는 별도의 목록으로 그룹화되며, 보안 관리자와 유지 관리자는 각 경고를 심사하여 정확성을 확인해야 합니다.

불완전한 보고 가능성

일반 비밀 검색은(는) 리포지토리에 체크 인된 자격 증명 인스턴스를 놓칠 수 있습니다. LLM은 시간이 지나면서 개선됩니다. 사용자는 코드의 보안을 보장할 책임을 유지합니다.

디자인별 제한 사항

일반 비밀 검색에는 다음과 같은 제한 사항이 있습니다.

  • Copilot 비밀 검사은(는) 명백한 가짜 또는 테스트 암호인 비밀 또는 엔트로피가 낮은 암호를 검색하지 않습니다.
  • Copilot 비밀 검사은(는) 푸시당 최대 100개의 암호만 검색합니다.
  • 단일 파일 내에서 검색된 5개 이상의 비밀이 가양성으로 표시되면 Copilot 비밀 검사은(는) 해당 파일에 대한 새 경고 생성을 중지합니다.
  • Copilot 비밀 검사은(는) 생성되거나 공급된 파일에서 비밀을 검색하지 않습니다.
  • Copilot 비밀 검사은(는) 암호화된 파일에서 비밀을 검색하지 않습니다.
  • Copilot 비밀 검사은(는) SVG, PNG, JPEG, CSV, TXT, SQL 또는 ITEM 파일 형식에서 비밀을 검색하지 않습니다.
  • Copilot 비밀 검사은(는) 테스트 코드에서 비밀을 검색하지 않습니다. Copilot 비밀 검사은(는) 다음에 해당하는 검색 위치를 건너뜁니다.
    • 파일 경로에 "test", "mock" 또는 "spec"이 포함된 경우
    • 파일 확장명이 .cs, .go, .java, .js, .kt, .php, .py, .rb, .scala, .swift 또는 .ts인 경우

일반 비밀 검색의 평가

일반 비밀 검색에는 책임 있는 AI Red Teaming이 적용되며 GitHub은(는) 시간이 지나면서 기능의 효능과 안전을 계속 모니터링합니다.

추가 참고 자료