VulnCheck는 NVD와 함께 CVE 프로그램의 CVE List를 커뮤니티 서비스로 제공하여, API를 통해 접근 가능한 완전한 MITRE CVE JSON을 제공합니다. NVD 또는 MITRE CVE List를 사용하는 데 각각 장점과 단점이 있다는 것을 이해하고 있으며, 커뮤니티가 두 서비스를 모두 신뢰성 있게 접근할 수 있도록 중앙화된 장소를 제공하는 것이 중요하다고 생각합니다.
VulnCheck를 통해 CVE 프로그램의 CVE List에 API 호출이나 오프라인 백업 형태로 쉽게 접근할 수 있습니다.
시작하려면, https://vulncheck.com/community 에서 VulnCheck 커뮤니티 계정을 등록하고 VulnCheck에서 제공하는 MITRE CVE List를 사용하면 됩니다.
curl --request GET --url https://api.vulncheck.com/v3/backup/mitre-cvelist-v5 --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, "mitre-cvelist-v5").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("mitre-cvelist-v5")
print(api_response.data[0].url)
vulncheck backup download mitre-cvelist-v5