Getting Started

APIトークン

VulnCheckプラットフォームのすべてのAPIコールには、VulnCheckが発行する有効なAPIトークンが必要です。

VulnCheckプラットフォームでは、APIとポータルの両方で共有されるトークンシステムを採用しています。この共有トークンシステムにより、同じトークンを使用してAPIとウェブポータルの両方を操作でき、両者を行き来することが可能です。また、トークンを一元管理できます。このガイドでは、トークンの作成と使用方法について説明します。

APIトークンの発行

VulnCheckプラットフォームでAPIコールを開始するには、アカウントにトークンを発行する必要があります。以下の手順に従ってください:

  1. 右上のユーザープロフィールからトークンとSSHキーページに移動します。
  2. 右上の「Create Token」ボタンをクリックします。
  3. トークンの用途を思い出しやすくするために、ラベルを入力し、トークンアイコンを選択します。
  4. トークンを作成すると、トークンの値が表示されます。トークンの値を確認できるのはこのタイミングのみです。紛失した場合は、トークンを削除して新しいトークンを作成する必要があります。

30日間使用されなかったトークンは自動的に失効します。

HTTPリクエストでAPIトークンを使用する

VulnCheckでは、トークンを渡す方法が3つあります。

ベアラ認証ヘッダーでのAPIトークンの使用

カスタムヘッダーとしてAuthorization: Bearer insert_token_hereを追加します。

curl --request GET \
  --url https://api.vulncheck.com/v3/index/initial-access \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer insert_token_here'

クエリパラメータでのAPIトークンの使用

APIトークンをGET/URLパラメータとして渡すことができ、ブラウザでのテストやエンドポイントの閲覧が容易になります。

curl --request GET \
     --url https://api.vulncheck.com/v3/index/initial-access \
     --header 'Accept: application/json' \
     --url-query token=insert_token_here

JavaScriptクッキーでのAPIトークンの使用

トークンはクッキーとして渡すことが可能です。これにより、APIへのアクセスをポータル経由で行い、トークンの完全な管理を提供できます。

curl --request GET \
     --url https://api.vulncheck.com/v3/index/initial-access \
     --header 'Accept: application/json' \
     --cookie "token=insert_token_here"

CLIやSDKでのAPIトークンの使用

VulnCheckは、APIと対話するためのCLIおよびSDKを提供しています。VC_TOKEN環境変数を設定することで、CLIやSDKでトークンを使用できます。

package main

import (
  "encoding/json"
    "fmt"
  "log"
    "github.com/vulncheck-oss/sdk-go"
)

func main() {
    client := sdk.Connect("https://api.vulncheck.com", "insert_token_here")
    response, err := client.GetIndexInitialAccess(sdk.IndexQueryParameters{})

    if err != nil {
        panic(err)
    }

    response, err := client.GetIndexInitialAccess(sdk.IndexQueryParameters{})

    if err != nil {
        panic(err)
    }

    prettyJSON, err := json.MarshalIndent(response.Data, "", "  ")
    if err != nil {
        log.Fatalf("Failed to generate JSON: %v", err)
        return
    }

    fmt.Println(string(prettyJSON))
}