Made with Google Gemini, consider a WIP
A highly-optimized, Terminal User Interface (TUI) based tool designed for users who wish to cross-reference and compare their security scan output with the latest SUSE product security scans.
Inspired by the information and scan databases provided at scans.rancher.com.
- Fast Search: Employs optimized lookup algorithms to quickly cross-reference large sets of CVEs against Rancher database scans.
- Interactive TUI: Built using Cursive, providing an intuitive, keyboard-driven interface.
- Dynamic Filtering: Filter vulnerabilities by Severity (Critical, High, Medium, Low), Affected status, and mirrored image configurations.
- Custom Theming: Complete support for user-defined, custom
.tomlthemes to personalize the user interface. - In-App Search: Quickly search through results with real-time highlighting.
To build this project, you will need to have Rust and Cargo installed on your system. If you do not have them installed, you can get them via rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh- Clone the repository:
git clone https://github.com/Brianalmeida/CVE-Comparer.git cd cve-comparer/Rust-Edition - Build the project using Cargo:
# For a debug build cargo build # For a highly-optimized release build (Recommended) cargo build --release
- The compiled executable will be located at
target/release/cve-comparer. You can move this to a directory in your$PATH(e.g.,/usr/local/bin/) for easy access.
A Source CSV file containing CVEs in your working directory is required to run the comparison against the downloaded Rancher database.
========================================================
CVE LOOKUP TOOL (Rust Version)
========================================================
A highly-optimized, TUI-based tool to cross-reference
CVEs against Rancher database scans.
A SOURCE CSV FILE with CVEs in your working directory is needed.
USAGE:
cve-comparer [OPTIONS]
OPTIONS:
-h, --help Print this help information and exit
-v, --version Print version information and exit
FILTERS:
Severity: Choose between Critical, High, Medium, Low, or All.
Affected: Filter by Affected or Not Affected CVEs.
Mirror: Include or Exclude mirrored images from the results.
INTERACTIVE SHORTCUTS (Inside TUI):
q / Esc - Navigate back to the main menu or prompt quit
t / T - Cycle through available themes
/ - Search and highlight text within the results
n / N - Jump to the next/previous search match
g / G - Scroll to the very top or bottom of the results
========================================================
cve-comparer supports fully customizable UI themes. Out of the box, the application defaults to a modern, Dracula-inspired palette, but you can create your own!
The application searches for themes (any .toml file) in two locations:
- Global Configuration (Recommended):
~/.config/cve-comparer/themes/(on Linux/macOS) - Local Directory:
./themes/(relative to where you run the tool)
Note: In the TUI, you can press T to instantly cycle through all of your discovered custom themes.
Create a new file (e.g., my_theme.toml) in one of the theme directories. Use standard 6-character hex codes to define your palette.
Example (theme.toml):
background = "#282a36"
view = "#44475a"
primary = "#f8f8f2"
title_primary = "#bd93f9"
highlight = "#6272a4"
highlight_text = "#50fa7b"