vs vulncheck

Attestd vs VulnCheck

VulnCheck's Package URL endpoint and Attestd's /v1/check look similar from the outside: one call with a package identifier returns vulnerability data. The differences that matter for developers are access (enterprise contract vs self-serve) and output shape (CVE list vs synthesized verdict).

the core difference

Access: enterprise contract vs self-serve

VulnCheck's free Community tier covers VulnCheck KEV, NVD++ (an NVD/CVElist mirror), VulnCheck XDB, and Alerts. Package URL Detections (PURL and CPE querying, plus malicious, abandoned, hijackable, and typosquat research attributes) are documented under VulnCheck's paid Exploit & Vulnerability Intelligence product. That SKU is sold as an annual enterprise contract. On AWS Marketplace, Exploit & Vulnerability Intelligence lists at $259,200 per year. There is no public self-serve paid tier between Community and that contract.

Attestd is self-serve from the first call. Free tier: 1,000 calls per month. Solo: $19.99 per month for 10,000 calls. No sales conversation required to query nginx, Redis, or a PyPI package.

Product docs: VulnCheck Community · Package URL Detections · AWS Marketplace EVI listing.

verdict vs CVE list

Output type: synthesized verdict vs CVE list

Even with an EVI license, GET /v3/purl returns a CVE ID list and optional research attributes. There is no risk_state field. A program or agent must interpret that list before it can decide whether to block a deploy.

Active exploitation status is not in the PURL response. Licensed customers query a second endpoint:

bash
curl "https://api.vulncheck.com/v3/index/exploits?cve=CVE-2018-20301" \
  -H "Authorization: Bearer $VULNCHECK_TOKEN"

Attestd returns risk_state, actively_exploited, and supply_chain.compromised in one call. Frozen v1 semantics. Branch with an if statement.

the difference
VulnCheck /v3/purl
{
  "data": {
    "cves": ["CVE-2018-20301"],
    "vulnerabilities": [
      { "detection": "CVE-2018-20301", "fixed_version": "0.5.2" }
    ],
    "research_attributes": {}
  }
}

CVE list. Caller synthesizes a verdict. Exploitation status needs a second call.

attestdmachine-readable
{
  "risk_state": "high",
  "actively_exploited": false,
  "patch_available": true,
  "fixed_version": "2.1.0",
  "supply_chain": {
    "compromised": false
  }
}

Categorical fields. Branch on risk_state directly.

infrastructure

Infrastructure coverage

VulnCheck PURL support covers language ecosystems (npm, PyPI, Maven, Cargo, and others) and OS package managers (Debian, Ubuntu, RHEL, Alpine, and others). Infrastructure products such as nginx, Redis, and PostgreSQL are not queried as product@version. They require a CPE string via /v3/cpe.

Attestd uses the same product@version pattern for all 356 covered products: language packages and infrastructure alike. One query shape for CI, agents, and scripts.

supply chain

Supply chain coverage

VulnCheck can return is_malicious (and related research attributes) in the PURL response for gem, npm, nuget, and pypi. That capability is part of the paid EVI product, not Community. It is a separate key from the CVE list, not a unified verdict field.

Attestd returns supply_chain.compromised in the same /v1/check call as CVE risk_state, on a self-serve plan. Same schema, same version semantics. One call, both signals.

feature comparison

What you get from each

FeatureVulnCheckattestd
Response typeCVE list + research attributesDeterministic fields (risk_state, actively_exploited, supply_chain.compromised)
Synthesized risk verdictNo (caller synthesizes from CVE list)Yes (risk_state)
Active exploitation in same callNo (separate /v3/index/exploits call)Yes (actively_exploited)
Infrastructure products by product@versionNo (CPE required for nginx, Redis, PostgreSQL)Yes (356 products, same query shape)
Supply chain in same callPartial (is_malicious on gem/npm/nuget/pypi, EVI-gated)Yes (supply_chain.compromised)
Single call covers all signalsNoYes
Self-serve signup (no sales call)Community only (KEV, NVD++, XDB). PURL requires EVI contractYes (free tier, 1,000 calls / month)
Pricing modelAnnual enterprise contract (EVI ~$259,200 / year on AWS Marketplace)$19.99 / month flat for 10,000 calls
pricing

Pricing

Attestd Solo is $19.99 per month for 10,000 calls with self-serve signup. VulnCheck Package URL Detections sits under Exploit & Vulnerability Intelligence, sold as an annual enterprise contract (example: $259,200 per year for that SKU on AWS Marketplace). VulnCheck Community is free for KEV, NVD++, and XDB. It does not include PURL package queries. Contract figure per AWS Marketplace.

when to use each

When VulnCheck is the right choice

VulnCheck fits enterprise security teams with budget and a sales relationship who need exploit intelligence across hundreds of advisory indexes, initial-access rules, IP or botnet threat data, and deep CVE enrichment for SOC or CSIRT workflows.

When attestd is the right choice

get started

Try it in 30 seconds

Get a free API key at the developer portal, then connect Attestd to your coding assistant via the setup docs.

bash
curl "https://api.attestd.io/v1/check?product=nginx&version=1.20.0" \
  -H "Authorization: Bearer $ATTESTD_KEY"
related