Skip to main content

종속성 그래프에서 종속성을 인식하는 방법

종속성 그래프는 매니페스트 파일을 자동으로 분석합니다. 자동으로 검색할 수 없는 종속성에 대한 데이터를 제출할 수 있습니다.

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

종속성 그래프를 모든 리포지토리에 사용할 수 있습니다.

이 문서의 내용

종속성 그래프는 다음 메서드를 사용하여 프로젝트의 종속성을 식별할 수 있습니다.

메서드작동 방식
정적 분석리포지토리에서 매니페스트와 잠금 파일을 구문 분석합니다.
종속성 제출 API프로그래밍 방식으로 제출하는 종속성 데이터를 허용합니다.

그래프에 종속성이 있으면 알려진 취약성에 대해 Dependabot alerts 및 Dependabot security updates를 받을 수 있습니다.

정적 분석

종속성 그래프를 사용하도록 설정하면 GitHub는 리포지토리에서 지원되는 매니페스트 파일을 검색하고 각 패키지의 이름과 버전을 구문 분석합니다. 기본 분기.

정적 분석은 다음을 식별할 수 있습니다.

  • 매니페스트 또는 잠금 파일에 명시적으로 정의된 직접 종속성
  • 간접 종속성—"전이적 종속성"이라고도 하는 직접 종속성의 종속성으로, 매니페스트 또는 잠금 파일에 정의된 경우에만 포함되며, 빌드 시 해결되는 경우는 제외됩니다.

가장 신뢰할 수 있는 그래프의 경우 현재 사용하는 직접 및 간접 종속성의 버전을 정확히 정의하므로 잠금 파일(또는 해당 파일)을 사용해야 합니다. 또한 잠금 파일은 리포지토리의 모든 참가자가 동일한 버전을 사용하므로 코드를 더 쉽게 테스트하고 디버그할 수 있습니다.

종속성 제출 API

사용자 고유의 스크립트 또는 워크플로에서 종속성 제출 API를 호출할 수 있습니다. 이 기능은 다음과 같은 경우에 유용합니다.

  • 잠금 파일에서 검색할 수 없는 전이적 종속성을 제출해야 합니다.
  • 사용자 지정 논리를 만들어야 하거나 외부 CI/CD 시스템을 사용하고 있습니다.

종속성은 종속성 제출 API에 스냅샷 형식으로 제출됩니다. 리포지토리의 현재 상태를 반영하는 커밋 SHA 및 기타 메타데이터와 연결된 종속성 목록입니다.

GitHub Actions 워크플로에서 API를 호출하는 경우 자동으로 종속성을 수집하고 API에 제출하는 미리 만들어진 에코시스템 작업을 사용할 수 있습니다. 그렇지 않으면 사용자 고유의 작업을 작성하거나 외부 시스템에서 API를 호출할 수 있습니다.

제출된 종속성은 조직의 종속성 인사이트에서는 사용할 수 없습니다.

자세한 내용은 AUTOTITLE을(를) 참조하세요.

우선 순위 지정

리포지토리는 종속성 제출에 여러 메서드를 사용할 수 있으며, 이로 인해 동일한 패키지 매니페스트가 여러 번 검색될 수 있으며, 각 검사의 출력이 다를 수 있습니다. 종속성 그래프는 중복 제거 논리를 사용하여 출력을 구문 분석하여 각 매니페스트 파일에 대해 가장 정확한 정보의 우선 순위를 지정합니다.

종속성 그래프는 다음 우선 순위 규칙을 사용하여 각 매니페스트 파일의 인스턴스를 하나만 표시합니다.

  1. 사용자 제출은 일반적으로 아티팩트 빌드 중에 생성되며, 가장 완전한 정보를 포함하고 있기 때문에 가장 높은 우선 순위를 갖습니다.
    • 서로 다른 감지기의 수동 스냅샷이 여러 개 있는 경우, 관련자 및 사용된 첫 번째 스냅샷을 기준으로 사전순으로 정렬됩니다.
    • 동일한 감지기를 사용하는 두 개의 관련자가 있는 경우, 해결된 종속성이 병합됩니다. 관련자 및 감지기에 대한 자세한 내용은 AUTOTITLE을(를) 참조하세요.
  2. 자동 제출은 아티팩트 빌드 중에 생성되지만 사용자가 제출하지는 않기 때문에 두 번째로 높은 우선 순위를 갖습니다.
  3. 정적 분석 결과는 다른 데이터를 사용할 수 없는 경우에 사용됩니다.