aboutsummaryrefslogtreecommitdiffstats

cvedb-py

CLI client for Shodan's CVEDB API - fast vulnerability lookups using CVE IDs and CPE 2.3 identifiers.

Package name: cvedb-py CLI command: cvedb

Installation

uv sync
uv run cvedb --help

System-wide install:

make install

Usage

# Look up a specific CVE
cvedb cve CVE-2021-44228

# Search CVEs by product
cvedb cves -p nginx
cvedb cves -p nginx --kev --sort-epss    # KEV only, sorted by EPSS

# Search CVEs by CPE
cvedb cves -c "cpe:2.3:a:apache:log4j:2.14.1"

# List CPEs for a product
cvedb cpes wordpress
cvedb cpes woocommerce --count

# Output formats
cvedb cves -p nginx -f json              # JSON output
cvedb cves -p nginx -f tsv               # TSV output
cvedb cves -p nginx | head               # auto-TSV when piping

Commands

cve <CVE-ID>

Look up a specific CVE by ID.

cves

Search CVEs by product name or CPE 2.3 identifier.

Option Description
-p, --product Product name to search
-c, --cpe CPE 2.3 identifier
-k, --kev Only CISA KEV entries
-e, --sort-epss Sort by EPSS score
-s, --start Start date (YYYY-MM-DD)
--end End date (YYYY-MM-DD)
-l, --limit Max results (default: 25)
-L, --no-limit Fetch all results
--skip Skip N results
--count Only show count
-f, --format Output format: table, json, tsv

cpes <PRODUCT>

List CPE 2.3 identifiers for a product.

Option Description
-l, --limit Max results (default: 25)
-L, --no-limit Fetch all results
--skip Skip N results
--count Only show count
-f, --format Output format: table, json, tsv

Output Formats

  • table - Rich formatted table (default for TTY)
  • tsv - Tab-separated values (default when piping)
  • json - JSON output

API

  • Source: NVD (National Vulnerability Database)
  • Updates: Daily at midnight UTC
  • Auth: None required (free for non-commercial use)
  • Docs: https://cvedb.shodan.io/docs

License

MIT