Skip to main content

ENISA EUVD data fetcher and formatter

Project description

EUVD Mapper v1.6

License: MIT Python PyPI version Downloads

⚙️ ENISA EUVD Data Retriever and Formatter
Fetch, filter, and format data from ENISA’s Exploited Vulnerabilities Database (EUVD) with ease.

banner

✨ Features

🔄 New Lookup Flags
--last Show the latest 8 EUVD entries
--critical Show the latest 8 critical vulnerabilities
--enisa-id Lookup by ENISA internal ID (EUVD-YYYY-XXXX)
--advisory-id Lookup full advisory details by its slug

🚫 No-Banner Mode

  • --no-banner Suppress the ASCII art on terminals (works with -h too!)

🔍 Flexible Search
Query vulnerabilities by keyword, vendor, product, or any combination.

📤 Multiple Export Formats
Output results as .json, .csv, or interactive .html reports.

🧠 Smart HTML Reporting

  • CVSS-based risk coloring (Low / Medium / High / Critical)
  • Filter by vendor, product, or CVSS score
  • In-browser search and the ability to export reports in PDF format.

🔎 Lookup Utilities

  • Search by CVE ID or EUVD ID
  • Get alias mappings and extended metadata

⚠️ Live Threat Feed
Fetch latest exploited vulnerabilities using ENISA’s public API.

📌 Customized Watchlist Alerts

  • YAML-powered alerting system based on specific vendor/product pairs
  • Generates filtered .csv and .html reports
  • Automatically highlights high/critical vulnerabilities for watched assets

🖥️ Responsive Terminal Experience

  • ASCII art banner shown conditionally based on terminal width
  • Clean fallback mode for small terminal displays

📋 YAML Watchlist Format (for Alert Mode)

To use the --input <file>.yaml --alerts feature, your YAML file must define both vendor and product fields for each entry.

Example watchlist.yaml:

watchlist:
  - vendor: Microsoft
    product: Windows 10
  - vendor: Fortinet
    product: FortiOS
  - vendor: Cisco
    product: IOS

📦 Installation

** PYPI You can install euvdmapper directly from PyPI:

pip install euvdmapper


** Install from source:

```bash
git clone https://github.com/FerdiGul/euvdmapper.git
cd euvdmapper
pip install .

---

## 🚀 Usage

You can run the CLI tool via terminal:

```bash
euvdmapper -h

🔍 Examples

euvdmapper --keyword fortinet
    Searches for vulnerabilities by keyword and prints the results.

euvdmapper --keyword fortinet --output fortinet.csv
    Searches and exports results to CSV.

euvdmapper --keyword fortinet --output fortinet.html
    Generates an interactive HTML report.

euvdmapper --keyword google --output google.json
    Exports data in JSON format.

euvdmapper --lookup-cve CVE-2024-1234
    Looks up by CVE ID and prints to terminal.

euvdmapper --lookup-euvd EUVD-2024-5678
    Looks up by EUVD ID and prints to terminal.

euvdmapper --show-exploited --output exploited.html
    Displays the latest exploited vulnerabilities and generates an HTML report.

euvdmapper --show-exploited --output exploited.json
    Displays the latest exploited vulnerabilities and exports to JSON.

euvdmapper --vendor Fortinet --output fortinet.html
    Filters vulnerabilities by vendor and generates an HTML report.

euvdmapper --product FortiOS --output fortios.csv
    Filters vulnerabilities by product and exports to CSV.

euvdmapper --keyword firewall --vendor Fortinet
    Searches by keyword and filters by vendor.

euvdmapper --keyword firewall --vendor Fortinet --product FortiGate --output combo.json
    Full filter: keyword + vendor + product with export.

euvdmapper --input watchlist.yaml --alerts
    Loads a YAML-based custom vendor/product watchlist and generates interactive HTML + CSV
    reports with CVSS-based risk levels, alt IDs, and filterable UI.

euvdmapper --keyword fortinet --no-banner | jq .
    # raw JSON output (no banner)

euvdmapper --last --output last.json
    # fetches last 8 entries (API cap: max 8)

euvdmapper --critical --output critical.csv
    # fetches last 8 critical entries (API cap: max 8)

euvdmapper --enisa-id EUVD-2025-1234
    # lookup by ENISA internal ID

euvdmapper --advisory-id cisco-sa-20210315-abcd
    # fetch full advisory metadata

📂 Output Formats

Format Description
.json Machine-readable structured output
.csv Spreadsheet-friendly tabular data
.html Interactive report with filterable UI

🔔 HTML reports support browser search, color-coding by CVSS, and filter dropdowns.


📸 Preview

IMG2 IMG1

https://github.com/user-attachments/assets/5a2b1196-dfaa-49f9-9b52-8bede5bc5804


🙋‍♂️ Author

Developed by: Ferdi Gül
📧 Email: 0xfrd1gul@gmail.com
🔗 LinkedIn: linkedin.com/in/ferdigul
💻 GitHub: github.com/FerdiGul


📝 License

This project is licensed under the MIT License.

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

euvdmapper-1.6.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

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

euvdmapper-1.6-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file euvdmapper-1.6.tar.gz.

File metadata

  • Download URL: euvdmapper-1.6.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.10

File hashes

Hashes for euvdmapper-1.6.tar.gz
Algorithm Hash digest
SHA256 962e9bdeba626304b977f9ed3f66d28b0facdecb7437598970673452c21c5cf5
MD5 b0c10c878850a759270ed563362522f1
BLAKE2b-256 9807c505bf07f3da947f7d660d9f7c9bc6c287d91da1272674fc38e43f8d7b5f

See more details on using hashes here.

File details

Details for the file euvdmapper-1.6-py3-none-any.whl.

File metadata

  • Download URL: euvdmapper-1.6-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.10

File hashes

Hashes for euvdmapper-1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1f962213da9591df426cf29a971eb6a8d1ba6df9e78025d7e12c2995a39c2c25
MD5 c0de20564361a1bb14e0a6a5098ce13e
BLAKE2b-256 0bcbfe0c5eeae517550cb3c320597a09e9a702dd36d4198fc5626141da540be8

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