When it comes to cybersecurity, speed and privacy are critical. Public vulnerability databases like NVD and MITRE are valuable, but relying on them directly can expose sensitive queries or create delays. That’s where CVE-Search steps in.
CVE-Search is an open-source tool that imports CVE (Common Vulnerabilities and Exposures) and CPE (Common Platform Enumeration) data into MongoDB. This allows you to build a local CVE vulnerability database, making queries faster, private, and automation-ready.
It includes:
CVE-Search requires Python 3.3+ and MongoDB 2.2+ (or newer). Install MongoDB either from your distribution’s package manager or directly from MongoDB. Don’t forget to include the development headers.
For installation instructions, refer to the MongoDB manual.
Once MongoDB is running, populate your CVE and CPE data:
./sbin/db_mgmt.py -p
./sbin/db_mgmt_cpe_dictionary.py
./sbin/db_updater.py -c
This fetches XML data from official CVE and CPE databases. The first import can take time depending on your system.
To add cross-references from NIST, Red Hat, and other vendors:
./sbin/db_mgmt_ref.py
To update the database regularly:
./sbin/db_updater.py -v
cron
syslog
by defaultTo fully reset and repopulate:
./sbin/db_updater.py -v -f
With your database populated, query it using search.py
:
./bin/search.py -p cisco:ios:12.4
./bin/search.py -p cisco:ios:12.4 -o json
./bin/search.py -f nagios -n
./bin/search.py -p microsoft:windows_7 -o html
Example: Find all Cisco WebEx vulnerabilities with official references:
./bin/search.py -p webex: -o csv -v "cisco"
Lookup a specific CVE:
./bin/search.py -c CVE-2010-3333
Other utilities include:
./bin/search_xmpp.py -j mybot@jabber.org -p strongpassword
./bin/dump_last.py -f atom -l 2
./web/index.py
CVE-Search allows ranking vulnerabilities per organization or department.
Example: Mark SAP NetWeaver as critical for accounting:
./sbin/db_ranking.py -c "sap:netweaver" -g "accounting" -r 3
./bin/search.py -c CVE-2012-4341 -r -n
Because CVE-Search is modular, you can combine it with Unix tools for analysis.
python3 bin/search_fulltext.py -q unknown -f \
| jq -c '.vulnerable_configuration[0]' \
| cut -f5 -d: | sort | uniq -c | sort -nr | head -10
python3 bin/search.py -p oracle:java -o json | jq -r '.cvss' | Rscript -e 'summary(...)'
python3 bin/search.py -p sun:jre -o json | jq -r '.cvss' | Rscript -e 'summary(...)'
Index CVEs:
./sbin/db_fulltext.py
Search full-text index:
./bin/search_fulltext.py -q NFS -q Linux
Generate visualization JSON (requires NLTK):
./bin/search_fulltext.py -g -s > cve.json
This produces keyword insights and frequency analysis for vulnerabilities.
CVE-Search includes:
Examples:
curl http://127.0.0.1:5000/api/browse/ # List vendors
curl http://127.0.0.1:5000/api/browse/zyxel # Zyxel products
curl http://127.0.0.1:5000/api/search/zyxel/p-660hw
A public API is also available at cve.circl.lu.
Several projects extend CVE-Search:
Together, these enhance automation, monitoring, and proactive vulnerability management.
One of the easiest ways to get started with CVE-Search today is by using its official Docker Compose setup. This avoids the need to manually configure MongoDB, Redis, or dependencies on your host system.
git clone https://github.com/cve-search/CVE-Search-Docker.git
cd CVE-Search-Docker
Use Docker Compose to bring up the full stack (CVE-Search, MongoDB, Redis):
docker compose up -d
This launches all required services in the background.
Once running, the web interface is available at:
http://127.0.0.1:5000
From here, you can browse recent CVEs, search by vendor or product, and interact with the REST API.
Update CVE and CPE data inside the container with:
docker compose exec cvesearch ./sbin/db_updater.py -v
To gracefully shut down:
docker compose down
To remove all containers and volumes (resetting the database):
docker compose down -v
Docker is a powerful open-source containerization platform that allows developers to build, test, and deploy…
Docker is one of the most widely used containerization platforms. But there may come a…
Introduction Google Dorking is a technique where advanced search operators are used to uncover information…
Introduction In cybersecurity and IT operations, logging fundamentals form the backbone of monitoring, forensics, and…
What is Networking? Networking brings together devices like computers, servers, routers, and switches so they…
Introduction In the world of Open Source Intelligence (OSINT), anonymity and operational security (OPSEC) are…