{"id":29182500,"url":"https://github.com/vulncheck-oss/sdk-go-v2","last_synced_at":"2026-01-16T17:45:25.505Z","repository":{"id":302320487,"uuid":"1011350683","full_name":"vulncheck-oss/sdk-go-v2","owner":"vulncheck-oss","description":"A generated Go SDK from VulnCheck's OpenAPI specification","archived":false,"fork":false,"pushed_at":"2025-07-01T17:58:59.000Z","size":1864,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-01T18:44:53.688Z","etag":null,"topics":["cybersecurity","go","golang","sdk","sdk-go","vulnerability"],"latest_commit_sha":null,"homepage":"https://vulncheck.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vulncheck-oss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-30T17:19:20.000Z","updated_at":"2025-07-01T17:59:01.000Z","dependencies_parsed_at":"2025-07-01T18:55:03.758Z","dependency_job_id":null,"html_url":"https://github.com/vulncheck-oss/sdk-go-v2","commit_stats":null,"previous_names":["vulncheck-oss/sdk-go-v2"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/vulncheck-oss/sdk-go-v2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulncheck-oss%2Fsdk-go-v2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulncheck-oss%2Fsdk-go-v2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulncheck-oss%2Fsdk-go-v2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulncheck-oss%2Fsdk-go-v2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vulncheck-oss","download_url":"https://codeload.github.com/vulncheck-oss/sdk-go-v2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vulncheck-oss%2Fsdk-go-v2/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263029214,"owners_count":23402354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cybersecurity","go","golang","sdk","sdk-go","vulnerability"],"created_at":"2025-07-01T20:06:36.151Z","updated_at":"2026-01-16T17:45:25.496Z","avatar_url":"https://github.com/vulncheck-oss.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"/logo-sdk.png\" align=\"center\" alt=\"VulnCheck Logo\" width=\"150\" /\u003e\n\u003c/p\u003e\n\n# The VulnCheck SDK For Go\n\nBring the VulnCheck API to your Go applications.\n\n## Installation\n\n```bash\ngo get github.com/vulncheck-oss/sdk-go-v2/v2\n```\n\n## Examples\n\n### Connecting to the API\n\n```go\npackage main\n\nimport (\n  \"context\"\n  \"fmt\"\n  \"log\"\n  \"os\"\n\n  vulncheck \"github.com/vulncheck-oss/sdk-go-v2/v2\"\n)\n\nfunc main() {\n  configuration := vulncheck.NewConfiguration()\n  configuration.Scheme = \"https\"\n  configuration.Host = \"api.vulncheck.com\"\n\n  client := vulncheck.NewAPIClient(configuration)\n\n  token := os.Getenv(\"VULNCHECK_API_TOKEN\")\n  auth := context.WithValue(\n    context.Background(),\n    vulncheck.ContextAPIKeys,\n    map[string]vulncheck.APIKey{\n    \"Bearer\": {Key: token},\n    },\n  )\n  resp, httpRes, err := client.EndpointsAPI.OpenapiGet(auth).Execute()\n\n  if err != nil || httpRes.StatusCode != 200 {\n    log.Fatal(err)\n  }\n\n  fmt.Printf(\"%+v\", resp)\n}\n```\n\n### Available Methods\n\n### PURL\n\nGet the CVE's for a given PURL\n\n```go\nreq := client.EndpointsAPI.PurlGet(auth).Purl(\"pkg:hex/coherence@0.1.2\")\nresp, httpRes, err := req.Execute()\nif err != nil {\n  log.Fatal(err)\n}\n\ndata := resp.GetData()\n\nfmt.Println(data.GetCves())\n```\n\n### CPE\n\nGet all CPE's related to a CVE\n\n```go\nreq := client.EndpointsAPI.CpeGet(auth).Cpe(\"cpe:/a:microsoft:internet_explorer:8.0.6001:beta\")\nresp, httpRes, err := req.Execute()\nif err != nil {\n  log.Fatal(err)\n}\n\nfor _, v := range resp.GetData() {\n  fmt.Println(v)\n}\n```\n\n### Backup\n\nDownload the backup for an index\n\n```go\nreq := client.EndpointsAPI.BackupIndexGet(auth, \"initial-access\")\nresp, httpRes, err := req.Execute()\nif err != nil {\n  log.Fatal(err)\n}\n\ndata := resp.GetData()\n\nfor _, v := range data {\n  fmt.Println(v.GetUrl())\n}\n```\n\n### Indices\n\nGet all available indices\n\n```go\nreq := client.EndpointsAPI.IndexGet(auth)\nresp, httpRes, err := req.Execute()\nif err != nil {\n  log.Fatal(err)\n}\n\nfor _, v := range resp.GetData() {\n  fmt.Println(v.GetName())\n}\n```\n\n### Index\n\nQuery VulnCheck-NVD2 for `CVE-2019-19781`\n\n```go\nreq := client.\n  IndicesAPI.\n  IndexVulncheckNvd2Get(auth).\n  Cve(\"CVE-2019-19781\")\n\nresp, _, err := req.Execute()\nif err != nil {\n  log.Fatal(err)\n}\n\nvuln := resp.GetData()[0]\n\nfmt.Printf(\"Name: %q\\n\", vuln.GetCisaVulnerabilityName())\n\ndescriptions := vuln.GetDescriptions()\nfor _, desc := range descriptions {\n  if desc.GetLang() == \"en\" {\n    fmt.Printf(\"Description: %s\\n\", desc.GetValue())\n  }\n}\n\nif metrics, ok := vuln.GetMetricsOk(); !ok {\n  fmt.Println(\"\")\n} else {\n  fmt.Printf(\"Base Score: %f\\n\", metrics.CvssMetricV31[0].CvssData.GetBaseScore())\n}\n```\n\n### Pagination\n\nPaginate over results for a query to VulnCheck-KEV using `cursor`\n\n```go\nvar queryLimit int32 = 300\nreq := client.\n  IndicesAPI.\n  IndexVulncheckKevGet(auth).\n  StartCursor(\"true\").\n  Limit(queryLimit)\n\nresp, httpRes, err := req.Execute()\nif err != nil {\n  log.Fatal(err)\n}\n\nvar nextCursor string\nvar count int\nvar total int32\n\nnextCursor = resp.Meta.GetNextCursor()\ntotal = resp.Meta.GetTotalDocuments()\ncount += len(resp.Data)\nfmt.Printf(\"Total Items: %d/%d\\n\", count, total)\n\ncount += len(resp.Data)\n\nfor range 10 {\n  req := client.\n    IndicesAPI.\n    IndexVulncheckKevGet(auth).\n    Cursor(nextCursor).\n    Limit(queryLimit)\n\n  resp, httpRes, err := req.Execute()\n  if err != nil {\n    log.Fatal(err)\n  }\n\n  nextCursor = resp.Meta.GetNextCursor()\n  count += len(resp.Data)\n  fmt.Printf(\"Total Items: %d/%d\\n\", count, total)\n}\n```\n\n## License\n\nApache License 2.0. Please see License File for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvulncheck-oss%2Fsdk-go-v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvulncheck-oss%2Fsdk-go-v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvulncheck-oss%2Fsdk-go-v2/lists"}