VulnCheck Exploit & Vulnerability Intelligence는 다양한 프로그래밍 언어 패키지 관리자와 운영 체제 패키지 전반에 걸쳐 패키지 종속성을 추적합니다.
추적되는 패키지의 경우, VulnCheck는 가능할 경우 취약점, 라이선스, 연구 속성 및 수정 정보를 포함합니다.
현재 지원되는 프로그래밍 언어 패키지 관리자는 다음과 같습니다:
현재 지원되는 운영 체제 패키지 관리자는 다음과 같습니다:
Package URL(purl)을 기준으로 취약점을 조회하려면 /v3/purl?purl=:purl 엔드포인트를 호출하세요.
curl --request GET \
--url https://api.vulncheck.com/v3/purl?purl=pkg:pypi/aioxmpp@0.6.0 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer insert_token_here'
package main
import (
"context"
"encoding/json"
"fmt"
"log"
"os"
vulncheck "github.com/vulncheck-oss/sdk-go-v2/v2"
)
func main() {
configuration := vulncheck.NewConfiguration()
configuration.Scheme = "https"
configuration.Host = "api.vulncheck.com"
client := vulncheck.NewAPIClient(configuration)
token := os.Getenv("VULNCHECK_API_TOKEN")
auth := context.WithValue(
context.Background(),
vulncheck.ContextAPIKeys,
map[string]vulncheck.APIKey{
"Bearer": {Key: token},
},
)
resp, httpRes, err := client.EndpointsAPI.PurlGet(auth).Purl("pkg:pypi/aioxmpp@0.6.0").Execute()
if err != nil || httpRes.StatusCode != 200 {
log.Fatal(err)
}
prettyJSON, err := json.MarshalIndent(resp.Data, "", " ")
if err != nil {
log.Fatalf("Failed to generate JSON: %v", err)
return
}
fmt.Println(string(prettyJSON))
}
import vulncheck_sdk
configuration = vulncheck_sdk.Configuration(host="https://api.vulncheck.com/v3")
configuration.api_key["Bearer"] = "insert_token_here"
with vulncheck_sdk.ApiClient(configuration) as api_client:
endpoints_client = vulncheck_sdk.EndpointsApi(api_client)
api_response = endpoints_client.purl_get("pkg:pypi/aioxmpp@0.6.0")
print(api_response.data)
vulncheck purl "pkg:pypi/aioxmpp@0.6.0"
위의 예시는 pypi의 aioxmpp 패키지 0.6.0 버전의 취약점 목록을 요청하는 것입니다.
특정 오프라인 백업을 요청하려면 /v3/backup/:index 엔드포인트를 호출하세요.
curl --request GET \
--url https://api.vulncheck.com/v3/backup/gem \
--header 'Accept: application/json' \
--header 'Authorization: Bearer insert_token_here'
package main
import (
"context"
"encoding/json"
"fmt"
"log"
"os"
vulncheck "github.com/vulncheck-oss/sdk-go-v2/v2"
)
func main() {
configuration := vulncheck.NewConfiguration()
configuration.Scheme = "https"
configuration.Host = "api.vulncheck.com"
client := vulncheck.NewAPIClient(configuration)
token := os.Getenv("VULNCHECK_API_TOKEN")
auth := context.WithValue(
context.Background(),
vulncheck.ContextAPIKeys,
map[string]vulncheck.APIKey{
"Bearer": {Key: token},
},
)
resp, httpRes, err := client.EndpointsAPI.BackupIndexGet(auth, "gem").Execute()
if err != nil || httpRes.StatusCode != 200 {
log.Fatal(err)
}
prettyJSON, err := json.MarshalIndent(resp.Data, "", " ")
if err != nil {
log.Fatalf("Failed to generate JSON: %v", err)
return
}
fmt.Println(string(prettyJSON))
}
import vulncheck_sdk
configuration = vulncheck_sdk.Configuration(host="https://api.vulncheck.com/v3")
configuration.api_key["Bearer"] = "insert_token_here"
with vulncheck_sdk.ApiClient(configuration) as api_client:
endpoints_client = vulncheck_sdk.EndpointsApi(api_client)
api_response = endpoints_client.backup_index_get("gem")
print(api_response.data[0].url)
vulncheck backup download gem
위의 예시는
gem인덱스(Ruby Gems 추적 인덱스)에 대한 오프라인 백업을 요청하는 것입니다. 참고: 오프라인 백업 다운로드에는 VulnCheck 유료 구독 라이선스가 필요합니다.