Skip to main content

CLI tool for downloading, extracting, and searching CVE data

Project description

cvecli

A batteries included CLI tool and Python library for searching CVE (Common Vulnerabilities and Exposures) data locally.

PyPI Python License

📖 Documentation · 💡 Examples

Installation

Install it as a standalone tool using uv

uv tool install cvecli

Or install it with pip

pip install cvecli

Install optional semantic search capability with cvecli[semantic].

Quick Start

# Download CVE database (~100MB)
cvecli db update

# Search CVEs
cvecli search "apache http server"
cvecli search --vendor Microsoft --severity critical "Windows"
cvecli search --purl "pkg:pypi/pytest"

# Get CVE details
cvecli get CVE-2024-1234

# Database stats
cvecli stats

Features

Feature Command
Text search cvecli search "query"
Vendor/product filter --vendor, --product
Severity filter --severity critical|high|medium|low
CVSS range --cvss-min 7.0 --cvss-max 10.0
CWE filter --cwe 79
Date filter --after 2024-01-01 --before 2024-12-31
KEV filter --kev (Known Exploited Vulnerabilities)
PURL search --purl "pkg:pypi/pytest
Semantic search --semantic "memory corruption"
Output formats --format table|json|markdown

Semantic Search

Natural language search using sentence embeddings:

# Install semantic dependencies
pip install cvecli[semantic]

# Download pre-computed embeddings (approx. 700MB)
cvecli db update --embeddings

# Search
cvecli search --semantic "privilege escalation via kernel race condition"

Development

git clone https://github.com/RomainRiv/cvecli.git && cd cvecli
uv sync --all-extras
just test  # or: uv run pytest

This project uses just as a task runner.

License

MIT License. CVE data is subject to CVE Terms of Use.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cvecli-0.1.1.tar.gz (499.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cvecli-0.1.1-py3-none-any.whl (110.7 kB view details)

Uploaded Python 3

File details

Details for the file cvecli-0.1.1.tar.gz.

File metadata

  • Download URL: cvecli-0.1.1.tar.gz
  • Upload date:
  • Size: 499.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cvecli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0168bef3e0953fd390cd46b781e126d2afc4bd24a3cd32fdca29e0d6f577ab75
MD5 1a664a9ae26fe1dcdc2d6ed69fac73be
BLAKE2b-256 6d79e1218a2ac2927d7d6849b17e315a2fc4783e7838396a832e219f45d831d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cvecli-0.1.1.tar.gz:

Publisher: release.yml on RomainRiv/cvecli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cvecli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: cvecli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 110.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cvecli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 878784e1a620a9579fa8748a668597b48ee92706ee428ee77d9934c5ae9b4a3d
MD5 dde3dca8212649a15308f90855c58898
BLAKE2b-256 c609d0191634319486bcfa1b22bdaabfb8df2430a6deeff7d3a74d71c39b55ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for cvecli-0.1.1-py3-none-any.whl:

Publisher: release.yml on RomainRiv/cvecli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page