Skip to content

About

CLI interface to understand CVEs and their related information

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

CVE Explorer CLI

A command-line interface tool to explore CVE (Common Vulnerabilities and Exposures) information.

Build & Publish to PyPI

Features

  • Look up CVE information from the FIRST EPSS API
  • Beautiful CLI interface with spinners and colored output
  • Fast and easy to use

cvex

Installation

pip install cve-explorer-cli

Usage

After installation, you can use the cvex command:

Look up a CVE

cvex lookup --id CVE-2022-27225

Browse downloaded CVEs

After cvex download, open an interactive table of every CVE in the local database (newest first). A brief of the highlighted CVE is shown below the table as you move.

cvex list --tui                     # 30 rows per page, updates itself every 5 minutes
cvex list --tui --limit 100         # rows per page (max 500)
cvex list --tui --sync-interval 60  # check for new CVEs every 60 seconds
cvex list --tui --sync-interval 0   # no background updates
Key Action
↑ / ↓ Move one row (continues onto the next/previous page at the edges)
PgUp / PgDn Move one screen at a time
Home / End Jump to the newest / oldest CVE
/ Filter by CVE ID (Esc returns to the table)
r Reload from the database
s Check for new and updated CVEs now
q Quit

Keeping the data up to date

Leave the TUI open and it keeps itself current: it checks the cvelistV5 update feed on the interval above and merges new and changed CVEs into cve.db. The header shows the result (for example +3 new, 5 updated · 14:05Z), and CVEs changed during the session are marked with ●. When you are on the first page the table refreshes in place and keeps the CVE you were reading highlighted; on any other page it leaves the table alone and tells you to press r.

You can also update from the command line:

cvex sync         # fetch what changed since the database was last updated
cvex sync --full  # re-download the whole CVE list first, then catch up

Changes are applied from the hourly releases of cvelistV5, plus its 5-minute feed for the very latest. If the database is older than about a month, the feed can no longer cover the gap: the TUI says so, and cvex sync --full brings it current without deleting anything. The first sync converts cve.db to SQLite's WAL mode so the TUI can keep reading while an update is written.

Get help

cvex --help

Requirements

  • Python >= 3.11

Development

To contribute or develop locally:

# Clone the repository
git clone https://github.com/meddlin/cve-explorer-cli.git
cd cve-explorer-cli

# Create a virtual environment
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt

# Run locally
python -m cve_explorer_cli.main lookup --id CVE-2022-27225

About

CLI interface to understand CVEs and their related information

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages