Skip to main content

ENISA EUVD data fetcher and formatter

Project description

EUVD Mapper v1.5 - ! The pip repository will be updated on June 29, 2025.

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.5.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.5-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: euvdmapper-1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 c2cbd07ab3a0412289fbe7c1bbddc1de4d87be51b08dcb1610ca159818971c2d
MD5 210500725d33a3b11f30e458f4113cd8
BLAKE2b-256 0d7ce07eb6b831f97a2b10220a2db04b83707a60aab27aa97f63b538b5e667d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: euvdmapper-1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3027810997b9fd7836d0797d95c6a4ff5f14197ff05e82b9ae1c511d2aa9a6e2
MD5 8d54d1e6e7ae18f58c69b2ec30b0ee8f
BLAKE2b-256 2fa1d6ff8271bb8929668d08472456e3592d3ff577997e95eddd1640ef375fc0

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