리포지토리의 Dependabot alerts 탭에는 열려 있거나 닫혀 있는 모든 Dependabot alerts 및 해당 Dependabot security updates가 나열되어 있습니다. 패키지, 에코시스템 또는 매니페스트별로 경고를 필터링할 수 있습니다. 경고 목록을 정렬할 수 있으며, 특정 경고를 클릭하여 세부 정보를 확인할 수 있습니다. 경고를 하나씩 또는 한 번에 여러 경고를 선택하여 경고를 해제하거나 다시 열 수도 있습니다. 자세한 내용은 "Dependabot 경고 정보"을(를) 참조하세요.
Dependabot alerts 및 종속성 그래프를 사용하는 모든 리포지토리에 대해 자동 보안 업데이트를 사용하도록 설정할 수 있습니다. 자세한 내용은 "Dependabot 보안 업데이트 정보"을(를) 참조하세요.
리포지토리의 취약한 종속성에 대한 업데이트 정보
GitHub은 코드베이스의 기본 브랜치에서 알려진 보안 위험이 있는 종속성을 사용하고 있음을 감지하면 Dependabot alerts를 생성합니다. Dependabot security updates가 사용하도록 설정된 리포지토리의 경우 GitHub이 기본 분기에서 취약한 종속성을 감지하면 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이 개발 또는 프로덕션에 종속성이 사용되는지 확인할 수 있는지 여부를 요약합니다.
언어 | 에코시스템 | 매니페스트 파일 | 지원되는 종속성 범위 |
---|---|---|---|
Dart | pub | pubspec.yaml | |
Dart | pub | pubspec.lock | |
Go | Go 모듈 | go.mod | 아니요, 기본값은 런타임입니다. |
Java | Maven | pom.xml | test 는 개발에 매핑되고, 다른 범위는 기본적으로 런타임으로 설정됩니다. |
JavaScript | npm | package.json | |
JavaScript | npm | package-lock.json | |
JavaScript | npm | pnpm-lock.yaml | |
JavaScript | yarn v1 | yarn.lock | 아니요, 기본값은 런타임입니다. |
PHP | 작성기 | composer.json | |
PHP | 작성기 | composer.lock | |
Python | Poetry | poetry.lock | |
Python | Poetry | pyproject.toml | |
Python | pip | requirements.txt | 파일 이름에 test 또는 dev 가 포함되어 있으면 범위는 개발이고, 그렇지 않으면 런타임입니다. |
Python | pip | pipfile.lock | |
Python | pip | pipfile | |
Ruby | RubyGems | Gemfile | |
Ruby | RubyGems | Gemfile.lock | 아니요, 기본값은 런타임입니다. |
Rust | Cargo | Cargo.toml | |
Rust | Cargo | Cargo.lock | 아니요, 기본값은 런타임입니다. |
YAML | GitHub Actions | - | 아니요, 기본값은 런타임입니다. |
.NET(C#, F#, VB 등) | NuGet | .csproj / .vbproj .vcxproj / .fsproj | 아니요, 기본값은 런타임입니다. |
.NET | NuGet | packages.config | 아니요, 기본값은 런타임입니다. |
.NET | NuGet | .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 alerts 보기
리포지토리의 Dependabot alerts 탭에서 열려 있거나 닫혀 있는 모든 Dependabot alerts 및 해당 Dependabot security updates을(를) 볼 수 있습니다. 드롭다운 메뉴에서 필터를 선택하여 Dependabot alerts을 정렬하고 필터링할 수 있습니다.
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 보안을 클릭합니다. "보안" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 보안을 클릭합니다.
-
보안 개요의 "취약성 경고" 사이드바에서 Dependabot 을(를) 클릭합니다. 이 옵션을 누락하면 보안 경고에 액세스할 수 없으며 액세스 권한이 부여되어야 합니다. 자세한 내용은 "리포지토리에 대한 보안 및 분석 설정 관리"을 참조하세요.
-
필요에 따라 경고를 필터링하려면 드롭다운 메뉴에서 필터를 선택한 다음, 적용하려는 필터를 클릭합니다. 검색 창에서 필터를 입력할 수도 있습니다. 또는 레이블로 필터링하려면 경고에 할당된 레이블을 클릭하여 해당 필터를 경고 목록에 자동으로 적용합니다. 경고 필터링 및 정렬에 대한 자세한 내용은 “Dependabot alerts 우선 순위 지정”을 참조하세요.
-
보려는 경고를 클릭합니다.
-
또는 관련 보안 권고 사항에 대한 개선 사항을 제안하려면 경고 세부 정보 페이지의 오른쪽에서 GitHub Advisory Database에 대한 이 권고 사항에 대한 개선 사항 제안을 클릭하세요. 자세한 내용은 "GitHub Advisory Database에서 보안 권고 편집"을(를) 참조하세요.
경고 검토 및 수정
모든 종속성에서 보안 약점을 제거해야 합니다. Dependabot에서 종속성의 취약성을 검색하는 경우 프로젝트의 노출 수준을 평가하고 애플리케이션을 보호하기 위해 수행할 수정 단계를 결정해야 합니다.
종속성의 패치된 버전을 사용할 수 있는 경우 Dependabot 경고에서 이 종속성을 직접 업데이트하는 Dependabot 끌어오기 요청을 생성할 수 있습니다. Dependabot security updates을(를) 사용하도록 설정한 경우 끌어오기 요청이 Dependabot 알림에 연결될 수 있습니다.
패치된 버전을 사용할 수 없거나 보안 버전으로 업데이트할 수 없는 경우 Dependabot에서 다음 단계를 결정하는 데 도움이 되는 추가 정보를 공유합니다. Dependabot 경고를 보기 위해 클릭하면 영향을 받는 함수를 포함하여 종속성에 대한 보안 권고의 전체 세부 정보를 볼 수 있습니다. 그러면 코드에서 영향을 받는 함수를 호출하는지 여부를 확인할 수 있습니다. 이 정보는 위험 수준을 추가로 평가하고, 해결 방법을 결정하거나 보안 권고에서 나타내는 위험을 허용할 수 있는지 여부를 결정하는 데 도움이 될 수 있습니다.
지원되는 언어의 경우 Dependabot에서 취약한 함수에 대한 호출을 검색합니다. "취약한 호출"로 레이블이 지정된 경고를 보는 경우 세부 정보에는 함수 이름 및 해당 함수를 호출하는 코드에 대한 링크가 포함되어 있습니다. 더 자세히 살펴보지 않고도 이 정보를 기반으로 하여 결정할 수 있는 경우가 많습니다.
취약한 종속성 수정
-
경고에 대한 세부 정보를 봅니다. 자세한 내용은 “Dependabot alerts 보기”(위 항목)를 참조하세요.
-
Dependabot security updates가 사용하도록 설정된 경우 종속성을 수정하는 끌어오기 요청에 대한 링크가 있을 수 있습니다. 또는 경고 세부 정보 페이지의 위쪽에서 Dependabot 보안 업데이트 만들기를 클릭하여 끌어오기 요청을 만들 수 있습니다.
-
필요에 따라 Dependabot security updates를 사용하지 않는 경우 페이지의 정보를 사용하여 업그레이드할 종속성 버전을 결정하고 해당 종속성을 보안 버전으로 업데이트하는 끌어오기 요청을 만들 수 있습니다.
-
종속성을 업데이트하고 취약성을 해결할 준비가 되면 끌어오기 요청을 병합합니다.
Dependabot에서 실행하는 각 끌어오기 요청에는 Dependabot을 제어하는 데 사용할 수 있는 명령에 대한 정보가 포함되어 있습니다. 자세한 내용은 "종속성 업데이트에 대한 끌어오기 요청 관리"을(를) 참조하세요.
Dependabot alerts 해제
팁: 열려 있는 경고만 해제할 수 있습니다.
종속성을 업그레이드하기 위해 광범위한 작업을 예약하거나 경고를 수정할 필요가 없다고 결정한 경우 경고를 해제할 수 있습니다. 이미 평가한 경고를 해제하면 새 경고가 표시될 때 더 쉽게 심사할 수 있습니다.
-
경고에 대한 세부 정보를 봅니다. 자세한 내용은 "취약한 종속성 보기"(위)를 참조하세요.
-
“해제” 드롭다운을 선택하고 경고를 해제하는 이유를 클릭합니다. 수정되지 않은 해제된 경고는 나중에 다시 열 수 있습니다.
-
필요에 따라 해제 설명을 추가합니다. 해제 설명은 경고 타임라인에 추가되며 감사 및 보고 중에 근거로 사용할 수 있습니다. GraphQL API를 사용하여 설명을 검색하거나 설정할 수 있습니다. 설명은
dismissComment
필드에 포함됩니다. 자세한 내용은 GraphQL API 설명서의 "개체"을(를) 참조하세요. -
경고 해제를 클릭합니다.
여러 경고를 한꺼번에 해제
- 열려 있는 Dependabot alerts를 봅니다. 자세한 내용은 "Dependabot 경고 보기 및 업데이트" 항목을 참조하세요.
- 필요에 따라 드롭다운 메뉴를 선택한 다음, 적용하려는 필터를 클릭하여 경고 목록을 필터링합니다. 검색 창에서 필터를 입력할 수도 있습니다.
- 각 경고 타이틀의 왼쪽에서 해제할 경고를 선택합니다.
- 필요에 따라 경고 목록의 맨 위에서 페이지의 모든 경고를 선택합니다.
- “경고 해제” 드롭다운을 선택하고 경고를 해제하는 이유를 클릭합니다.
종료된 경고 보기 및 업데이트
열려 있는 모든 경고를 볼 수 있으며 이전에 해제된 경고를 다시 열 수 있습니다. 이미 수정된 닫힌 경고는 다시 열 수 없습니다.
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 보안을 클릭합니다. "보안" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 보안을 클릭합니다.
-
보안 개요의 "취약성 경고" 사이드바에서 Dependabot 을(를) 클릭합니다. 이 옵션을 누락하면 보안 경고에 액세스할 수 없으며 액세스 권한이 부여되어야 합니다. 자세한 내용은 "리포지토리에 대한 보안 및 분석 설정 관리"을 참조하세요.
-
종료된 경고만 보려면 종료됨을 클릭합니다.
-
보거나 업데이트하려는 경고를 클릭합니다.
-
필요에 따라 경고가 해제되었지만 이를 다시 열려는 경우 다시 열기를 클릭합니다. 이미 해결된 경고는 다시 열 수 없습니다.
여러 경고를 한꺼번에 다시 열기
- 닫힌 Dependabot alerts를 봅니다. 자세한 내용은 "Dependabot 경고 보기 및 업데이트"을(를) 참조하세요. (위)
- 각 경고 제목의 왼쪽에 있는 각 경고 옆에 있는 확인란을 클릭하여 다시 열 경고를 선택합니다.
- 필요에 따라 경고 목록의 맨 위에서 페이지의 모든 닫힌 경고를 선택합니다.
- 경고를 다시 열려면 다시 열기를 클릭합니다. 이미 해결된 경고는 다시 열 수 없습니다.
Dependabot alerts에 대한 감사 로그 검토
조직의 구성원 Dependabot alerts과(와) 관련된 작업을 수행하는 경우 감사 로그에서 작업을 검토할 수 있습니다. 로그 액세스에 대한 자세한 정보는 "조직의 감사 로그 검토" 및 "엔터프라이즈의 감사 로그에 액세스"을(를) 참조하세요.
Dependabot alerts에 대한 감사 로그의 이벤트에는 작업을 수행한 사용자, 작업 내용 및 작업이 수행된 시기와 같은 세부 정보가 포함됩니다. 이벤트에는 경고로 이동하는 링크도 포함되어 있습니다. 조직의 구성원이 경고를 해제하면 이벤트에 해제 이유와 메모가 표시됩니다. Dependabot alerts 작업에 대한 자세한 내용은 "조직의 감사 로그 이벤트."