Dep Graph API

circle-info

기능 가용성 Snyk API는 Enterprise 요금제에서만 사용할 수 있습니다. 자세한 내용은 요금제 및 가격arrow-up-right을 참조하십시오.

Dep Graph API에는 추가 권한이 필요합니다. 액세스를 요청하려면 Snyk 지원팀에 문의arrow-up-right하십시오.

Bazel로 관리되는 종속성을 테스트하고 모니터링하려면 Snyk Dep Graph API 엔드포인트인 Dep Graph 테스트(Test Dep Graph)Dep Graph 모니터링(Monitor Dep Graph)을 사용하는 것이 좋습니다. 모니터링 기능을 사용하면 고객이 트리를 제출하여 Snyk이 취약점을 모니터링하도록 할 수 있습니다. C++를 포함한 많은 언어에 Bazel을 사용할 수 있지만 Dep Graph 엔드포인트는 C++를 지원하지 않습니다.

다음 기본 단계를 따르십시오:

  1. 각 종속성 유형(예: Maven, Cocoapods)에 대해 모든 종속성 패키지와 버전을 나열하는 Dep Graph JSON 객체arrow-up-right를 생성하십시오. Bazel용 Snyk 예제를 참조하십시오.

  2. Bazel 테스트 규칙의 일부로 Dep Graph JSON 객체를 인증 토큰과 함께 Dep Graph 테스트(Test Dep Graph) 엔드포인트에 POST 요청으로 보내십시오. curl 요청 예시는 다음과 같습니다:

    curl -X POST 'https://api.snyk.io/v1/test/dep-graph' \
      -H 'Authorization: token {{your token}}' \
      -H 'Content-Type: application/json; charset=utf-8' \
      -d @dep-graph.json
  3. API 응답에서 통과/실패 상태 및 결과 취약점을 확인하십시오.

Dep Graph 테스트 API 작동 방식

Dep Graph 테스트(Test Dep Graph) API는 일반적인 종속성 그래프를 입력받아 해당 종속성에 대한 관련 취약점이 포함된 보고서를 반환합니다.

지원되는 패키지 관리자 및 리포지토리 에코시스템은 Dep Graph 테스트(Test Dep Graph)Dep Graph 모니터링(Monitor Dep Graph) 문서에 나열되어 있습니다.

지원되는 에코시스템에서 사용 가능한 모든 Bazel 종속성은 Snyk API를 사용하여 테스트할 수 있습니다.

Snyk Dep Graph JSON 구문

Dep Graph 테스트(Test Dep Graph) API는 루트 애플리케이션과 직접 및 간접 종속성 그래프를 설명하는 Snyk Dep Grapharrow-up-right JSON 객체를 사용합니다.

이 형식의 스키마(schema)arrow-up-right는 다음과 같습니다:

Dep Graph 객체의 특정 구성 요소에 대한 추가 참고 사항은 다음과 같습니다:

  • schemaVersion - Dep Graph 스키마의 버전입니다. 1.2.0으로 설정하십시오.

  • pkgManager.name - deb, gomodules, gradle, maven, npm, nuget, paket, pip, rpm, rubygems, cocoapods 중 하나일 수 있습니다.

  • pkgs - Dep Graph에 있는 모든 패키지의 id, nameversion을 포함하는 객체 배열입니다. idname@version 형식이어야 합니다. 프로젝트 자체를 나타내는 항목을 포함하여 각 종속성을 이 배열에 나열하십시오.

  • graph.nodes - pkgs 항목 간의 관계를 설명하는 객체 배열입니다. 이는 일반적으로 deps의 직접 종속성 플랫 배열로 정의된 다른 모든 패키지가 있는 프로젝트 노드입니다.

  • graph.rootNodeId - 그래프의 루트 노드로 사용할 graph.nodes 항목의 id를 지정합니다. 이를 프로젝트 노드의 nodeId로 설정하십시오.

Snyk Dep Graph 테스트 API 응답

Dep Graph 테스트(Test Dep Graph) API는 Dep Graph 종속성에서 발견된 모든 문제(취약점 및 라이선스)를 설명하는 JSON 객체를 반환합니다.

단일 취약점이 포함된 응답 예시는 다음과 같습니다:

응답 객체의 특정 구성 요소에 대한 추가 참고 사항은 다음과 같습니다:

  • ok - Snyk이 제공된 종속성에서 취약점을 발견했는지 여부를 요약하는 부울 값입니다. 빠른 통과 또는 실패 테스트에 사용할 수 있습니다.

  • issuesData - 발견된 각 고유 취약점의 해시입니다. 각 취약점에는 title, description, identifiers, publicationTime, severity 등과 같은 유용한 속성이 많이 포함되어 있습니다.

  • issues - issuesData의 취약점에서 패키지로의 간단한 매핑 배열입니다. 취약점은 여러 패키지와 관련될 수 있으므로 응답 길이를 가능한 한 짧게 유지하기 위해 이 매핑이 사용됩니다.

Last updated