Skip to main content

Official CLI for CVEFinder.io API

Project description

CVEFinder CLI

Official command-line interface for CVEFinder.io API.

Scan websites for CVEs, vulnerabilities, and technology stacks directly from your terminal.

Features

  • 🔍 Scan websites for CVEs and vulnerabilities
  • 📊 Get scan results with detailed CVE information
  • 📦 Dependency analysis in scan get (summary by default, full list with --full)
  • 🔑 Manage API keys (create, list, revoke, rotate)
  • 📈 Export data to JSON, CSV, or table formats
  • 🎨 Rich terminal output with colors and tables
  • ⚙️ Simple configuration with API key via command or environment
  • 🚀 Fast and lightweight - pure Python implementation

Installation

From PyPI (Recommended)

pip install cvefinder-io

From Source

git clone https://github.com/CVEFinder/cli.git
cd cli
pip install -e .

Quick Start

1. Get Your API Key

Sign up at cvefinder.io and upgrade to Pro to get an API key.

2. Configure Your API Key

# Set your API key
cvefinder configure

# Or use environment variable
export CVEFINDER_API_KEY="your-api-key-here"

3. Scan a Website

# Basic scan
cvefinder scan run https://example.com

# Scan and save to file
cvefinder scan run https://example.com --output results.json

# Scan with specific output format
cvefinder scan run https://example.com --format table

Usage

Configuration

# Configure interactively
cvefinder configure

# Set specific values
cvefinder configure --api-key YOUR_API_KEY

# Show current configuration
cvefinder configure --show

Scanning

# Basic scan
cvefinder scan run https://example.com

# Scan with options
cvefinder scan run https://example.com \
  --format json \
  --output scan.json \
  --severity critical,high

# Get scan result by ID
cvefinder scan get SCAN_ID

# Include full dependency package list
cvefinder scan get SCAN_ID --full

# List recent scans
cvefinder scan list --limit 10

# Show page 2
cvefinder scan list --limit 10 --page 2

# Bulk scan commands (Pro)
cvefinder bulk scan --url https://a.com --url https://b.com
cvefinder bulk list
cvefinder bulk get BULK_SCAN_ID

# Export scan reports (Pro)
cvefinder export SCAN_ID --json
cvefinder export SCAN_ID --pdf

# Show account usage and limits
cvefinder account

# Search CVEs, products, and vendors
cvefinder search wordpress --severity critical,high --published-year 2024

# Get exploit data for a CVE
cvefinder exploit CVE-2021-24176

# Monitor scans (Pro)
cvefinder monitor add
cvefinder monitor list
cvefinder monitor check --scan-id 123

API Key Management

# Create new API key
cvefinder api-keys create --name "CI/CD Pipeline"

# List all API keys
cvefinder api-keys list

# Revoke an API key
cvefinder api-keys revoke KEY_ID

# Rotate an API key
cvefinder api-keys rotate KEY_ID

Output Formats

# JSON output (default)
cvefinder scan run https://example.com --format json

# Table output (human-readable)
cvefinder scan run https://example.com --format table

# CSV output (for spreadsheets)
cvefinder scan run https://example.com --format csv

# Compact output (minimal)
cvefinder scan run https://example.com --format compact

Advanced Usage

# Verbose output for debugging
cvefinder --verbose scan run https://example.com

# Quiet mode (errors only)
cvefinder --quiet scan run https://example.com

Configuration File

CVEFinder CLI stores configuration in ~/.cvefinder/config.yaml:

default_profile: default

profiles:
  default:
    api_key: your-api-key-here

Environment Variables

# API key
export CVEFINDER_API_KEY="your-api-key"

Examples

CI/CD Integration

#!/bin/bash
# Scan production website and fail if critical CVEs found

RESULT=$(cvefinder scan run https://example.com --format json)
CRITICAL=$(echo "$RESULT" | jq '.severity_counts.critical')

if [ "$CRITICAL" -gt 0 ]; then
  echo "❌ Critical CVEs found: $CRITICAL"
  exit 1
fi

echo "✅ No critical CVEs found"

Scanning Multiple URLs

#!/bin/bash
# Scan multiple websites

URLS=(
  "https://example.com"
  "https://api.example.com"
  "https://staging.example.com"
)

for url in "${URLS[@]}"; do
  echo "Scanning $url..."
  cvefinder scan run "$url" --format table
done

Export to CSV

# Scan and export to CSV
cvefinder scan run https://example.com --format csv > results.csv

# Open in Excel/Sheets
open results.csv

Commands Reference

Global Options

--api-key KEY        Override API key
--verbose, -v        Verbose output
--quiet, -q          Quiet mode (errors only)
--help, -h           Show help message
--version            Show version

Commands

Command Description
configure Configure API key and show current config
scan run URL Scan a website for CVEs
scan get ID Get scan results + dependency analysis summary
scan list List recent scans
export ID --json/--pdf Export a scan report as JSON or PDF
account Show account details and daily scan usage
search [QUERY] Search CVEs, products, and vendors
exploit CVE_ID Get exploit information for a CVE
bulk scan Start a bulk scan for multiple URLs
bulk get ID Get bulk scan status/results
bulk list List recent bulk scans
monitor add Add/enable monitoring for a scan
monitor list List monitored scans
monitor check --scan-id ID Check monitoring status for a scan
monitor enable Enable an existing monitored scan
monitor disable Disable an existing monitored scan
api-keys create Create new API key
api-keys list List all API keys
api-keys revoke ID Revoke an API key
api-keys rotate ID Rotate an API key

Requirements

  • Python 3.7 or higher
  • Pro subscription on cvefinder.io for API access

Plan Notes

  • Free/guest users can run core scan commands.
  • Pro is required for: bulk *, export --json/--pdf, and full dependency package details.

Contributing

Contributions are welcome! Please read our Contributing Guide for details.

License

MIT License - see LICENSE file for details.

Support

Links

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

cvefinder_io-1.0.1.tar.gz (31.8 kB view details)

Uploaded Source

Built Distribution

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

cvefinder_io-1.0.1-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file cvefinder_io-1.0.1.tar.gz.

File metadata

  • Download URL: cvefinder_io-1.0.1.tar.gz
  • Upload date:
  • Size: 31.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for cvefinder_io-1.0.1.tar.gz
Algorithm Hash digest
SHA256 e0014e4815609f6c588475573834533dc4849243718d3d24d3629d7b1e1779a8
MD5 854a931001844194eb56c440f694b727
BLAKE2b-256 83ad645ac7b99f7f38a1ff1122e721c2db388888860ef74b9b364d66f97b01a9

See more details on using hashes here.

File details

Details for the file cvefinder_io-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: cvefinder_io-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 26.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for cvefinder_io-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 65a9f6ff1341e881a6671083f32bab7a3a4c19db8057a0ec4ec11206bb0f2556
MD5 3872b4386014cf62fecd133202282a17
BLAKE2b-256 5eceecbb9870005ae3a1dac208986777e551336cdafe0daaad4a67c6347432b1

See more details on using hashes here.

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