{ "cells": [ { "cell_type": "markdown", "id": "604150b3-255c-441f-8f67-c95b2f91158e", "metadata": {}, "source": [ "# CVE" ] }, { "cell_type": "markdown", "id": "9688bdc8-ceb9-4fb5-a43b-588a5f108d83", "metadata": {}, "source": [ "**Common Vulnerabilities and Exposures Identifier (CVE ID)** is a unique, alphanumeric identifier assigned by the CVE Program. Each identifier references a specific vulnerability. A CVE ID enables automation and multiple parties to discuss, share, and correlate information about a specific vulnerability, knowing they are referring to the same thing\n", "\n", "> source: [www.cve.org](https://www.cve.org/ResourcesSupport/Glossary?activeTerm=glossaryCVEID)" ] }, { "cell_type": "markdown", "id": "bb012dcd-8476-4501-8ca2-1008a08588e3", "metadata": {}, "source": [ "You can see this notebook directly via:\n", "- [GitHub](https://github.com/LimberDuck/limberduck_org_julio_7/blob/main/docs/notebooks/cve/cve.ipynb)\n", "- [Jupyter nbviewer](https://nbviewer.org/github/LimberDuck/limberduck_org_julio_7/blob/main/docs/notebooks/cve/cve.ipynb)" ] }, { "cell_type": "markdown", "id": "f7c29080-90bd-4e34-bc6f-92511ed31595", "metadata": {}, "source": [ "## Generation time" ] }, { "cell_type": "code", "execution_count": 1, "id": "ff06696a-18c2-4c59-9cae-bc0dd8b7b308", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2025-04-05 17:08:26 +0000\n" ] } ], "source": [ "from datetime import datetime, timezone, timedelta\n", "\n", "timezone_offset = 0.0\n", "tzinfo = timezone(timedelta(hours=timezone_offset))\n", "generation_time = datetime.now(tzinfo).strftime('%Y-%m-%d %H:%M:%S %z')\n", "print(generation_time)" ] }, { "cell_type": "markdown", "id": "f3a4c46a-1ece-4601-9f72-90d64e12f888", "metadata": {}, "source": [ "## Creative Commons" ] }, { "cell_type": "markdown", "id": "33983601-bf85-4ba0-babc-5e3a69bc5ef4", "metadata": {}, "source": [ "This notebook and generated diagrams are released with [Creative Commons liecense (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.en).\n", "\n", "\"CC" ] }, { "cell_type": "code", "execution_count": 2, "id": "17811d3a-f62b-4c35-9bad-75fcdc9e9cf5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cc.xlarge.png\n", "by.xlarge.png\n" ] } ], "source": [ "import requests\n", "import urllib3\n", "\n", "urllib3.disable_warnings()\n", "\n", "urls = ['https://mirrors.creativecommons.org/presskit/icons/cc.xlarge.png',\n", " 'https://mirrors.creativecommons.org/presskit/icons/by.xlarge.png']\n", "for url in urls:\n", " file_name = url.split(\"/\")[-1:][0]\n", " print(file_name)\n", "\n", " file = requests.get(url, verify=False)\n", " open(file_name, 'wb').write(file.content)" ] }, { "cell_type": "markdown", "id": "f0d55e25-0b30-4377-95cf-20f471fcaf21", "metadata": {}, "source": [ "## CVE data downloading" ] }, { "cell_type": "markdown", "id": "b29a1112-344a-4015-91d1-c1ee0aa63629", "metadata": {}, "source": [ "All CVE IDs are taken from [https://www.cve.org/Downloads](https://www.cve.org/Downloads)" ] }, { "cell_type": "code", "execution_count": 3, "id": "239ee776-f15c-43d4-a8f5-d1ca251f0f37", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "main.zip\n" ] } ], "source": [ "url = 'https://github.com/CVEProject/cvelistV5/archive/refs/heads/main.zip'\n", "file_name = url.split(\"/\")[-1:][0]\n", "print(file_name)" ] }, { "cell_type": "code", "execution_count": 4, "id": "50f24f67-75e2-4d85-bf23-47182cbf46f3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "465762550" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import requests\n", "import urllib3\n", "\n", "urllib3.disable_warnings()\n", "\n", "file = requests.get(url, verify=False)\n", "open(file_name, 'wb').write(file.content)" ] }, { "cell_type": "code", "execution_count": 5, "id": "e02dc4ee", "metadata": {}, "outputs": [], "source": [ "import zipfile\n", "\n", "with zipfile.ZipFile(file_name, 'r') as zip_ref:\n", " zip_ref.extractall()" ] }, { "cell_type": "markdown", "id": "cb262f32-6398-44c9-a365-d5e1b47dfcd8", "metadata": {}, "source": [ "## CVE data parsing" ] }, { "cell_type": "code", "execution_count": 6, "id": "69608e9f-cbad-40db-85f2-48d25d1aa381", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " number year\n", "0 CVE-1999-0001 1999\n", "1 CVE-1999-0002 1999\n", "2 CVE-1999-0003 1999\n", "3 CVE-1999-0004 1999\n", "4 CVE-1999-0005 1999\n", "... ... ...\n", "288692 CVE-2025-3268 2025\n", "288693 CVE-2025-3296 2025\n", "288694 CVE-2025-3297 2025\n", "288695 CVE-2025-3298 2025\n", "288696 CVE-2025-3299 2025\n", "\n", "[288697 rows x 2 columns]\n" ] } ], "source": [ "import os\n", "import json\n", "import pandas as pd\n", "\n", "base_path = \"cvelistV5-main/cves\"\n", "rows = []\n", "\n", "for item in os.listdir(base_path):\n", " item_path = os.path.join(base_path, item)\n", "\n", " if not os.path.isdir(item_path) or not item.isdigit():\n", " continue\n", "\n", " year = int(item)\n", "\n", " for root, dirs, files in os.walk(item_path):\n", " for file in files:\n", " if file.endswith(\".json\"):\n", " full_path = os.path.join(root, file)\n", "\n", " try:\n", " with open(full_path, \"r\", encoding=\"utf-8\") as f:\n", " data = json.load(f)\n", " cve_id = data.get(\"cveMetadata\", {}).get(\"cveId\")\n", " if cve_id:\n", " rows.append({\"number\": cve_id, \"year\": year})\n", " except Exception as e:\n", " print(f\"Failed to parse {full_path}: {e}\")\n", "\n", "df = pd.DataFrame(rows).sort_values(by=\"number\").reset_index(drop=True)\n", "\n", "print(df)" ] }, { "cell_type": "code", "execution_count": 7, "id": "ecbe6644-37e1-4747-b8cc-3181570bfb1e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 yearnumber
119991579
220001242
320011556
420022393
520031554
620042707
720054767
820067142
920076580
1020087176
1120095040
1220105217
1320114861
1420125893
1520136780
1620148982
1720158748
18201610555
19201717019
20201817487
21201917029
22202020594
23202123056
24202226060
25202329523
26202437576
2720257581
\n" ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df.groupby(['year'], as_index=False)[['number']].count()\n", "df.reset_index(drop=True, inplace=True)\n", "df.index += 1\n", "\n", "df.style.bar(subset=['number'], color='#FF6200')" ] }, { "cell_type": "markdown", "id": "c8f1485b-5641-4610-92ab-25ffb1493bea", "metadata": {}, "source": [ "## CVE data saving" ] }, { "cell_type": "markdown", "id": "5b3522c7-1d6e-46c0-8400-ea82dbbb645f", "metadata": {}, "source": [ "CSV file is available in GitHub repository, see:\n", "\n", "- [file via GitHub](https://github.com/LimberDuck/limberduck_org_julio_7/blob/main/docs/notebooks/cve/cve-number-of-entries.csv)\n", "- [file directly](https://raw.githubusercontent.com/LimberDuck/limberduck_org_julio_7/main/docs/notebooks/cve/cve-number-of-entries.csv)" ] }, { "cell_type": "code", "execution_count": 8, "id": "6c1d9ff7-d783-4362-9f8f-336abded29bb", "metadata": {}, "outputs": [], "source": [ "csv_filename = 'cve-number-of-entries.csv'\n", "\n", "df.to_csv(csv_filename, index=False)" ] }, { "cell_type": "markdown", "id": "8142803d-8e8f-4d65-81d1-cf54eeeeacfc", "metadata": {}, "source": [ "## CVE data ploting" ] }, { "cell_type": "markdown", "id": "2ee8dc00-a654-4c99-98fb-9a87fa96d2f0", "metadata": {}, "source": [ "PNG files are available in GitHub repository with two background versions, see: \n", "\n", "- [file via GitHub (white background)](https://github.com/LimberDuck/limberduck_org_julio_7/blob/main/docs/notebooks/cve/cve-number-of-entries-bg-white.png)\n", "- [file via GitHub (transparent background)](https://github.com/LimberDuck/limberduck_org_julio_7/blob/main/docs/notebooks/cve/cve-number-of-entries-bg-transparent.png)\n", "- [file directly (white background)](https://raw.githubusercontent.com/LimberDuck/limberduck_org_julio_7/main/docs/notebooks/cve/cve-number-of-entries-bg-white.png)\n", "- [file directly (transparent background)](https://raw.githubusercontent.com/LimberDuck/limberduck_org_julio_7/main/docs/notebooks/cve/cve-number-of-entries-bg-transparent.png)" ] }, { "cell_type": "code", "execution_count": 9, "id": "f49c7474-a160-468f-9930-365b66710970", "metadata": {}, "outputs": [ { "data": { "image/png": "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WgAAAABAzCKoBQAAAADELIJaAAAAAEDMIqgFAAAAAMQsgloAAAAAQMwiqAUAAAAAxCyCWgAAAABAzCKoBQAAAADELIJaAAAAAEDMIqgFAAAAAMQsgloAAAAAQMwiqAUAAAAAxCyCWgAAAABAzCKoBQAAAADELIJaAAAAAEDMIqgFAAAAAMQsgloAAAAAQMzKFu0NAAAAAIDk+Oabb2zs2LG2ZcsWO/fcc61r165WqVIl++ijj2z8+PG2Z88eq169uvXo0cPy5cvn1rnrrrvsn3/+sSxZsrjn1apVs6FDh9rx48fthRdesC+//NL9fc0119gTTzzh1tu/f78988wztmjRIsuaNas1atTIHn74YcuWjTAqPYl6Te2///5r7du3t8qVK1udOnXs1Vdf9S1bt26dtW3b1p2gjRs3tvnz54dMSyfxddddZxUrVrROnTrZzp07fcvi4uLcSXvVVVfZlVdeaYMHD7aTJ0/6lu/atcseeughtx316tWz999/P0J7DAAAACClNmzYYH379nWB59dff2133HGHC2p//vlnd43fr18/++KLLyxv3rzufXLixAlbvXq1zZ492+bNm+ceig1k8uTJ9ueff9qbb75pH3zwgR06dMhGjhzplinYPe2009x6b7/9tstDMQfSl6gGtQoqO3ToYIUKFbJ3333X+vfvby+99JJ9+OGHLghVYFqkSBF3At10003WuXNn27hxY9C0fv31V+vVq5d7j07IvXv3ujszntdee82dgKNHj7ZRo0a5PPSaR+/dt2+fW/eBBx6w3r17uzQBAAAApB+bN2+25s2bW5UqVXy1pzJhwgSrX7++q6TKnj27u6ZX8Kq4QBVpBQsWtPz585+S3uHDh10lm5YrEL7xxht9cYBihD59+liuXLlcrHDkyBErUKBAmu8zQotqvfn27dutbNmy7m6KqvdLly5tV199tbsDomBWNbUzZsywPHny2AUXXGALFixwAa5qVANNmTLFndDNmjVzz3WXpm7dui6Nc845x92B6dKli1WtWtUtf/zxx90dGJ3Aa9eudXd55syZY2effbZdfPHFtmTJEps2bZpVqFAhzY8LAAAAgOAUzOrh+e2331xgqnhBFWMeBbyqRFOl2Jo1a1yNq1qBqqZXLUG7d+9uRYsWtQcffDBe+modeuGFF7q/vWbGqhVWrKBWnzVr1kyzfUUM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d1wQqvf5p6eaXbUX1/v69u3r62+rPgcKaj///HPXxrt9+/bWtm1b37r//vuvm8dWTY5LlSplPXv2tGuuuSbJ++I1Py5btmy85scAAABAptU+S3jSmRCXvvMMV77JzRPpp09tSqnWVjWu6QFBLQAAABCAoDayeSLpzY/V33XLli3xXtMIWoEdiv/66y9r3ry5pYWffvrJN5IgAAAAACBzSlJQq1GF/YNajWJ19dVXu5pJf2riq8Gc0oJGO37mmWfSJC8AAAAAQPqUpGGlgrVQjnar5eSOiAUAAAAAyHiiOvoxAAAAAACpQVALAAAAAIhZBLUAAABABvDNN99Yq1atrHbt2nbXXXfZkiVL3OuzZs2ypk2bWq1atez+++9302V65s+fby1atLAaNWq46TN37drlW9a9e3erXr261axZ0z1at27tW7Zw4UK75ZZbXJr33XefrVu3Lo33FvgfgloAAAAgxm3YsMH69u1rTzzxhH399dd2xx13WNeuXW3x4sVu0NcxY8a4oPfyyy+3gQMHunW2b99uvXv3tp49e9qcOXOscOHCNmjQIF+aK1eutAkTJti8efPcY8qUKe71TZs2WY8ePVz6SrNy5cr29NNPR23fgSSPtqQ7PHPnzvUNEpUlSxZ788037cwzz/S9J3DaHwAAAACRt3nzZje1ZpUqVdzzRo0a2dChQy1Xrlz27rvvWp48edxMJfv377cCBQq49ygg1YwiVatWdc87d+5sDRo0cO/JmjWrS/P8888/Ja/Zs2dbnTp17KqrrnLP27VrR00tYiOofeutt5L0moJdAAAAAGlHwawX0Mpvv/1mhw8ftnPOOccFtKppVc1q3rx5bdy4ce49aoZcunRp3zoFCxa0fPny2fr16+3o0aOWO3due/jhh12N7cUXX+yaI+v9f/31l5UoUcI6derkpvMsV66c9erVKyr7DSQ5qE2ruWcBAAAApI5qTRWAduzY0QWpUq1aNfvuu+9s0qRJru+sam9Vc1u0aNF466pmV8HwkSNH7LLLLrNHHnnESpYs6dZ77LHHXKXWvn377P3337eRI0e6YFf/P/XUU75gGUiXfWoXLVoU+S0BAAAAkCrLli1zzYGbNWvmBovy5MiRw7Jnz27t27d3QemqVatcAKvg1Z8CWtXQKggeNWqUa36cM2dO69Chg+3YscP++ecfy5Ytm2t+XL58ebdMg0/98ssvduDAgSjsMZDEoPbuu++2+vXru7svW7dujfxWAQAAAEiWBQsWuCbBeijQlI8++sj69evne8/JkyftxIkTdvrpp7umxP/++69v2e7du11/WjVZVnPlzz77zLdM6+ih4LhUqVLuff5pqguixt0B0m1QqyYFukujuzX16tVzTRk0QppObAAAAADRtXbtWjfycZ8+fVwtrUdNiL/66itXk3rs2DEbO3asazKsJsWa+keva3oe1dhqhGRN0aM+uHrvsGHDXM2s+tdq2YUXXugC2oYNG7oAWlMG6X0vv/yyXXHFFb6mzkBayxKXjFsqO3futA8++MA9/vjjDytSpIgbZU1zW5133nmWmR08eNCWL19uZcuWdQUBAAAAkFZGjBhhU6dOdU2K/alSas+ePe5/1cRq+h1Nx6PreFFwOnz4cNcaUyMh9+/f3w0YJZMnT3aznezdu9etp6l/ihcv7hs5WQGyRkiuUKGCC6b9Z0XxaR+mQWQnJKMWOBp5hivf5OaJ5Ae1/v7880977733XJMGzXGlOa80AbPu3AR+mTIDgloAAAAgAEFtZPNE0psfB3PJJZe4Jg7ffvutvfLKK64pwvPPP281a9ZMaZIAAAAAAKRNUOtRRa//4/jx46lNEgAAAACA8M1TG4w6lX/44Yf26aefuvb5FStWdBM6N27cOKVJAgAAAIgUmscig0pWUPv333+7QaLUj3bjxo1WuHBhN1DUzTff7EZHBgAAAAAg3QW1EydOdLWyK1assNNOO831m9XoZ5p0Wc8BAAAAAEi3Qe3gwYPdlD1qXqx5r7whwAEAAAAASPdB7bRp09yUPQAAAAAAxNzox15A+/XXX9vChQtPWd65c2f74osvwr91AAAAAACEY0qfp556yh588EH78ssv472+ZcsW++mnn6xLly42YMCASGwjAAAAAAApD2rff/99mzVrlj366KPWvXv3eMuKFStm3333nautnTFjhn3yySdJSRIAAAAAgLQJaqdPn2633XabdejQwXLkyHHKco2A3KlTJ2vUqJFNmTIl9VsFAAAAAEC4gtp//vnHTd+TGAW1mssWAAAAAIB0E9SeOHEiSfPR5s2b144dOxaO7QIAAAAAIDxBbenSpe3XX39N9H1Lly61EiVKJCVJAAAAAADSJqht2rSpTZ482datW5fge9avX+/ec+2116Z+qwAAAAAACFdQe8cdd1jx4sXt1ltvtYkTJ9rq1avt6NGjdvjwYdeH9rXXXrNWrVrZ6aefbm3btk1KkgAAAAAApFq2pLxJIx5PmDDBTeczePBgGzJkSLzlcXFxVqtWLevfv78VLFgw9VsFAAAAAEC4glopXLiwC2xXrFhhc+fOtc2bN7vBo0qWLGk1atSwCy+8MKlJAQAAAACQtkGtp0yZMu4BAAAAAEBM9KkFAAAAkHTffPONG3Omdu3adtddd9mSJUvc6/Pnz7cWLVq4lo6PPvqo7dq1y7eOuvpVr17datas6R6tW7f2LZs0aZI1adLEDcqq7oDBptF86aWXrEOHDmm0h0D6QVALAAAAhNGGDRusb9++9sQTT9jXX3/tBl3t2rWr677Xu3dv69mzp82ZM8d17xs0aJBvvZUrV7rufvPmzXOPKVOmuNc//fRTmzFjho0cOdI+/PBD27Rpk40aNSpenn/88YebiQTIjAhqAQAAgDBS8Nq8eXOrUqWKZc2a1Ro1auRe//jjj61SpUpWtWpVy5kzp3Xu3NmNVbN//347ePCgW+/8888PWut7yy23uDFs8uTJY/fee6/Nnj3bDdYqmpVk4MCB1rJlyzTfVyBmgtoffvjBDh06FPmtAQAAAGKcgtlHHnnE9/y3335zU2GuX7/eSpcu7Xtds4bky5fPvb5q1SrLnTu3Pfzww3bdddfZgw8+aGvWrHHvO3HihOXKlcu3ngZr3bNnj+3du9fX7FjNlS+55JI03U8gpoJafanUpEHatGnj5qYFAAAAENq6detcX9mOHTu6Wlv/4FT0XAGvKpAuu+wy69atm6vRrVixoj322GN2/PhxF7DOnDnT1q5dawcOHLDXX3/dV0O7dOlSW7Rokau9BTKrJI1+fPLkSVuwYIEVL17c1drqrpHuJCWkRIkS4dxGAAAAIOYsW7bMDQZ18803u8GihgwZYkeOHIn3HgW0uq5Ws+Rq1ar5XteAT9OmTbN//vnHbrjhBtu4caMLjNVsuX379vbFF1+4Wt5nnnnGBgwYYNmzZ4/CHgIxFNTWr1/fRo8ebWPGjLEsWbK49v+hLF++PFzbBwAAAMQcVQg9+eSTLqht1qyZe01Nj/W6Z/fu3a4/7TnnnOMGhlK/2gYNGviaHOuRI0cO2759u0tDQa0sXLjQzj77bFuxYoUblMp7XSMiq2a3Tp06rh8ukFkkKajVHaCGDRu6Icd79OhhDzzwgJ177rmR3zoAAAAgxqiZsEY+1gjImoLHo+l9VEmkoLRy5cru71q1arnBnxSQDhs2zC6++GIrWbKk6yergaFKlSpl7733nr377rs2duxY10xZyzQQldL47rvvfOlrZGQ9xo0bF6U9B9JxUKvO6LrjI2p+rLm1dEcJAAAAQHzvvPOOCz779evnHh5Nw/Pss8+64HXr1q2uyXH//v3dsnr16rkBo9QiUgNAKWB97rnn3DI1P1at7I033uiuy2+66SbXnBnAf7LEeWOBJ5OGH1eAqy9doUKF3NDk6sSeWam5iJpdly1b1t1tAwAAANKV9llSn8aEuLTPM7n5RiPPcOWb3DyR9JpafxplTaMhz58/390pUkCrZslq5nDVVVfZK6+84tr+AwAAAACQLqb08ffiiy/azz//bIMHD7Zff/3VBbcaSlxNKZYsWeLa+AMAAAAAkC5raj/66CPX1l9t+n2JZMvmRmTbsWOHTZ8+3U0aDQAAACAdNY8FMqhk19Tu3LnTLr300qDL9PqWLVvCsV0AAAAAAIQ/qNVUPmp+HMyPP/5oZ511VrLSUxDcpUsXu/LKK91AU2rG7E1KvW7dOmvbtq0bGa5x48auqXNitcjXXXedVaxY0Tp16uQCcI/Gwxo6dKjr96u81Hz65MmTvuXqF/zQQw+5keY0+tz777+frP0AAAAAAMRAUHvbbbe5waBeffVV27Rpk5tTS/+PHz/ePVq2bJnktBRoKqDVkOdTp061F154wb7++msbMWKEW6bAtEiRIvb222+7ocvV7Hnjxo1B01L/3l69ern3vPnmm25UZs2p63nttddc0Dt69Gg3nLrm8NJrHr133759bl3Nw9u7d2+XJgAAAAAgA/Wpvf322+2PP/5wtZ6aY8ujIFSTQHfo0CHJaa1evdoNLqVJoxW8ioLc559/3k1ErZraGTNmuClyLrjgAluwYIELcFWjGmjKlCnWqFEj17dXVBNbt25dl4bm1J08ebJLW1MPyeOPP24jR4609u3buwmyFUzPmTPHzj77bDfptbZr2rRpVqFCheQeIgAAAABAeg1qs2bNas8884y1a9fOzVO7Z88eK1CggGvSq8AzOYoWLepqfL2A1rN//343orL66PrP+VqlShUXbAaj9993332+52oGXaJECfe6phhSbfIV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WKFChdyy7t2723fffWdZs/5XR1GqVCm3vtx11132zz//WJYsWdzzatWq2dChQ93f1113nR05csSXZ7Nmzaxr165pvq8AEC4EtQAAAFF24sQJe+ONN2zs2LHWuHFj99r27dutd+/eLhgtX768DRkyxAYNGuT+l5UrV9qECROsTJkyp6S1evVq++STTyx//vzxlik4Pn78uM2bNy8N9w4AIougFgAAIMpUM7tv3z5Xa3r06FH32jfffGOVKlWyqlWruuedO3e2Bg0a2P79+13t7ObNm+38888/Ja1///3XChYseEpAK3/99ZdddNFFabBHAJB26FMLAAAQZQ8//LCNGDHCChcu7HttzZo1Vrp0ad9zBar58uWz9evXuybKuXPnduupOfGDDz7o3u8Frqeddpq1bdvWrr/+euvWrZtt27bNV7u7d+9eu/32212A3L9/fxckA0AsI6gFAACIsiJFipzy2qFDhyxXrlzxXtPzw4cPu2WXXXaZC1g//vhjq1ixoj322GOuaXFcXJxdeuml9txzz9n777/vamx79erl1s+WLZtVqFDBNXN+8803befOnb6+tgAQq2h+DAAAkA4pgPUf0EkU0KqGVs2SNfiTp0OHDjZt2jQ3OFSjRo3cw/PQQw+52lzVyGoAKX8dO3a0Tp06pcHeAEDkUFMLAACQDqnpsfrHenbv3u0C03POOccN9PTZZ5/FGxxKjxw5cria24ULF/qWHTt2zPXBzZ49u02fPt3++OMP3zL139U6ABDLCGoBAADSodq1a9svv/ziAlTV2I4ZM8Zq1aplefLkcYHqsGHDXM2sAlMtu/DCC920Prt27XJNirds2WIHDx60kSNH2rXXXms5c+Z0/XHVd3fPnj0uSH755Zd9oy0DQKyi+TEAAEA6dOaZZ9qzzz7rgldNxaMmxxrYSerVq+cCVI2IrIGfKleu7PrQigaB2rFjh7Vp08Y1V77mmmusZ8+ebpneP3jwYGvRooXre1u/fn3XBBkAYlmWOJVoSDXdCV2+fLmVLVvW3UEFAACIae2zpD6NCXGZI8/k5huNPMOVL8c3svkmN084ND8GAAAAAMQsgloAAAAAQMyiTy0AAEB6Fq2mlAAQI9JNTa1G7mvatKktWrTI99q6deusbdu2bmAEjcw3f/78kGl89NFHbh42TUCuOdc0obhHXYc1EuBVV11lV155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seaP1QA8Wlf9EdV088EHH4z2biKNJDS3cah5jdXcXUGkmqrrBojOHzWLV2sADVT2+eefu9YDOpd0XtEUGACQXhHUAkA6q+lSbasewahZsn/TZH9NmjRxD2Q+weY2DjWvsVoGzJgxwwW8Gr1bwe6oUaPcYGWvv/66rV692t5//30XJCug1WsPPPBAVPcRAICEENQCABDjgs1tHGpe42+++cZuueUW37zG9957r2sF8Nhjj9k999zjpo3SCNpqLaD+sUmaFirC/dABAEgIQS0AADFMgWewuY3VPD2heY0V6PpPAaXlSkPN2hXA6rkGcZoyZYoLlm+66aYo7iEAAKER1AJAesH0OkgB9aH25jZW3+qPP/7YzW2sqaC8eY0VmGrUYQ00pqbENWvWdAON6X+Nkq3XRDW7no4dO1r79u2td+/ertnyoEGDoriXAAAkLGuIZQAAIJ1TE2IFrBUqVHADPWluY02noz6x3rzGanaseY3VV1bzGmsEbc2NrMBVNbnVq1d3aWlqHY/W0fP777/f5s+fH8U9BAAgNIJaAABi2JIlS9zUT/40grFGL05oXmM1WVbwO3v2bHv33XddEKxmyxqVWyNy+6en2lvmOwYApGcEtQAAxDBN36P+rwpuNZexRjVWIPrwww+7wHbp0qXu9VdffdU3r/F3333nRjU+cOCAC3BV09u8eXOX3qWXXur60m7ZssX1s9XUU40bN472bgIAkCD61AIAMtXcraqZVD9T9UW95JJL7Mknn3RT3nji4uLs8ccftzp16rhmuqKRgRcvXux7j4JEvW/hwoUWbQpCg81trGbJCc1rrP1asWKF3Xjjje65BoK66667XHr6WwFtmzZt3HM1U+7QoUOU9xIAgIQR1AIAMs3craq11HytqpnUPMGTJ092Aew777zjlu/bt88NiPTtt9+6oNajOVz9A1oNoJTQXMLRkNDcxgnNa6xAVsG8HsEoiCWQBQDECpofAwAyzdyt27ZtczWSqsVUYNeqVStbu3atq7WVO++804oVK+YGXUqImubmzZvXzfMKAACij6AWABBxag57zTXXuClk9Lj22mvd6xpVt0WLFlajRg179NFHbdeuXaes+8MPP9gVV1wR77XE1vOfu/W6665z09389ttv7m+vWa2XjgZJ0hyuomluNB2OBlMKRmm+9tprrnYXAACkDzQ/BgBEpSmw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AghKwawent9++80OHz5s55xzju+1ESNG2H333Wf58+d3z9esWWOlS5f2LS9YsKDly5fP1q9fb2XKlElwPQAAACClqKkFUkA1kq1atbLatWvbXXfdZUuWLHGvz5o1y5o2bWq1atWy+++/3wV5no8++shuuukmq1OnjvXq1ctXexkXF2evvPKKNWjQwKX32GOPuWa86cm6deuse/fu1rFjRxekytKlS10T5RtvvNH3vkOHDlmuXLniravnCoY9wdYDAAAAUoqgFkhhX9MnnnjCvv76a7vjjjtcX9PFixfb+PHjbcyYMS7ovfzyy23gwIFuHQW9gwcPtn79+tkXX3xhefPmdWnIJ598Yl9++aVNnTrV5syZ4wZVGjlypKUXy5Ytc31hmzVr5gJ4z+zZs61x48aWI0eOeAGsBn/yp4A2d+7cIdcDAAAAUoqgFghTX1MFdO+++66VKlXKBXaqiS1QoIBb9u2331r9+vXdgEvZs2e3Bx54wObNm2d79+5160+ePNmKFCniajoPHDjgmu2mBwsWLLBOnTq5h2qe/X333XdWt27deK+p6fG///7re7579253HPybLAdbDwAAAEgpglogmRTMPvLII0H7mubJk8cFq2pGrObGaq7rTV/j3yxXwbBe27hxo2XJksXVZL755ptWr149l55/jWi0aEAo1UZrSh7V0vrbsWOHayJdtmzZeK9rvzXlz8KFC11gr1prNcXWcQm1HgAAAJBSBLVAmPuaVqtWzdVGqlnyo48+aseOHbMaNWq4ZsZ//PGHC/bGjRtnp512WrymugocFRBfc801LpiMtnfeecfVHKvJdM2aNX0PNbPetGmTq4VWrbO/M88805599lkbNmyYq5nWlD3qP+xJaD0AAAAgpRj9GEhFX1MFrTfffHO8mlWvr2j79u1typQptmrVKrviiitc4Pvkk0/aiRMn7N5773W1s14gLJoCR9TU97rrrnNNd6PZDFm10f410oE0JU8wV199tc2cOTPosssuuyzB9QAAAICUIKgFUtjXVAGqglqvaa6aG//000+uZlPUvFgB7Omnn+4C1KuuuspuueUWt0z9TlWDq/63EyZMcDW2Dz74oFum11WL6zXZBQAAAJAwmh8DYeprqlrIr776yvUpVWA6duxYu/jii61kyZL2119/uRpY9Sndt2+fm6f1hhtusGzZsln58uXt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ACCG1axZ0wW1tWvX9r2mWloFqeonG4yaHqtJ8muvvWYvv/yye3+RIkXssssuc6/v27cv3vv9R1gGACC9IagFACCDUf9YDRClQZ+C0cjIH374oT333HPWrVs3a9GihZ1xxhlu2cMPP2y//fZbGm8xAAApR1ALAEAGo4BWQet5551n+fLl870+cOBAO3bsmJsSSKMla3qge++917f8wIED7vVs2bg8AADEDqb0AQAgg2nbtq3rK6v/1TRZfWyfeuope+ONN1ygK5qeZ+/eva62dtGiRS4IvvPOO2379u2ueTIAALGCW7EAAGQwGiBqxowZNmzYMDdC8pEjR6x06dL2zDPP2M033+ze07x5czdi8ttvv+0GjNI66pd7xx13uAD477//dlP/AACQ3jFPLQAAAAAgZlFTCwAAAADpkLqJzJs3zz777DM3h7imXtOI9aIB/i666CKrVq2a1a9f36pXr+4GCkzr7Zs7d659/vnnQbfvwgsvdOM8aAo6jdavsRwigZpaAAAAAEhHFBgOHTrUTb22adMmSyxky5Ili5UoUcLatWtnjz76qBUqVCii27dz5063fZMmTbLNmzcnafuKFy/uxnro2rWrFS5cOKzbQ1ALAAAAAOnEe++9Zx07drQtW7b4XsuaNasLBBUYFixY0Bf4KqDcsWOHGxzQozESRo8e7RtDIdxmzpxpnTp1sm3btsXbPtXMnnXWWYlun+ZFHzVqlN1+++1h2yaCWgAAAABIB5588kkbPHiwr+ZTNa6tW7e2W2+91cqWLeuaF5922mlu2YkTJ2zfvn22fPlyNzjg1KlTbdeuXb6aUQWeL774Yli3T3OZK01v+xTAavtuu+22BLdvxYoVbvumTJkSb/sUuI8dOzYs20VQCwAAAABRdv/999v48eN9AaPmEdeo9UWLFnVBYChxcXGu5lSj148bN873esuWLW3WrFlh2T6Njj99+nTfczV1HjRokJ155pnxts/b/sDXtH19+vSxV155xfd6ixYt3Cj8qUVQCwAAAABRNGDAAOvbt6+vKe9bb73lAr7EgtlAcXFxbt5xBbPHjx93r6lG9KWXXkrV9nXr1s31ofW2TzWvat4cuH2a91w1uXpdfXsvv/zyU7bvo48+cvsWzu0jqAUAAACAKPnjjz/ssssu89VwajRhjRScGj///LNdccUVLk0FmF9//bWbizwlNKrxVVddlaTty5Ytm2t27P197NixJG3fnDlzrG7dupZSBLUAAAAAECW5c+e2w4cPu7+nTZsWtgGUPv/8c2vQoEGiAWZicuTI4VtXzY/VfzYhgTW3oUJN/+1TP1yv5jYlsqZ4TQAAAABAiimI9QLaq6++OqwjAtevX99uuOEG97cCxhdeeCHZaQwfPtwX0NapUydkQCv+89AmNq2Qtk/NpEW1u08//bSlFDW1AAAAABAFqqH0prs5evSoZc+e/ZT3BBt4KdjyYO9R2t5oxFrmP7VOUqj/rJe+glvV+AbjvWfjxo32xhtvuLw0J60GkQq2XeHaPt92pmgtJInuOGj0saZNm1qTJk3c3YghQ4akuOo/HO66665kvV+dvZO7TlKoA7vuHOmh4cb37NnjXtd8XMqvUaNG1qZNGzevlWj47wcffNBuvPFGt87HH3/sS0tDnOsY33TTTe6xdOnSoHnqC6Z09Tm8+eabpyzXMOih9lX9CZS+mkmoI7/XRGLevHlWrVo1X/49evRIMI2//vrLnQuekSNH+tbTo1KlSjZixIig67Vq1coaNmxoXbp0sYMHD7rXddzuu+8+d1zUWV9DugcrZJ5//nnfeahz0LN48WKXrl5/7LHHXGGa3Lt32iYdk6+++sr3+ieffOI75zVPWmL7sX//fnvggQescePG7o7dmjVrTslr3bp11rNnz7Cflxo6/5133kn2ev7bk1SXXHKJr+mO/+iBidG+ap/DxduO5Ar3dqSn/NavX2/16tVLk7wAAPCu0bwgrly5cqcEtJrjVaMf61pX0+boGtGbEsdb/9tvv7XOnTu760BdS+ka2T/IVVBatWpV3/uTU5+pa13v/brWTSig9UZu1jW6/p8/f767Pm7fvr177aGHHkpwPW2f19dXeXn9cZNNNbWIjL59+8Z16NAhbteuXe754cOH47p06RI3ZMiQqG3TxRdfnKz3L1y4MK5169Zh3YbNmzfH1axZM27Hjh3u+fDhw+Oefvpp9/cDDzwQ984777i/Z86cGffoo4+6v/v16xf34osvur+3bt0aV7169bht27bFHT161P194sSJkHn+/vvvcU2bNo07cOBA3L59+9zfq1at8i1fuXKl26aE9vXIkSNxderUiVu9enXcyZMn47p37x43ffp0t2z06NFxr732WqL7/fbbb8fVqFEjrm7dukGX//jj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import datetime\n", "from matplotlib import ticker\n", "\n", "df = pd.read_csv(csv_filename)\n", "\n", "# Set style and colors\n", "plt.style.use('seaborn-v0_8-whitegrid')\n", "bar_color = '#FF6200'\n", "\n", "# Create figure and axes\n", "fig, ax = plt.subplots()\n", "\n", "bars = ax.bar(df['year'], df['number'], color=bar_color, width=0.6)\n", "\n", "# Add value labels above bars\n", "for bar in bars:\n", " height = bar.get_height()\n", " ax.text(bar.get_x() + bar.get_width() / 2,\n", " height,\n", " f'{int(height)}',\n", " ha='center', va='bottom',\n", " fontsize=9, fontweight='light', color='#333333')\n", "\n", "# Disable default x-axis ticks\n", "ax.set_xticks([])\n", "\n", "# Add labels below bars\n", "for bar, label in zip(bars, df['year']):\n", " ax.text(bar.get_x() + bar.get_width() / 2,\n", " 0, # baseline\n", " str(label),\n", " ha='center', va='top',\n", " rotation=45,\n", " fontsize=9, color='#333333')\n", "\n", "# Labels and title with improved font size\n", "ax.set_xlabel('Year', fontsize=12, labelpad=30)\n", "ax.set_ylabel('Number of CVE', fontsize=12)\n", "ax.set_title('Number of CVE per Year', fontsize=14, fontweight='bold')\n", "\n", "# Tweak spines and grid\n", "ax.spines['top'].set_visible(False)\n", "ax.spines['right'].set_visible(False)\n", "ax.grid(axis='y', linestyle='--', alpha=0.5)\n", "\n", "# Format Y-axis with thousands separator\n", "ax.yaxis.set_major_formatter(ticker.FuncFormatter(lambda x, _: f'{int(x):,}'))\n", "\n", "plt.tight_layout()\n", "plt.legend(['CVE'])\n", "plt.figtext(0.12, 0.02,\n", " f\"Generated on {generation_time} thanks to limberduck.org based on source: cve.org\",\n", " ha=\"left\", fontsize=8)\n", "\n", "# Figure background\n", "fig.set_size_inches(10, 6)\n", "fig.patch.set_facecolor('white')\n", "\n", "# License icons\n", "img_cc = plt.imread('cc.xlarge.png')\n", "newax_cc = fig.add_axes([0.88, 0.0, 0.05, 0.05], anchor='NE', zorder=-1)\n", "newax_cc.imshow(img_cc)\n", "newax_cc.axis('off')\n", "\n", "img_by = plt.imread('by.xlarge.png')\n", "newax_by = fig.add_axes([0.92, 0.0, 0.05, 0.05], anchor='NE', zorder=-1)\n", "newax_by.imshow(img_by)\n", "newax_by.axis('off')\n", "\n", "# Save images\n", "plt.savefig('cve-number-of-entries-bg-white.png', dpi=300, facecolor='white')\n", "plt.savefig('cve-number-of-entries-bg-transparent.png', dpi=300, transparent=True)" ] } ], "metadata": { "kernelspec": { "display_name": "jupyter", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.2" } }, "nbformat": 4, "nbformat_minor": 5 }