VulnCheck Target Intelligence はオフラインバックアップとしても利用できるため、ページングすることなくインデックス全体を一度に取得できます。これは、Target Intelligence をデータウェアハウスに読み込む、自社の資産インベントリと突き合わせる、あるいは結果セットが数百万件のホスト・ポートのレコードに及ぶクエリを扱うなど、あらゆる一括処理のワークロードに適した方法です。
Canary Intelligence とは異なり、Target Intelligence は 3/10/30/90 日間のローリングウィンドウではなく、インデックス全体の単一のスナップショット として提供されます。各スナップショットはインデックスの完全なコピーで、毎日再構築されます。
| オフラインバックアップ | 説明 |
|---|---|
| target-intel | Target Intelligence インデックス全体。現在のすべてのホスト・ポート・サービスの観測データ、フィンガープリント、CVE マッピング、分類、サービスメタデータを含みます |
バックアップを要求するには、次のように /v3/backup/:index を呼び出します。
curl --request GET \
--url https://api.vulncheck.com/v3/backup/target-intel \
--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, "target-intel").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("target-intel")
print(api_response.data[0].url)
vulncheck backup download target-intel
このエンドポイントはデータそのものを返すのではなく、メタデータと、有効期限付きのダウンロード URL のセットを返します。
{
"data": [
{
"filename": "target-intel-1789352538306259459.avro",
"sha256": "a9d27fb2ea909860f7092ac1d9417dcaed8e42a233c88b332382573ee83fdcf5",
"date_added": "2026-09-14T02:22:18.306Z",
"url": "https://...",
"url_mrap": "https://...",
"url_us-east-1": "https://...",
"url_us-west-2": "https://...",
"url_eu-west-2": "https://...",
"url_ap-southeast-2": "https://...",
"url_ttl_minutes": 15,
"url_expires": "2026-09-14T02:37:18.306Z"
}
]
}
| フィールド | 説明 |
|---|---|
filename | バックアップファイルの名前。Target Intelligence のバックアップは Avro 形式で提供されます |
sha256 | ファイルの SHA-256 チェックサム。ダウンロードしたファイルをこの値で検証してください |
date_added | このスナップショットが構築された日時 |
url | デフォルトのダウンロード URL |
url_mrap | マルチリージョンアクセスポイントの URL。利用可能な最寄りのリージョンにルーティングされます |
url_<region> | リージョン固有の URL。データを処理する場所に最も近いものを選択してください |
url_ttl_minutes | ダウンロード URL の有効期間(分) |
url_expires | URL が使用できなくなる日時のタイムスタンプ |
運用上の注意点が 2 つあります。
date_added によって手元にあるデータがいつのものかがわかります。翌日のスナップショットを取得するにはエンドポイントを再度リクエストしてください。前回読み込んだファイルと sha256 を比較することで、新しいスナップショットが実際に利用可能かどうかを判断できます。ファイルは NDJSON ではなく Avro 形式です。レコードのフィールドは、インデックスエンドポイントが返す レスポンススキーマ と一致します。