VulnCheckのInitial Access Intelligence Rules APIは、リモートコード実行脆弱性(通常、認証を必要としないリモートアクセス脆弱性)のリモート攻撃を検知するSuricataまたはSnortルールをダウンロードするためにお客様が利用できるものです。
VulnCheckは、SuricataおよびSnortルールに簡単にアクセスできるAPIエンドポイントを提供しています。以下のエンドポイントでは、1行ごとにルールが含まれています:
例えば、Suricataルールを取得する場合は、以下のように/v3/rules/initial-access/suricataを呼び出します:
curl --request GET \
    --url https://api.vulncheck.com/v3/rules/initial-access/suricata \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer insert_token_here'
package main
import (
    "context"
    "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.RulesInitialAccessTypeGet(auth, "suricata").Execute()
    if err != nil || httpRes.StatusCode != 200 {
        log.Fatal(err)
    }
    fmt.Printf("%+v", resp)
}
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.rules_initial_access_type_get("suricata")
    print(api_response)
vulncheck rule suricata