프라이빗 취약성 보고를 사용하도록 설정하면 보안 연구원이 리포지토리에서 직접 취약성을 공개할 수 있는 안전하고 구조화된 방법을 제공합니다. 사용하도록 설정되면 연구원은 공개 또는 비공식 채널에 의존하지 않고 리포지토리의 개인 취약성 보고 양식을 통해 보고서를 제출할 수 있습니다. 개인 취약성 보고 및 조정된 공개에 적합한 방법에 대한 배경 정보는 보안 취약성의 조정된 공개을 참조하세요.
이 문서의 지침은 리포지토리 수준의 활성화를 기준으로 합니다. 조직 수준에서 기능을 활성화하는 방법에 대한 자세한 내용은 사용자 정의 보안 구성 생성하기을(를) 참조하세요.
리포지토리에서 비공개 취약성 보고 활성화 또는 비활성화
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

-
사이드바의 "보안 및 품질" 섹션에서 을 클릭합니다 Advanced Security.
-
"Advanced Security"의 "프라이빗 취약성 보고" 오른쪽에서 사용 또는 사용 안 함을 클릭하여 기능을 각각 사용하거나 사용하지 않도록 설정합니다.

프라이빗 취약성 보고를 사용하도록 설정하면 보안 연구원은 리포지토리의 "권고" 페이지에서 취약성 보고 단추를 볼 수 있으며, 이를 통해 개인 보고서를 제출할 수 있습니다.

보안 연구원은 REST API를 사용하여 보안 취약성을 비공개로 보고할 수도 있습니다. API 제출에는 Markdown description이 사용됩니다. 리포지토리 또는 해당 소유자의 .github 리포지토리가 사용자 지정 취약성 보고 양식을 정의하는 경우 API 설명에는 해당 양식의 필수 섹션 및 응답이 포함되어야 합니다. 기본 제공 기본 양식은 API 제출에 적용되지 않습니다.
REST API를 사용하여 리포지토리에 적용되는 사용자 지정 양식을 검색할 수 있습니다. 리포지토리 보안 권고에 대한 REST API 엔드포인트을(를) 참조하세요.
취약성 보고 양식 사용자 지정
기본적으로 프라이빗 취약성 보고 양식은 제보자가 요약, 세부 정보, 개념 증명 및 영향 설명을 제공하도록 요구합니다. 이 구조화된 정보는 유지 관리자가 보고서를 일관되게 평가하고 누락된 세부 정보를 요청할 필요성을 줄이는 데 도움이 됩니다.
양식을 사용자 지정하려면 리포지토리의 VULNERABILITY_REPORT.yml 디렉터리에 .github 또는 VULNERABILITY_REPORT.yaml 파일을 추가합니다. 조직 또는 개인 계정에 대해 해당 계정이 소유한 .github 리포지토리에서 기본 양식을 정의할 수도 있습니다. 개별 리포지토리의 양식이 소유자의 .github 리포지토리 양식보다 우선합니다.
프라이빗 취약성 보고 양식은 문제 양식과 동일한 YAML 구문을 사용합니다. 양식은 dropdown, input, markdown, textarea 및 checkboxes 요소를 지원합니다. 필드를 필수로 표시하고 textarea 및 min_length 요소에 대해 최소 문자 수를 요구하는 데 input 사용할 수 있습니다. 각 요소에 대해 지원되는 키에 대한 자세한 내용은 GitHub 형식 스키마 구문을 참조하세요.
예를 들어 다음 양식에는 100자 이상의 자세한 개념 증명(PoC)이 필요합니다.
name: Private vulnerability report
description: Provide the information maintainers need to assess the report.
body:
- type: textarea
id: summary
attributes:
label: Summary
description: Summarize the vulnerability and its potential severity.
validations:
required: true
- type: textarea
id: proof_of_concept
attributes:
label: Proof of concept
description: Provide complete instructions for reproducing the vulnerability.
validations:
required: true
min_length: 100
- type: textarea
id: impact
attributes:
label: Impact
description: Explain who is affected and how.
validations:
required: true
name: Private vulnerability report
description: Provide the information maintainers need to assess the report.
body:
- type: textarea
id: summary
attributes:
label: Summary
description: Summarize the vulnerability and its potential severity.
validations:
required: true
- type: textarea
id: proof_of_concept
attributes:
label: Proof of concept
description: Provide complete instructions for reproducing the vulnerability.
validations:
required: true
min_length: 100
- type: textarea
id: impact
attributes:
label: Impact
description: Explain who is affected and how.
validations:
required: true
GitHub에서 사용자 지정 양식을 구문 분석하거나 유효성을 검사할 수 없는 경우 보고자에게는 대신 기본 양식이 표시됩니다.
보고자가 CWE를 할당하도록 요구
제보자가 각 새 보고서와 하나 이상의 CWE(공통 약점 열거형)를 연결하도록 요구할 수 있습니다. 이 리포지토리 수준 설정은 웹 인터페이스 및 REST API를 사용하여 제출된 보고서에 적용됩니다. 권고를 만드는 리포지토리 유지 관리자나 기존 보고서를 편집하는 경우에는 적용되지 않습니다.
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

-
사이드바의 "보안 및 품질" 섹션에서 을 클릭합니다 Advanced Security.
-
Advanced Security 아래에서 프라이빗 취약성 보고 오른쪽에 있는 설정을 클릭합니다.
-
제출 요구 사항에서 CWE 할당 필요를 사용 설정하세요.
비공개 취약성 보고에 대한 알림 구성
리포지토리에서 새 취약성이 비공개로 보고되면 GitHub은(는) 리포지토리 관리자 및 보안 관리자에게 다음과 같은 경우 알림을 제공합니다.
- 모든 활동에 대해 리포지토리를 감시하거나 "보안 경고" 알림을 구독합니다.
- 리포지토리에 대해 알림이 활성화되어 있습니다.
알림은 사용자의 알림 기본 설정에 따라 달라집니다. 다음 조건에 해당하면 이메일 알림을 받습니다:
- 모든 활동이 선택되었거나 보안 경고(사용자 지정에서 사용 가능)가 선택된 상태에서 리포지토리를 보고 있습니다.
- 알림 설정의 구독 아래에서 시청 중 전자 메일로 알림을 받도록 선택했습니다.
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 감시를 시작하려면 ‘Watch’ 을 선택합니다.

-
드롭다운 메뉴에서 모든 활동에 대한 알림을 받을 모든 활동을 선택하거나 사용자 지정을 선택한 다음 보안 경고를 선택하여 보안 경고에 대해서만 알림을 받습니다.
-
개인 계정의 알림 설정으로 이동하세요. 이 설정은 https://github.com/settings/notifications에서 사용할 수 있습니다.
-
알림 설정 페이지의 "구독"에서 "시청 중"에서 알림 드롭다운을 클릭합니다.
-
알림 옵션으로 “이메일”을 선택한 다음 저장을 클릭하세요.

알림 기본 설정에 대한 자세한 내용은 리포지토리에 대한 보안 및 분석 설정 관리 및 개별 리포지토리에 대한 보기 설정 구성을 참조하세요.