Skip to main content

Dependabot 경고 보기 및 업데이트

GitHub Enterprise Cloud가 프로젝트에서 안전하지 않은 종속성을 검색하는 경우 리포지토리의 Dependabot 경고 탭에서 세부 정보를 볼 수 있습니다. 그런 다음, 프로젝트를 업데이트하여 경고를 해결하거나 해제할 수 있습니다.

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

Repository administrators, organization owners, and people with write or maintain access to a repository can view and update dependencies, as well as users and teams with explicit access.

리포지토리의 Dependabot alerts 탭에는 열려 있거나 닫혀 있는 모든 Dependabot alerts 및 해당 Dependabot security updates가 나열되어 있습니다. 패키지, 에코시스템 또는 매니페스트별로 경고를 필터링할 수 있습니다. 경고 목록을 정렬할 수 있으며, 특정 경고를 클릭하여 세부 정보를 확인할 수 있습니다. 경고를 하나씩 또는 한 번에 여러 경고를 선택하여 경고를 해제하거나 다시 열 수도 있습니다. 자세한 내용은 "Dependabot 경고 정보"을(를) 참조하세요.

Dependabot alerts 및 종속성 그래프를 사용하는 모든 리포지토리에 대해 자동 보안 업데이트를 사용하도록 설정할 수 있습니다. 자세한 내용은 "Dependabot 보안 업데이트 정보"을(를) 참조하세요.

리포지토리의 취약한 종속성에 대한 업데이트 정보

GitHub Enterprise Cloud은 코드베이스의 기본 브랜치에서 알려진 보안 위험이 있는 종속성을 사용하고 있음을 감지하면 Dependabot alerts를 생성합니다. Dependabot security updates가 사용하도록 설정된 리포지토리의 경우 GitHub Enterprise Cloud이 기본 분기에서 취약한 종속성을 감지하면 Dependabot에서 이를 해결하기 위한 끌어오기 요청을 만듭니다. 끌어오기 요청은 취약성을 방지하는 데 필요한 최소한의 보안 버전으로 종속성을 업그레이드합니다.

Dependabot에서는 맬웨어에 대해 Dependabot alerts을(를) 생성하지 않습니다. 자세한 내용은 "GitHub Advisory Database 정보" 항목을 참조하세요.

각 Dependabot 경고에는 고유한 숫자 식별자가 있으며, Dependabot alerts 탭에는 검색된 모든 취약성에 대한 경고가 나열됩니다. 레거시 Dependabot alerts는 취약성을 종속성별로 그룹화하고 단일 경고를 종속성별로 생성했습니다. 레거시 Dependabot 경고로 이동하면 해당 패키지에 대해 필터링된 Dependabot alerts 탭으로 리디렉션됩니다.

사용자 인터페이스에서 사용할 수 있는 다양한 필터 및 정렬 옵션을 사용하여 Dependabot alerts를 필터링 및 정렬할 수 있습니다. 자세한 내용은 아래에서 “Dependabot alerts 우선 순위 지정”을 참조하세요.

또한 Dependabot 경고에 대한 응답으로 수행된 작업을 감사할 수 있습니다. 자세한 내용은 "보안 경고 감사"을(를) 참조하세요.

Dependabot alerts 우선 순위 지정

GitHub를 사용하면 Dependabot alerts를 수정하는 데 우선 순위를 지정할 수 있습니다. 기본적으로 Dependabot alerts는 중요도별로 정렬됩니다. “가장 중요한” 정렬 순서는 우선 순위에 집중할 Dependabot alerts의 우선 순위를 지정하는 데 도움이 됩니다. 경고는 잠재적 영향, 실행 가능성, 관련성에 따라 순위가 매겨집니다. 우선 순위 계산은 지속적으로 개선되고 있으며 CVSS 점수, 종속성 범위, 경고에 대한 취약한 함수 호출을 찾을 수 있는지 여부와 같은 요소를 포함합니다.

또한 Dependabot 자동 심사 규칙을(를) 사용하여 Dependabot alerts}의 우선 순위를 지정할 수도 있습니다. 자세한 내용은 "Dependabot 자동 심사 규칙 정보"을(를) 참조하세요.

필터를 검색 창에 key:value 쌍으로 입력하여 Dependabot alerts를 정렬하고 필터링할 수 있습니다.

옵션설명예시
ecosystem선택한 에코시스템에 대한 경고 표시ecosystem:npm을 사용하여 npm에 대해 Dependabot alerts 표시
has선택한 필터 조건을 충족하는 경고를 표시합니다.has:patch를 사용하여 패치가 있는 권고와 관련된 경고 표시
has:vulnerable-calls를 사용하여 취약한 함수에 대한 호출과 관련된 경고 표시
is상태에 따라 경고 표시is:open을 사용하여 미해결 경고 표시
manifest선택한 매니페스트에 대한 경고 표시manifest:webwolf/pom.xml을 사용하여 webwolf 애플리케이션의 pom.xml 파일에 경고 표시
package선택한 패키지에 대한 경고 표시package:django를 사용하여 django에 대한 경고 표시
resolution선택한 해결 상태의 경고 표시resolution:no-bandwidth를 사용하여 리소스 부족으로 인해 이전에 대기된 경고 또는 수정 시간 표시
repo관련된 리포지토리에 따라 경고 표시
이 필터는 보안 개요에서만 사용할 수 있습니다. 자세한 내용은 “보안 개요”을 참조하세요
repo:octocat-repo를 사용하여 리포지토리에서 호출한 octocat-repo에 경고 표시
scope관련 종속성의 범위에 따라 경고 표시scope:development를 사용하여 개발 중에만 사용되는 종속성에 대한 경고 표시
severity심각도 수준에 따라 경고 표시severity:high를 사용하여 심각도가 높은 경고 표시
sort선택한 정렬 순서에 따라 경고 표시경고에 대한 기본 정렬 옵션은 중요도에 따라 경고의 순위를 지정하는 sort:most-important
sort:newest를 사용하여 Dependabot에서 보고하는 최신 경고 표시

검색 창을 통해 사용할 수 있는 필터 외에도 경고 목록 맨 위에 있는 드롭다운 메뉴를 사용하여 Dependabot alerts를 정렬하고 필터링할 수 있습니다. 또는 레이블로 필터링하려면 경고에 할당된 레이블을 클릭하여 해당 필터를 경고 목록에 자동으로 적용합니다.

또한 검색 창을 사용하면 경고 및 관련 보안 권고를 전체 텍스트로 검색할 수 있습니다. 보안 권고 이름 또는 설명의 일부를 검색하여 해당 보안 권고와 관련된 리포지토리의 경고를 반환할 수 있습니다. 예를 들어 yaml.load() API could execute arbitrary code를 검색하면 검색 문자열이 권고 설명에 표시될 때 “PyYAML에서 임의 코드 실행으로 이어지는 YAML 문자열을 안전하지 않게 역직렬화”에 연결된 Dependabot alerts가 반환됩니다.

Dependabot alerts 탭의 필터 및 정렬 메뉴에 대한 스크린샷

종속성 범위에 대해 지원되는 에코시스템 및 매니페스트

아래 표에서는 다양한 에코시스템 및 매니페스트에 대해 종속성 범위가 지원되는지, 즉 Dependabot이 개발 또는 프로덕션에 종속성이 사용되는지 확인할 수 있는지 여부를 요약합니다.

언어에코시스템매니페스트 파일지원되는 종속성 범위
Dartpubpubspec.yaml
Dartpubpubspec.lock
GoGo 모듈go.mod아니요, 기본값은 런타임입니다.
JavaMavenpom.xml test는 개발에 매핑되고, 다른 범위는 기본적으로 런타임으로 설정됩니다.
JavaScriptnpmpackage.json
JavaScriptnpmpackage-lock.json
JavaScriptnpmpnpm-lock.yaml
JavaScriptyarn v1yarn.lock아니요, 기본값은 런타임입니다.
PHP작성기composer.json
PHP작성기composer.lock
PythonPoetrypoetry.lock
PythonPoetrypyproject.toml
Pythonpiprequirements.txt 파일 이름에 test 또는 dev가 포함되어 있으면 범위는 개발이고, 그렇지 않으면 런타임입니다.
Pythonpippipfile.lock
Pythonpippipfile
RubyRubyGemsGemfile
RubyRubyGemsGemfile.lock아니요, 기본값은 런타임입니다.
RustCargoCargo.toml
RustCargoCargo.lock아니요, 기본값은 런타임입니다.
YAMLGitHub Actions-아니요, 기본값은 런타임입니다.
.NET(C#, F#, VB 등)NuGet.csproj / .vbproj .vcxproj / .fsproj아니요, 기본값은 런타임입니다.
.NETNuGetpackages.config아니요, 기본값은 런타임입니다.
.NETNuGet.nuspec tag != runtime인 경우

개발 종속성으로 나열된 패키지에 대한 경고는 Dependabot alerts 페이지에 Development 레이블로 표시되며 scope 필터를 통해 필터링할 수도 있습니다.

경고 목록에서 경고에 할당된 "개발" 레이블을 보여주는 스크린샷. 레이블이 진한 주황색 윤곽선으로 강조 표시되어 있습니다.

개발 범위 패키지에 대한 경고의 경고 세부 정보 페이지에는 Development 레이블이 포함된 “태그” 섹션이 표시됩니다.

경고 세부 정보 페이지의 “태그” 섹션을 보여 주는 스크린샷 레이블이 진한 주황색 윤곽선으로 강조 표시되어 있습니다.

취약한 함수에 대한 호출 검색 정보

참고:

  • Dependabot을 통해 취약한 함수 호출을 검색하는 기능은 공개 미리 보기 버전이며 변경될 수 있습니다.
  • 취약한 호출 검색은 퍼블릭 리포지토리의 GitHub Enterprise Cloud에 포함됩니다. 조직이 소유한 프라이빗 리포지토리에서 취약 셀을 감지하려면 조직에 GitHub Advanced Security에 대한 라이선스가 있어야 합니다. 자세한 내용은 "GitHub Advanced Security 정보"을(를) 참조하세요.

Dependabot에서 리포지토리가 취약한 종속성을 사용한다고 알려주면 취약한 함수 및 이를 사용하는지 여부를 확인해야 합니다. 이 정보가 있으면 종속성의 보안 버전으로 업그레이드해야 하는 긴급도를 결정할 수 있습니다.

지원되는 언어의 경우 Dependabot에서 취약한 함수를 사용하는지 여부를 자동으로 검색하고 영향을 받는 경고에 "취약한 호출"이라는 레이블을 추가합니다. Dependabot alerts 보기에서 이 정보를 사용하여 수정 작업을 더 효과적으로 심사하고 우선 순위를 지정할 수 있습니다.

참고: 공개 미리 보기 릴리스 동안 이 기능은 2022년 4월 14일 _이후_에 만든 새 Python 권고 및 이전 Python 권고의 하위 집합에만 사용할 수 있습니다. GitHub은 롤링 기준으로 추가된 추가 이전 Python 권고에서 데이터를 백필하기 위해 노력하고 있습니다. 취약한 호출은 Dependabot alerts 페이지에서만 강조 표시됩니다.

"취약한 호출" 레이블이 있는 경고를 보여 주는 스크린샷 레이블이 주황색 윤곽선으로 표시됩니다.

Dependabot에서 검색 필드의 has:vulnerable-calls 필터를 사용하여 취약한 함수에 대한 하나 이상의 호출을 감지한 경고만 표시하도록 보기를 필터링할 수 있습니다.

취약한 호출이 감지된 경고의 경우 경고 세부 정보 페이지에 다음과 같은 추가 정보가 표시됩니다.

  • 함수가 사용되는 위치를 보여 주는 하나 이상의 코드 블록
  • 함수가 호출되는 줄에 대한 링크와 함께 함수 자체를 나열하는 주석

Dependabot 경고가 표시된 스크린샷에 "취약한 호출" 레이블이 표시됩니다. "취약한 함수 호출됨”을 보여주는 코드 블록과 "영향을 받는 모든 저장소 보기”라는 제목의 링크가 짙은 주황색 윤곽선으로 강조 표시됩니다.

자세한 내용은 아래의 “경고 검토 및 수정”을 참조하세요.

Dependabot alerts 보기

리포지토리의 Dependabot alerts 탭에서 열려 있거나 닫혀 있는 모든 Dependabot alerts 및 해당 Dependabot security updates을(를) 볼 수 있습니다. 드롭다운 메뉴에서 필터를 선택하여 Dependabot alerts을 정렬하고 필터링할 수 있습니다.

조직에서 소유한 리포지토리의 전체 또는 하위 집합에 대한 경고 요약을 보려면 보안 개요를 사용하세요. 자세한 내용은 "보안 개요" 항목을 참조하세요.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 보안을 클릭합니다. "보안" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 보안을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "보안" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. 보안 개요의 "취약성 경고" 사이드바에서 Dependabot 을(를) 클릭합니다. 이 옵션을 누락하면 보안 경고에 액세스할 수 없으며 액세스 권한이 부여되어야 합니다. 자세한 내용은 "리포지토리에 대한 보안 및 분석 설정 관리"을 참조하세요.

    "Dependabot" 탭이 진한 주황색 윤곽선으로 강조 표시된 보안 개요의 스크린샷.

  4. 필요에 따라 경고를 필터링하려면 드롭다운 메뉴에서 필터를 선택한 다음, 적용하려는 필터를 클릭합니다. 검색 창에서 필터를 입력할 수도 있습니다. 또는 레이블로 필터링하려면 경고에 할당된 레이블을 클릭하여 해당 필터를 경고 목록에 자동으로 적용합니다. 경고 필터링 및 정렬에 대한 자세한 내용은 “Dependabot alerts 우선 순위 지정”을 참조하세요.

    Dependabot alerts 탭의 필터 및 정렬 메뉴에 대한 스크린샷

  5. 보려는 경고를 클릭합니다.

  6. 또는 관련 보안 권고 사항에 대한 개선 사항을 제안하려면 경고 세부 정보 페이지의 오른쪽에서 GitHub Advisory Database에 대한 이 권고 사항에 대한 개선 사항 제안을 클릭하세요. 자세한 내용은 "GitHub Advisory Database에서 보안 권고 편집"을(를) 참조하세요.

    Dependabot 경고의 오른쪽 사이드바 스크린샷입니다. "GitHub Advisory Database에 대한 이 조언에 대한 개선 사항 제안"이라는 제목의 링크가 주황색 개요로 강조 표시됩니다.

경고 검토 및 수정

모든 종속성에서 보안 약점을 제거해야 합니다. Dependabot에서 종속성의 취약성을 검색하는 경우 프로젝트의 노출 수준을 평가하고 애플리케이션을 보호하기 위해 수행할 수정 단계를 결정해야 합니다.

종속성의 패치된 버전을 사용할 수 있는 경우 Dependabot 경고에서 이 종속성을 직접 업데이트하는 Dependabot 끌어오기 요청을 생성할 수 있습니다. Dependabot security updates을(를) 사용하도록 설정한 경우 끌어오기 요청이 Dependabot 알림에 연결될 수 있습니다.

패치된 버전을 사용할 수 없거나 보안 버전으로 업데이트할 수 없는 경우 Dependabot에서 다음 단계를 결정하는 데 도움이 되는 추가 정보를 공유합니다. Dependabot 경고를 보기 위해 클릭하면 영향을 받는 함수를 포함하여 종속성에 대한 보안 권고의 전체 세부 정보를 볼 수 있습니다. 그러면 코드에서 영향을 받는 함수를 호출하는지 여부를 확인할 수 있습니다. 이 정보는 위험 수준을 추가로 평가하고, 해결 방법을 결정하거나 보안 권고에서 나타내는 위험을 허용할 수 있는지 여부를 결정하는 데 도움이 될 수 있습니다.

지원되는 언어의 경우 Dependabot에서 취약한 함수에 대한 호출을 검색합니다. "취약한 호출"로 레이블이 지정된 경고를 보는 경우 세부 정보에는 함수 이름 및 해당 함수를 호출하는 코드에 대한 링크가 포함되어 있습니다. 더 자세히 살펴보지 않고도 이 정보를 기반으로 하여 결정할 수 있는 경우가 많습니다.

GitHub Copilot Enterprise 라이선스를 사용하면 조직의 리포지토리에서 Dependabot alerts 경고를 더 잘 이해할 수 있도록 GitHub Copilot Chat에게 도움을 요청할 수도 있습니다. 자세한 내용은 "Asking GitHub Copilot questions in GitHub"을(를) 참조하세요.

취약한 종속성 수정

  1. 경고에 대한 세부 정보를 봅니다. 자세한 내용은 “Dependabot alerts 보기”(위 항목)를 참조하세요.

  2. Dependabot security updates가 사용하도록 설정된 경우 종속성을 수정하는 끌어오기 요청에 대한 링크가 있을 수 있습니다. 또는 경고 세부 정보 페이지의 위쪽에서 Dependabot 보안 업데이트 만들기를 클릭하여 끌어오기 요청을 만들 수 있습니다.

    "Dependabot 보안 업데이트 만들기" 버튼이 짙은 주황색 윤곽선으로 강조 표시된 Dependabot 경고의 스크린샷.

  3. 필요에 따라 Dependabot security updates를 사용하지 않는 경우 페이지의 정보를 사용하여 업그레이드할 종속성 버전을 결정하고 해당 종속성을 보안 버전으로 업데이트하는 끌어오기 요청을 만들 수 있습니다.

  4. 종속성을 업데이트하고 취약성을 해결할 준비가 되면 끌어오기 요청을 병합합니다.

    Dependabot에서 실행하는 각 끌어오기 요청에는 Dependabot을 제어하는 데 사용할 수 있는 명령에 대한 정보가 포함되어 있습니다. 자세한 내용은 "종속성 업데이트에 대한 끌어오기 요청 관리"을(를) 참조하세요.

Dependabot alerts 해제

팁: 열려 있는 경고만 해제할 수 있습니다.

종속성을 업그레이드하기 위해 광범위한 작업을 예약하거나 경고를 수정할 필요가 없다고 결정한 경우 경고를 해제할 수 있습니다. 이미 평가한 경고를 해제하면 새 경고가 표시될 때 더 쉽게 심사할 수 있습니다.

  1. 경고에 대한 세부 정보를 봅니다. 자세한 내용은 "취약한 종속성 보기"(위)를 참조하세요.

  2. “해제” 드롭다운을 선택하고 경고를 해제하는 이유를 클릭합니다. 수정되지 않은 해제된 경고는 나중에 다시 열 수 있습니다.

  3. 필요에 따라 해제 설명을 추가합니다. 해제 설명은 경고 타임라인에 추가되며 감사 및 보고 중에 근거로 사용할 수 있습니다. GraphQL API를 사용하여 설명을 검색하거나 설정할 수 있습니다. 설명은 dismissComment 필드에 포함됩니다. 자세한 내용은 GraphQL API 설명서의 "개체"을(를) 참조하세요.

    Dependabot 알림 페이지의 스크린샷으로, "해제" 드롭다운과 짙은 주황색 윤곽선으로 강조 표시된 해고 설명 추가 옵션이 표시됩니다.

  4. 경고 해제를 클릭합니다.

여러 경고를 한꺼번에 해제

  1. 열려 있는 Dependabot alerts를 봅니다. 자세한 내용은 "Dependabot 경고 보기 및 업데이트" 항목을 참조하세요.
  2. 필요에 따라 드롭다운 메뉴를 선택한 다음, 적용하려는 필터를 클릭하여 경고 목록을 필터링합니다. 검색 창에서 필터를 입력할 수도 있습니다.
  3. 각 경고 타이틀의 왼쪽에서 해제할 경고를 선택합니다.
    Dependabot alerts 보기의 스크린샷입니다. 두 개의 경고가 선택되고 해당 확인란이 주황색 윤곽선으로 강조 표시됩니다.
  4. 필요에 따라 경고 목록의 맨 위에서 페이지의 모든 경고를 선택합니다.
    Dependabot alerts 보기의 헤더 섹션 스크린샷입니다. "모두 선택” 확인란이 짙은 주황색 윤곽선으로 강조 표시됩니다.
  5. “경고 해제” 드롭다운을 선택하고 경고를 해제하는 이유를 클릭합니다.
    경고 목록 스크린샷. "경고 무시" 단추 아래에 "해제 이유 선택"이라는 드롭다운이 확장됩니다. 드롭다운에는 다양한 옵션에 대한 라디오 단추가 포함되어 있습니다.

종료된 경고 보기 및 업데이트

열려 있는 모든 경고를 볼 수 있으며 이전에 해제된 경고를 다시 열 수 있습니다. 이미 수정된 닫힌 경고는 다시 열 수 없습니다.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 보안을 클릭합니다. "보안" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 보안을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "보안" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. 보안 개요의 "취약성 경고" 사이드바에서 Dependabot 을(를) 클릭합니다. 이 옵션을 누락하면 보안 경고에 액세스할 수 없으며 액세스 권한이 부여되어야 합니다. 자세한 내용은 "리포지토리에 대한 보안 및 분석 설정 관리"을 참조하세요.

    "Dependabot" 탭이 진한 주황색 윤곽선으로 강조 표시된 보안 개요의 스크린샷.

  4. 종료된 경고만 보려면 종료됨을 클릭합니다.

    “닫힘" 탭이 짙은 주황색 윤곽선으로 강조 표시되어 Dependabot alerts 목록을 보여주는 스크린샷

  5. 보거나 업데이트하려는 경고를 클릭합니다.

  6. 필요에 따라 경고가 해제되었지만 이를 다시 열려는 경우 다시 열기를 클릭합니다. 이미 해결된 경고는 다시 열 수 없습니다.

    닫힌 Dependabot 경고가 표시된 스크린샷입니다. "다시 열기"라는 버튼은 진한 주황색 윤곽선으로 강조 표시됩니다.

여러 경고를 한꺼번에 다시 열기

  1. 닫힌 Dependabot alerts를 봅니다. 자세한 내용은 "Dependabot 경고 보기 및 업데이트"을(를) 참조하세요. (위)
  2. 각 경고 제목의 왼쪽에 있는 각 경고 옆에 있는 확인란을 클릭하여 다시 열 경고를 선택합니다.
  3. 필요에 따라 경고 목록의 맨 위에서 페이지의 모든 닫힌 경고를 선택합니다.
    "닫힘" 탭의 경고 스크린샷 "모두 선택" 검사 상자가 진한 주황색 윤곽선으로 강조 표시됩니다.
  4. 경고를 다시 열려면 다시 열기를 클릭합니다. 이미 해결된 경고는 다시 열 수 없습니다.

Dependabot alerts에 대한 감사 로그 검토

조직의 구성원 Dependabot alerts과(와) 관련된 작업을 수행하는 경우 감사 로그에서 작업을 검토할 수 있습니다. 로그 액세스에 대한 자세한 정보는 "조직의 감사 로그 검토."

Dependabot 경고를 보여 주는 감사 로그의 스크린샷.

Dependabot alerts에 대한 감사 로그의 이벤트에는 작업을 수행한 사용자, 작업 내용 및 작업이 수행된 시기와 같은 세부 정보가 포함됩니다. 이벤트에는 경고로 이동하는 링크도 포함되어 있습니다. 조직의 구성원이 경고를 해제하면 이벤트에 해제 이유와 메모가 표시됩니다. Dependabot alerts 작업에 대한 자세한 내용은 "조직의 감사 로그 이벤트" 및 "엔터프라이즈에 대한 감사 로그 이벤트"에 있는 repository_vulnerability_alert 범주를 참조하세요."