Categories
Security

Exploring CVE with CVEMap Command Line Tool

CVEMap is a user-friendly, open-source command-line interface (CLI) tool engineered for seamless exploration of Common Vulnerabilities and Exposures (CVEs). Its purpose is to provide a smooth and intuitive platform for delving into vulnerability databases. However, the tool relies on a free cloud service.

I have tested it, and it’s beneficial to be aware of and include it in my arsenal. I don’t frequently require a comprehensive overview of all CVEs. However, if I do, I now know one method to achieve this.


   ______   _____  ____ ___  ____  ____
  / ___/ | / / _ \/ __ \__ \/ __ \/ __ \
 / /__ | |/ /  __/ / / / / / /_/ / /_/ /
 \___/ |___/\___/_/ /_/ /_/\__,_/ .___/
                               /_/


                projectdiscovery.io

[INF] Current cvemap version v0.0.4 (latest)
[FTL] Error getting CVEs: [:RUNTIME] unauthorized: 401 (get your free api key from https://cloud.projectdiscovery.io)

This is how the website looks. Please do not attempt to use this API key as it is no longer valid.

https://cloud.projectdiscovery.io/ (2024-02-09)

Once you have obtained an API key from the website after signing up, you can start the command-line tool with the ‘-auth’ option and then provide your key to log in. This step is required to use the tool.

PS D:\cvemap_0.0.4_windows_amd64> .\cvemap.exe -auth


   ______   _____  ____ ___  ____  ____
  / ___/ | / / _ \/ __ \__ \/ __ \/ __ \
 / /__ | |/ /  __/ / / / / / /_/ / /_/ /
 \___/ |___/\___/_/ /_/ /_/\__,_/ .___/
                               /_/


                projectdiscovery.io

[INF] Get your free api key by signing up at https://cloud.projectdiscovery.io
[*] Enter PDCP API Key (exit to abort):
[INF] Successfully logged in as (@webperformancech)

This is the help menu displaying some of the options. I haven’t explored all of them yet. What’s really cool is that with the ‘-j’ option, you can have the output formatted as JSON.

.\cvemap.exe -h
Navigate the CVE jungle with ease.

Usage:
  D:\cvemap_0.0.4_windows_amd64\cvemap.exe [flags]

Flags:
CONFIG:
   -auth  configure projectdiscovery cloud (pdcp) api key

OPTIONS:
   -id string[]                    cve to list for given id
   -cwe, -cwe-id string[]          cve to list for given cwe id
   -v, -vendor string[]            cve to list for given vendor
   -p, -product string[]           cve to list for given product
   -eproduct string[]              cves to exclude based on products
   -s, -severity string[]          cve to list for given severity
   -cs, -cvss-score string[]       cve to list for given cvss score
   -c, -cpe string                 cve to list for given cpe
   -es, -epss-score string         cve to list for given epss score
   -ep, -epss-percentile string[]  cve to list for given epss percentile
   -age string                     cve to list published by given age in days
   -a, -assignee string[]          cve to list for given publisher assignee
   -vs, -vstatus value             cve to list for given vulnerability status in cli output. supported: confirmed, unconfirmed, modified, rejected, unknown, new

UPDATE:
   -up, -update                 update cvemap to latest version
   -duc, -disable-update-check  disable automatic cvemap update check

FILTER:
   -q, -search string  search in cve data
   -k, -kev            display cves marked as exploitable vulnerabilities by cisa (default true)
   -t, -template       display cves that has public nuclei templates (default true)
   -poc                display cves that has public published poc (default true)
   -h1, -hackerone     display cves reported on hackerone (default true)
   -re, -remote        display remotely exploitable cves (AV:N & PR:N | PR:L) (default true)

OUTPUT:
   -f, -field value         fields to display in cli output. supported: kev, template, poc, product, vendor, vstatus, age, cwe, epss, assignee
   -fe, -exclude value      fields to exclude from cli output. supported: kev, template, poc, product, vendor, vstatus, age, cwe, epss, assignee
   -lsi, -list-id           list only the cve ids in the output
   -l, -limit int           limit the number of results to display (default 50)
   -offset int              offset the results to display
   -j, -json                return output in json format
   -epk, -enable-page-keys  enable page keys to navigate results

DEBUG:
   -version  Version
   -silent   Silent
   -verbose  Verbose
   -debug    Debug