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.
📖 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0168bef3e0953fd390cd46b781e126d2afc4bd24a3cd32fdca29e0d6f577ab75
|
|
| MD5 |
1a664a9ae26fe1dcdc2d6ed69fac73be
|
|
| BLAKE2b-256 |
6d79e1218a2ac2927d7d6849b17e315a2fc4783e7838396a832e219f45d831d6
|
Provenance
The following attestation bundles were made for cvecli-0.1.1.tar.gz:
Publisher:
release.yml on RomainRiv/cvecli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cvecli-0.1.1.tar.gz -
Subject digest:
0168bef3e0953fd390cd46b781e126d2afc4bd24a3cd32fdca29e0d6f577ab75 - Sigstore transparency entry: 886541940
- Sigstore integration time:
-
Permalink:
RomainRiv/cvecli@15cea1b0d7d2d45f0089645b0aed8a2d7d8475ac -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/RomainRiv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@15cea1b0d7d2d45f0089645b0aed8a2d7d8475ac -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
878784e1a620a9579fa8748a668597b48ee92706ee428ee77d9934c5ae9b4a3d
|
|
| MD5 |
dde3dca8212649a15308f90855c58898
|
|
| BLAKE2b-256 |
c609d0191634319486bcfa1b22bdaabfb8df2430a6deeff7d3a74d71c39b55ae
|
Provenance
The following attestation bundles were made for cvecli-0.1.1-py3-none-any.whl:
Publisher:
release.yml on RomainRiv/cvecli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cvecli-0.1.1-py3-none-any.whl -
Subject digest:
878784e1a620a9579fa8748a668597b48ee92706ee428ee77d9934c5ae9b4a3d - Sigstore transparency entry: 886541953
- Sigstore integration time:
-
Permalink:
RomainRiv/cvecli@15cea1b0d7d2d45f0089645b0aed8a2d7d8475ac -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/RomainRiv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@15cea1b0d7d2d45f0089645b0aed8a2d7d8475ac -
Trigger Event:
release
-
Statement type: