VulnCheck API エンドポイントはプログラムによるアクセスに最適化されており、機械可読な JSON データを提供します。
VulnCheck インデックスには、インデックスの完全なコピーをダウンロードできる「backup」エンドポイント、または個々のレコードをクエリするために使用できる「index」エンドポイントを利用してアクセスできます。
「index」と「backup」のAPIエンドポイントのリストは、VulnCheckダッシュボードにある VulnCheck API サンドボックス で確認できます。
すべての API メソッドは https://api.vulncheck.com/ をベース URL として使用します。
メソッド | 名前 | 説明 |
---|---|---|
GET | /v3/index | エンドポイントリンク付きのインデックスリストを返す |
GET | /v3/index/{index} | 選択したインデックスからのドキュメントのページネートリストを取得 |
GET | /v3/backup | エンドポイントリンク付きのバックアップリストを返す |
GET | /v3/backup/{index} | インデックスのバックアップリンクをリクエスト |
GET | /v3/cpe | CPEに関連する脆弱性をリクエスト |
GET | /v3/purl | PURLに関連する脆弱性をリクエスト |
GET | /v3/rules/initial-access/{rules} | 初期アクセスインテリジェンスのSuricata または Snort ルールをリクエスト |
GET | /v3/tags/{filter} | IPタグに基づくIPアドレスのリストを返す(改行区切りまたはJSON) |
GET | /v3/pdns/{filter} | 防護DNS用のホスト名リストを返す(改行区切りまたはJSON) |
GET | /v3/openapi | 現在のOpenAPI仕様書(OAS)を取得 |
curl --request GET \
--url https://api.vulncheck.com/v3/backup/vulncheck-kev \
--header 'Accept: application/json' \
--header 'Authorization: Bearer insert_token_here'
package main
import (
"fmt"
"github.com/vulncheck-oss/sdk-go"
)
func main() {
client := sdk.Connect("https://api.vulncheck.com", "insert_token_here")
response, err := client.GetIndexBackup("vulncheck-kev")
if err != nil {
panic(err)
}
fmt.Println(response.Urls())
}
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("vulncheck-kev")
print(api_response.data[0].url)
vulncheck backup download vulncheck-kev
VulnCheckでは、データセット全体で RFC3339Nano 形式の日付を使用しています。この形式は、秒のフィールドから末尾のゼロを削除するため、やや不整合なタイムスタンプが発生します。例えば、以下の2つはどちらも有効なRFC3339Nano形式のタイムスタンプです。
2024-02-14T16:15:00Z
2024-02-23T10:38:41.361178Z
一見すると不整合に見えますが、どちらも有効かつ解析可能なRFC3339Nano形式の日付です。