Skip to main content

GitHub Advisory Database 정보

GitHub Advisory Database에는 알려진 보안 취약성 및 맬웨어(GitHub에서 검토한 권고, 검토되지 않은 권고, 맬웨어 권고와 같은 세 가지 범주로 그룹화됨) 목록이 포함됩니다.

GitHub Advisory Database 정보

다음 원본에서 GitHub Advisory Database에 권고를 추가합니다.

다른 데이터베이스를 알고 있는 경우 권고를 https://github.com/github/advisory-database에서 가져와야 합니다.

보안 공지는 OSV(오픈 소스 취약성) 형식의 JSON 파일로 게시됩니다. OSV 형식에 대한 자세한 내용은 "오픈 소스 취약성 형식"을 참조하세요.

보안 권고 유형 정보

GitHub Advisory Database의 각 권고는 오픈 소스 프로젝트의 취약성 또는 악의적인 오픈 소스 소프트웨어에 대한 것입니다.

취약성은 프로젝트 또는 해당 코드를 사용하는 기타 프로젝트의 기밀성, 무결성 또는 가용성을 손상시키기 위해 악용할 수 있는 프로젝트 코드의 문제입니다. 취약성은 공격 유형, 심각도 및 방법에 따라 다릅니다. 코드의 취약성은 일반적으로 우연히 발생하며 발견된 직후에 수정됩니다. 사용 가능한 즉시 수정된 버전의 종속성을 사용하도록 코드를 업데이트해야 합니다.

반면, 악성 소프트웨어 또는 맬웨어는 원치 않는 또는 유해한 기능을 수행하도록 의도적으로 설계된 코드입니다. 맬웨어는 맬웨어를 사용하는 애플리케이션의 하드웨어, 소프트웨어, 기밀 데이터 또는 사용자를 대상으로 할 수 있습니다. 프로젝트에서 맬웨어를 제거하고 종속성에 대한 보다 안전한 대체 방법을 찾아야 합니다.

GitHub에서 검토한 권고

GitHub에서 검토한 권고는 지원하는 에코시스템의 패키지에 매핑된 보안 취약성입니다. 당사는 각 권고의 유효성을 신중하게 검토하며 각각 전체 설명을 제공하고 에코시스템 및 패키지 정보가 모두 포함되도록 하고 있습니다.

일반적으로 지원되는 에코시스템은 소프트웨어 프로그래밍 언어의 연결된 패키지 레지스트리를 따라 명명됩니다. 지원되는 레지스트리에서 제공되는 패키지의 취약성에 대한 권고인 경우 당사에서 검토합니다.

지원해야 하는 새로운 에코시스템에 대한 제안이 있는 경우 토론을 위해 이슈를 개설해 주세요.

리포지토리에 Dependabot alerts을(를) 사용하도록 설정하면 GitHub에서 검토한 새 권고가 종속된 패키지의 취약성을 보고할 때 자동으로 알림을 받습니다. 자세한 내용은 "Dependabot 경고 정보"을(를) 참조하세요.

검토되지 않은 권고

검토되지 않은 권고는 국가별 취약성 데이터베이스 피드에서 직접 GitHub Advisory Database에 자동으로 게시하는 보안 취약성입니다.

Dependabot은 이 유형의 권고가 유효성 또는 완료 여부를 확인하지 않으므로 검토되지 않은 권고에 대해 Dependabot alerts를 만들지 않습니다.

맬웨어 권고

참고: 맬웨어에 대한 권고는 현재 베타 상태이며 변경될 수 있습니다.

맬웨어 권고는 맬웨어로 인한 취약성과 관련이 있으며, GitHub에서 npm 보안 팀이 제공하는 정보로부터 직접 GitHub Advisory Database에 자동으로 게시하는 보안 권고입니다. 맬웨어 권고는 npm 에코시스템에만 적용됩니다. GitHub에서는 이러한 권고를 편집하거나 해당 권고에 대한 커뮤니티의 기여를 허용하지 않습니다.

대부분의 취약성은 다운스트림 사용자가 해결할 수 없으므로 Dependabot에서는 맬웨어가 감지되면 경고를 생성하지 않습니다. GitHub Advisory Database에서 type:malware를 검색하여 맬웨어 권고를 볼 수 있습니다.

맬웨어 권고는 대부분 대체 공격에 관한 내용입니다. 이러한 유형의 공격 중에 공격자는 악성 버전이 이용되기를 바라며 사용자가 타사 또는 프라이빗 레지스트리에서 의존하는 종속성과 동일한 이름으로 퍼블릭 레지스트리에 패키지를 게시합니다. Dependabot에서는 패키지가 프라이빗 레지스트리에서 생성된 것인지 확인하기 위해 프로젝트 구성을 살펴보지 않으므로 사용하는 버전이 악성 버전인지, 아니면 정상 버전인지 확실하지 않습니다. 종속성의 범위를 적절히 지정한 사용자는 맬웨어의 영향을 받지 않습니다.

보안 권고 내 정보

이 섹션에서는 다음과 같은 GitHub Advisory Database의 보안 공지에 대해 자세히 알아볼 수 있습니다.

  • 공지 ID 및 이러한 식별자에 사용되는 형식.
  • 심각도 수준을 할당하는 데 사용하는 CVSS 수준.

GHSA ID 정보

형식에 관계없이 각 보안 공지에는 GHSA ID라고 하는 고유 식별자가 있습니다. 지원되는 원본에서 새 공지가 GitHub.com에 생성되거나 GitHub Advisory Database에 추가되면 GHSA-ID 한정자가 할당됩니다.

GHSA ID의 구문은 GHSA-xxxx-xxxx-xxxx 형식을 따릅니다. 여기서

  • x23456789cfghjmpqrvwx라는 세트의 문자 또는 숫자입니다.
  • 이름의 GHSA 부분 외부:
    • 숫자와 글자는 임의로 할당됩니다.
    • 모든 글자는 소문자입니다.

정규식을 사용하여 GHSA ID를 확인할 수 있습니다.

Bash
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/

CVSS 수준 정보

각 보안 권고에는 취약성 또는 맬웨어에 대한 정보가 포함되어 있으며, 여기에는 설명, 심각도, 영향을 받는 패키지, 패키지 에코시스템, 영향을 받는 버전 및 패치된 버전, 영향 및 선택적 정보(예: 참조, 해결 방법 및 크레딧)가 포함될 수 있습니다. 또한 국가별 취약성 데이터베이스 목록의 권고에는 취약성, CVSS 점수 및 정성적 심각도 수준에 대한 자세한 내용을 읽을 수 있는 CVE 레코드에 대한 링크가 포함되어 있습니다. 자세한 내용은 NIST(미국 국립표준기술원)의 "국가별 취약성 데이터베이스"를 참조하세요.

심각도 수준은 "CVSS(Common Vulnerability Scoring System), 섹션 5"에 정의된 4가지 가능한 수준 중 하나입니다.

  • 낮음
  • 중간/보통
  • 높음
  • 위험

GitHub Advisory Database는 위에서 설명한 CVSS 수준을 사용합니다. GitHub가 CVE를 가져오는 경우 GitHub Advisory Database는 CVSS 버전 3.1을 사용합니다. CVE를 가져오는 경우 GitHub Advisory Database는 CVSS 버전 3.0 및 3.1을 모두 지원합니다.

GitHub Security Lab에 참가하여 보안 관련 항목을 찾아보고 보안 도구 및 프로젝트에 기여할 수도 있습니다.

추가 참고 자료