SBOM 문서의 취약점 테스트
Snyk은 API 엔드포인트 모음을 제공하여 software bill of materials(SBOM) 문서를 비동기식으로 테스트할 수 있습니다. 이러한 엔드포인트를 사용하여 SBOM 및 해당 패키지에 영향을 주는 취약성에 대해 자세히 알아볼 수 있습니다.
Snyk은 SBOM 내의 구성 요소를 패키지 URL(purl)에 따라 식별합니다. 구성 요소에 purl이 포함되어 있지 않거나 purl 유형이 지원되지 않는 경우 Snyk는 해당 구성 요소에 대해 취약성 분석을 건너 뜁니다. 지원되는 purl 유형은 다음과 같습니다: apk
, cargo
, cocoapods
, composer
, deb
, gem
, golang
, hex
, maven
, npm
, nuget
, pypi
, rpm
, swift
, generic
(미관리 C/C++ 종속성용).
SBOM 문서를 테스트하는 방법
SBOM 엔드포인트를 사용하여 SBOM 문서를 생성하고 상태를 확인하고 결과를 확인할 수 있습니다. 다음 단계를 따르세요:
SBOM 문서를 Snyk에 전송하여 테스트 생성하기
SBOM을 테스트하는 것은 시간이 오래 걸릴 수 있습니다. 테스트 결과가 준비될 때까지 기다리는 대신, 초기 요청 후에 Snyk는 SBOM을 보낸 후 job_id
를 반환하고 요청을 비동기적으로 처리합니다.
다음 단계를 따라 SBOM을 테스트합니다:
Snyk 웹 UI에 로그인하고 조직 ID(UUID 형식), 프로젝트 ID(UUID) 및 API 키를 검색합니다. 이러한 값들을 찾는 데 도움이 필요한 경우 조직 일반 설정, 프로젝트 설정 보기 및 편집 및 API 인증을 참조하십시오.
curl
또는 Postman과 같은 HTTP 클라이언트를 사용하여 SBOM 테스트 실행 생성 엔드포인트로 요청을 보냅니다.
curl --request POST \
-H "Authorization: token <SNYK_TOKEN>" \
-H "Content-Type: application/vnd.api+json" \
--data-binary '@request_body.json' \
'https://api.snyk.io/rest/orgs/<ORG_ID>/sbom_tests?version=2023-089-03~beta'
{
"data": {
"type": "sbom_test",
"attributes":{
"sbom": {
<SBOM_CONTENTS>
}
}
}
}
응답에서 다음 단계에서 사용할
job_id
를 얻습니다. 이는 SBOM 문서에 대한 수행 중인 테스트 실행의 고유 식별자입니다.
{
"data": {
"id": "<JOB_ID>",
"type": "sbom_tests"
},
"jsonapi": {
"version": "1.0"
},
"links": {
"self": "/rest/orgs/<ORG_ID>/sbom_tests?version=2023-08-31~beta",
"related": "/rest/orgs/<ORG_ID>/sbom_tests/<JOB_ID>?version=2023-08-31~beta"
}
}
테스트의 상태 확인하기 (옵션)
초기 요청 후 언제든지 테스트의 상태를 확인할 수 있습니다.
SBOM 테스트 실행 생성 엔드포인트로부터 반환된
job_id
를 사용하여 엔드포인트 SBOM 테스트 실행 상태 가져오기로 요청을 보냅니다.이 엔드포인트에 대한 성공적인 요청은 테스트의 상태인
processing
또는finished
를 반환합니다. 호출에 실패하면 오류가 반환됩니다.
curl --get \
-H "Authorization: token <SNYK_TOKEN>" \
'https://api.snyk.io/rest/orgs/<ORG_ID>/sbom_tests/<TEST_ID>?version=2024-09-03~beta'
테스트 결과 보기
테스트가 완료되면 검사한 SBOM의 결과를 볼 수 있습니다.
테스트의 상태가
finished
로 반환된 경우 SBOM 테스트 실행 결과 가져오기 엔드포인트로 요청을 보냅니다.테스트된 SBOM에 대한 요약 수준 정보 및 자세한 결과를 포함하는 반환된 정보를 확인합니다.
curl --get \
-H "Authorization: token <SNYK_TOKEN>" \
'https://api.snyk.io/rest/orgs/<ORG_ID>/sbom_tests/<TEST_ID>/results?version=2023-08-31~beta'
SBOM 테스트 실행 생성 엔드포인트의 문제 해결
다음 응답 코드는 성공을 나타냅니다.
201 Created
SBOM 테스트 실행이 성공적으로 생성되었습니다. 응답 본문에 테스트 실행의 작업 ID가 포함됩니다.
다음은 API를 사용할 때 받을 수 있는 오류 상태입니다. 여기에 다루지 않은 문제가 있거나 이러한 문제를 해결하는 데 문제가 있는 경우 솔루션 엔지니어나 기술 성공 관리자에 문의하거나 Snyk 지원으로 요청을 제출하십시오.
400 Bad Request
서버가 유효하지 않거나 손상된 데이터로 인해 요청을 처리할 수 없습니다. 요청을 검토하고 다시 시도하십시오.
401 Unauthorized
인증 방법, API 토큰 또는 Bearer 토큰이 잘못되었습니다. Authorization 헤더를 올바르게 설정했는지 확인해 주십시오.
403 Forbidden
요청을 만들 권한이 없습니다. 요구된 조직의 일부가 아니거나 귀하의 조직이 Snyk API를 사용할 자격이 없거나 요청된 프로젝트에 대한 충분한 읽기 액세스 권한이 없는 경우 발생할 수 있습니다.
429 Too Many Requests
Snyk API가 요청을 제한하므로 과도한 요청의 경우 일정 시간 후 요청이 거부됩니다. 추가 요청을 하기 전에 기다려야 합니다.
500 Internal Server Error
서비스가 내부 시스템 오류를 겪었습니다.
Last updated