{ "cells": [ { "cell_type": "markdown", "id": "serious-pressing", "metadata": {}, "source": [ "# CWE Data\n", "---" ] }, { "cell_type": "code", "execution_count": 1, "id": "91b44dc2", "metadata": { "execution": { "iopub.execute_input": "2024-06-16T04:14:58.690407Z", "iopub.status.busy": "2024-06-16T04:14:58.690239Z", "iopub.status.idle": "2024-06-16T04:14:59.298604Z", "shell.execute_reply": "2024-06-16T04:14:59.298016Z" }, "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/html": [ "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.core.magic import register_cell_magic\n", "from IPython.display import Markdown\n", "import datetime\n", "from datetime import date\n", "import glob\n", "import json\n", "import logging\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import plotly\n", "import warnings\n", "import calplot\n", "from itables import init_notebook_mode, show\n", "import itables.options as opt\n", "\n", "\n", "opt.dom = \"tpir\" \n", "opt.style = \"table-layout:auto;width:auto\"\n", "init_notebook_mode(all_interactive=True, connected=True)\n", "\n", "@register_cell_magic\n", "def markdown(line, cell):\n", " return Markdown(cell.format(**globals()))\n", "\n", "\n", "logging.getLogger('matplotlib.font_manager').disabled = True\n", "warnings.filterwarnings(\"ignore\")\n", "pd.set_option('display.width', 500)\n", "pd.set_option('display.max_rows', 50)\n", "pd.set_option('display.max_columns', 10)" ] }, { "cell_type": "code", "execution_count": 2, "id": "98bafc2f-2e20-4032-a091-ec2dc0ecb7a5", "metadata": { "execution": { "iopub.execute_input": "2024-06-16T04:14:59.301139Z", "iopub.status.busy": "2024-06-16T04:14:59.300701Z", "iopub.status.idle": "2024-06-16T04:15:18.000502Z", "shell.execute_reply": "2024-06-16T04:15:17.999943Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "row_accumulator = []\n", "for filename in glob.glob('nvd.jsonl'):\n", " with open(filename, 'r', encoding='utf-8') as f:\n", " nvd_data = json.load(f)\n", " for entry in nvd_data:\n", " cve = entry['cve']['id']\n", " try:\n", " assigner = entry['cve']['sourceIdentifier']\n", " except KeyError:\n", " assigner = 'Missing_Data'\n", " try:\n", " published_date = entry['cve']['published']\n", " except KeyError:\n", " published_date = 'Missing_Data'\n", " try:\n", " attack_vector = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['attackVector']\n", " except KeyError:\n", " attack_vector = 'Missing_Data'\n", " try:\n", " attack_complexity = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['attackComplexity']\n", " except KeyError:\n", " attack_complexity = 'Missing_Data'\n", " try:\n", " privileges_required = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['privilegesRequired']\n", " except KeyError:\n", " privileges_required = 'Missing_Data'\n", " try:\n", " user_interaction = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['userInteraction']\n", " except KeyError:\n", " user_interaction = 'Missing_Data'\n", " try:\n", " scope = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['scope']\n", " except KeyError:\n", " scope = 'Missing_Data'\n", " try:\n", " confidentiality_impact = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['confidentialityImpact']\n", " except KeyError:\n", " confidentiality_impact = 'Missing_Data'\n", " try:\n", " integrity_impact = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['integrityImpact']\n", " except KeyError:\n", " integrity_impact = 'Missing_Data'\n", " try:\n", " availability_impact = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['availabilityImpact']\n", " except KeyError:\n", " availability_impact = 'Missing_Data'\n", " try:\n", " base_score = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['baseScore']\n", " except KeyError:\n", " base_score = '0.0'\n", " try:\n", " base_severity = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['baseSeverity']\n", " except KeyError:\n", " base_severity = 'Missing_Data'\n", " try:\n", " exploitability_score = entry['cve']['metrics']['cvssMetricV31'][0]['exploitabilityScore']\n", " except KeyError:\n", " exploitability_score = 'Missing_Data'\n", " try:\n", " impact_score = entry['cve']['metrics']['cvssMetricV31'][0]['impactScore']\n", " except KeyError:\n", " impact_score = 'Missing_Data'\n", " try:\n", " cwe = entry['cve']['weaknesses'][0]['description'][0]['value']\n", " except KeyError:\n", " cwe = 'Missing_Data'\n", " try:\n", " description = entry['cve']['descriptions'][0]['value']\n", " except IndexError:\n", " description = ''\n", " new_row = {\n", " 'CVE': cve,\n", " 'Published': published_date,\n", " 'AttackVector': attack_vector,\n", " 'AttackComplexity': attack_complexity,\n", " 'PrivilegesRequired': privileges_required,\n", " 'UserInteraction': user_interaction,\n", " 'Scope': scope,\n", " 'ConfidentialityImpact': confidentiality_impact,\n", " 'IntegrityImpact': integrity_impact,\n", " 'AvailabilityImpact': availability_impact,\n", " 'BaseScore': base_score,\n", " 'BaseSeverity': base_severity,\n", " 'ExploitabilityScore': exploitability_score,\n", " 'ImpactScore': impact_score,\n", " 'CWE': cwe,\n", " 'Description': description,\n", " 'Assigner' : assigner\n", " }\n", " if not description.startswith('rejected reason'): \n", " row_accumulator.append(new_row)\n", " nvd = pd.DataFrame(row_accumulator)\n", " \n", "nvd['Published'] = pd.to_datetime(nvd['Published'])\n", "nvd = nvd.sort_values(by=['Published'])\n", "nvd = nvd.reset_index(drop=True)\n", "nvd['BaseScore'] = pd.to_numeric(nvd['BaseScore']);\n", "nvd['BaseScore'] = pd.to_numeric(nvd['BaseScore']);\n", "nvd['BaseScore'] = nvd['BaseScore'].replace(0, np.NaN);\n", "nvdcount = nvd['Published'].count()\n", "nvdunique = nvd['Published'].nunique()\n", "startdate = date(2000, 1, 1)\n", "enddate = date.today()\n", "numberofdays = enddate - startdate \n", "per_day = nvdcount/numberofdays.days" ] }, { "cell_type": "markdown", "id": "aa3ea191", "metadata": { "tags": [ "hide-input" ] }, "source": [ "\n", "\n", "## CWE Data" ] }, { "cell_type": "code", "execution_count": 3, "id": "6815f0a1", "metadata": { "execution": { "iopub.execute_input": "2024-06-16T04:15:18.003253Z", "iopub.status.busy": "2024-06-16T04:15:18.002882Z", "iopub.status.idle": "2024-06-16T04:15:18.299544Z", "shell.execute_reply": "2024-06-16T04:15:18.299001Z" }, "tags": [ "remove-input" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA78AAANXCAYAAAD99+h1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAADL/klEQVR4nOzdeViVdf7/8dchDAyEI4YLdGQVcU3DLTQPp3APqzHLalq0xRnJytBJnZwhK5fUljHEqXGsbCy/fdtswxTPaVwQLeKXlVpaDKaijcgixqb37w8vzrc7wEAR6vR8XNfnuuRzfz73/b7vcOZ6+bkXi2EYhgAAAAAA8GBeLV0AAAAAAADnG+EXAAAAAODxCL8AAAAAAI9H+AUAAAAAeDzCLwAAAADA4xF+AQAAAAAej/ALAAAAAPB4hF8AAAAAgMcj/AIAAAAAPB7hFwAAeIyEhAQlJCS0dBk4SxaLRampqS1dBgAPRfgFADTYCy+8IIvFIovFos2bN9fabhiGbDabLBaLrr766vNSw8GDB5Wamqrc3NxGzdu3b58mT56syMhI+fr6KiAgQIMHD9YzzzyjH3744bzU6kkacv26d++uSy+9tNbcN998UxaLRXa7vda2f/7zn7JYLPrwww8lmX/H6mrbtm07vydaj587/5ycHFksFj388MP17uPrr7+WxWLRgw8+KElKTU0947kWFBScsabw8HDTeD8/Pw0YMEAvvfRSk547AHgK75YuAADw6+Pr66vVq1dryJAhpv6PPvpI3333nXx8fM7bsQ8ePKhHHnlE4eHh6tOnT4PmvPfeexo/frx8fHx02223qWfPnqqsrNTmzZs1Y8YMffHFF3ruuefOW82/dg29fkOGDNGKFStUXFyswMBA9/wtW7bI29tbO3bsUFVVlVq1amXadsEFF+jyyy83HXPu3LmKiIioVUt0dPQZa60J0U2poecfGxurV155RY899lid+1m9erUk6fe//72pPz09Xf7+/rXGW63Wn62tT58+SklJkSQdOnRI//jHP3T77beroqJCd999dyPPFAA8G+EXANBoo0eP1muvvaa//e1v8vb+v/8rWb16teLi4vTf//63Basz+/bbbzVhwgSFhYVp48aN6tSpk3tbcnKy9u7dq/fee68FK/xla8z1GzJkiJ5//nlt3bpVo0aNco/bsmWLbrjhBq1evVqffPKJBg0a5N62efNm9e7dW23atDEdd9SoUerXr1+j673wwgsbPedMGnP+t9xyi+bMmaNt27aZzrHGK6+8otjYWF122WWm/uuvv14XX3zxWdUXGhpqCtN33HGHIiMj9dRTT/0iw29ZWZn8/PxaugwAv1Hc9gwAaLSbbrpJR48e1fr16919lZWV+t///V/dfPPNdc4pKytTSkqKbDabfHx81LVrVy1evFiGYZjGrV+/XkOGDJHVapW/v7+6du2q2bNnS5JcLpf69+8vSZo4caL7ds8XXnih3lqfeOIJHT9+XCtWrDAFlxrR0dG6//773T9XV1fr0UcfVVRUlHx8fBQeHq7Zs2eroqLCNC88PFxXX321XC6X+vXrp9atW6tXr15yuVySpDfeeEO9evWSr6+v4uLi9Omnn5rm33HHHfL391d+fr6uvvpq+fv7KzQ0VGlpaZKknTt36sorr5Sfn5/CwsLcq4Y/9s0332j8+PEKCgrSRRddpEGDBtUK8i6XSxaLRf/zP/+jxx9/XJdccol8fX111VVXae/evfVet7O5fjV3AmzZssW9vby8XDk5Ofrd736nyMhI07bvv/9eX331Va07CM7FT5/5bc7zv+WWWySpzv9Wn3zyifbs2eMec74EBwcrNjZW+/btM/WfOnVKTz/9tHr06CFfX1916NBBkydP1rFjx2rt44MPPpDdblebNm0UEBCg/v371zqn1157TXFxcWrdurUuvvhi/f73v9eBAwdMY2p+x/ft26fRo0erTZs27vOvqKjQtGnTFBwcrDZt2mjs2LH67rvvatVSWlqqBx54QOHh4fLx8VH79u01bNgw5eTknOulAvAbRPgFADRaeHi4Lr/8cr3yyivuvg8++EDFxcWaMGFCrfGGYWjs2LF66qmnNHLkSD355JPq2rWrZsyY4X7+UZK++OILXX311aqoqNDcuXO1ZMkSjR071h2YunXrprlz50qS7rnnHq1atUqrVq3S0KFD6631nXfeUWRkpOLj4xt0bnfddZf+8pe/6LLLLtNTTz0lu92u+fPn13lee/fu1c0336ykpCTNnz9fx44dU1JSkv71r39p2rRp+v3vf69HHnlE+/bt0w033KBTp06Z5p88eVKjRo2SzWbTE088ofDwcN1777164YUXNHLkSPXr108LFy5UmzZtdNttt+nbb791zz18+LDi4+O1bt06TZkyRY8//rjKy8s1duxYvfnmm7VqXbBggd58801Nnz5ds2bN0rZt2xoUxBpz/SIjIxUSEmJ6HnzHjh2qrKxUfHy84uPjTeF369atklRn+C0uLtZ///tfUzt69OjP1lCf5jj/iIgIxcfH63/+53908uRJ07aa8FjXPw4VFhbWOteioqKGndhPVFdX67vvvlPbtm1N/ZMnT9aMGTPczylPnDhR//rXvzRixAhVVVW5x73wwgsaM2aMCgsLNWvWLC1YsEB9+vRRRkaGacwNN9ygCy64QPPnz9fdd9+tN954Q0OGDKlVd3V1tUaMGKH27dtr8eLFGjdunKTTf8+efvppDR8+XAsWLFCrVq00ZsyYWufzhz/8Qenp6Ro3bpyWLVum6dOnq3Xr1tq1a9dZXR8Av3EGAAANtHLlSkOSsWPHDuPZZ5812rRpY5w4ccIwDMMYP3684XA4DMMwjLCwMGPMmDHueW+99ZYhyXjsscdM+7v++usNi8Vi7N271zAMw3jqqacMScb3339fbw07duwwJBkrV6782XqLi4sNScY111zToPPLzc01JBl33XWXqX/69OmGJGPjxo3uvrCwMEOSsXXrVnffunXrDElG69atjf/85z/u/r///e+GJMPpdLr7br/9dkOSMW/ePHffsWPHjNatWxsWi8V49dVX3f27d+82JBl//etf3X0PPPCAIcnYtGmTu6+0tNSIiIgwwsPDjZMnTxqGYRhOp9OQZHTr1s2oqKhwj33mmWcMScbOnTvrvR6NvX6Gcfr3oHXr1kZlZaVhGIYxf/58IyIiwjAMw1i2bJnRvn1799ia63rgwAF3X83vWF3Nx8fnZ49vt9sNu93u/rm5zz8tLc2QZKxbt87dd/LkSSM0NNS4/PLLTWP/+te/1nuuXbt2/dljhYWFGcOHDze+//574/vvvzd27txp3HrrrYYkIzk52T1u06ZNhiTjX//6l2l+RkaGqb+oqMho06aNMXDgQOOHH34wjT116pRhGIZRWVlptG/f3ujZs6dpzLvvvmtIMv7yl7+4+2p+x2fOnGnaV83fsylTppj6b7755lq/54GBgaZzAYBzwcovAOCs3HDDDfrhhx/07rvvqrS0VO+++269tzy///77uuCCC3TfffeZ+lNSUmQYhj744ANJ//eCn7fffrvWKunZKCkpkaRaz5PW5/3335ck02p0TZ2Sat1S3L17d9OLmgYOHChJuvLKK9W5c+da/d98802tY951113uP1utVnXt2lV+fn664YYb3P1du3aV1Wo1zX///fc1YMAA06qpv7+/7rnnHuXl5enLL780HWfixImm52GvuOKKemuq0djrJ51exf3hhx/0ySefSDp9C3TNqungwYN15MgRff311+5tERERCgkJqbWftLQ0rV+/3tRqfk/ORnOd/4033qhWrVqZbhP+6KOPdODAgXpXml9//fVa57py5coGHe/DDz9UcHCwgoOD1atXL61atUoTJ07UokWL3GNee+01BQYGatiwYabV5bi4OPn7+8vpdEo6/chBaWmpZs6cKV9fX9NxLBaLJOnjjz/WkSNHNGXKFNOYMWPGKDY2ts7n5//4xz+afq75e/bT/z144IEHas21Wq3Kzs7WwYMHG3Q9AOBMeOEVAOCsBAcHKzExUatXr9aJEyd08uRJXX/99XWO/c9//qOQkJBaIaJbt27u7dLp4PCPf/xDd911l2bOnKmrrrpKv/vd73T99dfLy6vx/14bEBAg6fRzgw3xn//8R15eXrXeKNyxY0dZrVZ3nTV+HHAlud9wbLPZ6uz/6fOVvr6+Cg4OrjX2kksucYeNH/f/eP5//vMfd6j+sR9f0549e9Zba81tsXU981mjsddPMj/3O3DgQG3dutX99uOePXsqICBAW7Zskc1m0yeffKIbb7yxzv0MGDDgrF54VZ/mOv927dppxIgRevPNN7V8+XL3m9G9vb1N/6DxY0OHDj3rF14NHDhQjz32mE6ePKnPP/9cjz32mI4dO2YK+l9//bWKi4vVvn37Ovdx5MgRSXI/J/zj35ufqvk70LVr11rbYmNja30CzdvbW5dcckmtfXh5eSkqKsrUX9c+n3jiCd1+++2y2WyKi4vT6NGjddtttykyMrLeGgGgPoRfAMBZu/nmm3X33XeroKBAo0aNatCnWc6kdevW+ve//y2n06n33ntPGRkZWrNmja688kp9+OGHuuCCCxq1v4CAAIWEhOjzzz9v1LyfBs/61FdPff3GT17uda7zG+Ns9nk21+/SSy9VmzZttHnzZo0ePVqFhYXulV8vLy8NHDhQmzdvVlRUlCorK5v0ZVdn0lznL53+lNG7776rd999V2PHjtXrr7+u4cOH1/qHjqZw8cUXKzExUZI0YsQIxcbG6uqrr9YzzzzjvoPh1KlTat++vf71r3/VuY/zUVcNHx+fs/qHqxo33HCDrrjiCr355pv68MMPtWjRIi1cuFBvvPGG6Y3iANAQ3PYMADhr1113nby8vLRt27Z6b3mWpLCwMB08eLDWCtru3bvd22t4eXnpqquu0pNPPqkvv/xSjz/+uDZu3Oi+NbOhwbTG1VdfrX379ikrK+tnx4aFhenUqVPu23JrHD58WEVFRaY6W1pYWJj27NlTq7+ua3ouGnP9pNMhc9CgQdqyZYs2b96sgIAA9erVy7295qVXNS++aq7we7Yae/6SNHbsWLVp00arV6/WBx98oGPHjp33tzzXGDNmjOx2u+bNm6eysjJJUlRUlI4eParBgwcrMTGxVrv00kvd4ySdMezX/F7V9bu3Z8+eBv3e1fw9++kbqevapyR16tRJU6ZM0VtvvaVvv/1W7dq10+OPP/6zxwGAnyL8AgDOmr+/v9LT05WamqqkpKR6x40ePVonT57Us88+a+p/6qmnZLFY3Cs4hYWFteb26dNHktyfGqr5RmhD34b7pz/9SX5+frrrrrt0+PDhWtv37dunZ555xl2nJD399NOmMU8++aQk1fk22pYyevRobd++3RTKysrK9Nxzzyk8PFzdu3dvkuM05vrVGDJkiL7//nutXLlSAwcONK38xcfHa8+ePXr77bfVrl07923av1Rnc/6tW7fWddddp/fff1/p6eny8/PTNddc01wl66GHHtLRo0f1/PPPSzq9enry5Ek9+uijtcZWV1e7/y4NHz5cbdq00fz581VeXm4aV7NC3q9fP7Vv317Lly83ff7rgw8+0K5duxr0d6Tm7/vf/vY3U/9P/96dPHlSxcXFpr727dsrJCSk1qfHAKAhuO0ZAHBObr/99p8dk5SUJIfDoT//+c/Ky8vTpZdeqg8//FBvv/22HnjgAfeK09y5c/Xvf/9bY8aMUVhYmI4cOaJly5bpkksuca8QRkVFyWq1avny5WrTpo38/Pw0cOBARURE1HnsqKgorV69WjfeeKO6deum2267TT179lRlZaW2bt2q1157TXfccYek07fs3n777XruuedUVFQku92u7du368UXX9S1114rh8PRNBetCcycOVOvvPKKRo0apfvuu09BQUF68cUX9e233+r1118/p1tNf6wx169GzX+rrKwspaammrYNGjRI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f+Xn59caZxiGRo0aJYvForfeeqvxFwcAAAAAWkCjbnuuCWcVFRXasmWLPvroI7lcLq1atUpVVVWKiYnRlVdeqbS0tPNR669CXl6eBg8eLKvVqkWLFqlXr16qqqrSunXrlJycrGnTpmn69Omqrq6Wt/fpy+90OmWz2eRyuUz7cjqdcjgcpr4NGzaoR48epr527drVW4/L5dJNN92k+Ph4+fr6auHChRo+fLi++OILhYaGSpL27dunIUOG6M4779QjjzyigIAAffHFF/L19a21v6effpqXmgEAAAD41bEYP35181k6duyYlixZoqVLl+r48eM6efJkU9T2qzR69Gh99tln2rNnj/z8/EzbioqKdOTIEXXt2lVZWVkaNGiQJGngwIG6/fbblZKSomPHjsnX11fl5eWyWq1avny57rjjDuXl5SkiIkKffvqp+vTpc9b1nTx5Um3bttWzzz6r2267TZI0YcIEtWrVSqtWrTrj3NzcXF199dX6+OOP1alTJ7355pu69tprG3TckpISBQYGSqGzJa/aoRq/TUb+nJYuAQAAAM2sJhsUFxcrICCg2Y7bqNuea1RWVuqjjz7SI488IofDodDQUK1Zs0bXX3+9Vq5c2dQ1/moUFhYqIyNDycnJtYKvJFmtVsXExCgkJEROp1OSVFpaqpycHI0fP17h4eHKysqSJG3dulUVFRW1Vn7P1YkTJ1RVVaWgoCBJ0qlTp/Tee+8pJiZGI0aMUPv27TVw4MBatzSfOHFCN998s9LS0tSxY8efPU5FRYVKSkpMDQAAAABaSqPC79y5c3XllVeqbdu2+uMf/6hDhw7pnnvu0d69e/X1119rxYoV7tXE36K9e/fKMAzFxsaecZzD4XDf4rxp0ybFxMQoODhYQ4cOdfe7XC5FRETUesN2fHy8/P39Ta0xHnroIYWEhCgxMVGSdOTIER0/flwLFizQyJEj9eGHH+q6667T7373O3300UfuedOmTVN8fLyuueaaBh1n/vz5CgwMdDebzdaoOgEAAACgKTX6md/OnTtryZIlGj9+/BmfNf0taugd5AkJCXrggQdUVVUll8ulhIQESZLdbtff//53SafDb12rvmvWrFG3bt1q9efn56t79+7un2fPnq3Zs2ebxixYsECvvvqqXC6X+3neU6dOSZKuueYaTZs2TZLUp08fbd26VcuXL5fdbtfa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cC4bFBYWys3NrcH2y8wvAAAAAMDhEX4BAAAAAA6P8AsAAAAAcHiEXwAAAACAw+NVR2hQhXunNuhN7QAAAAAgMfMLAAAAALgGEH4BAAAAAA6P8AsAAAAAcHiEXwAAAACAw+OBV2hQ7l3mSU2cG7sMAACARmPkzmjsEoBrEjO/AAAAAACHR/gFAAAAADg8wi8AAAAAwOERfgEAAAAADo/wCwAAAABweIRfAAAAAIDDI/z+/0VFRenpp5++5O2MHj1aQ4cOveTtAAAAAADqj0OH39GjR8tisejxxx+vtmz8+PGyWCwaPXq0JGnt2rV65ZVXLnmfb731lpYvX37J27kQFovFbK1atVJISIhGjx6t77///oK3VV//JwAAAAAAXEkcOvxKktVq1cqVK3Xq1Cmzr6ysTJ988ok6duxo9nl6eqp169aXvD93d3d5eHhc8nYu1Pvvv6+8vDz99NNPio+PV0lJiXr37q0PP/ywwWsBAAAAgCuNw4ffm2++WVarVWvXrjX71q5dq44dO+qmm24y+34/47l48WKFhITI2dlZ7du317333msu++yzzxQeHq6WLVuqbdu2io6OVmlpqaTqlz1HRUXpySef1LPPPitPT095e3tr5syZdjXu27dPAwYMkLOzs7p06aLNmzfLYrFo/fr1dT5ODw8PeXt7KyAgQIMGDdJnn32mkSNH6oknntDx48clSceOHdOIESPk5+cnFxcXhYeHa8WKFeY2Ro8erW+++UZvvfWWOZOck5Oj06dPa8yYMQoMDFTLli3VuXNnvfXWW3WuDQAAAAAam8OHX0mKi4vT+++/b/572bJlevjhh2sdv3PnTj355JOaNWuW9u/fr8TEREVEREiS8vLyNGLECMXFxSkzM1MpKSm65557ZBhGrdv74IMP1KpVK6Wnp+u1117TrFmztGnTJknS6dOnNXToULm4uCg9PV1///vf9fzzz9fLcU+cOFHFxcXmvsrKytSjRw/985//1J49ezR27Fg9+OCD2r59u6Szl2z37dtXjz76qPLy8pSXlyer1aozZ86oQ4cO+vTTT7V37169+OKLeu6557R69epa911eXq6ioiK7BgAAAACNpVljF9AQ/vKXv2j69On6z3/+I0lKTU3VypUrlZKSUuP43NxctWrVSv/n//wftW7dWv7+/uYscV5enqqqqnTPPffI399fkhQeHn7e/Xfr1k0vvfSSJCkkJERvv/22kpKSNHDgQG3atEkHDhxQSkqKvL29JUmvvvqqBg4ceMnHHRYWJknKycmRJPn5+Wny5Mnm8gkTJmjjxo1avXq1evXqJXd3d7Vo0UIuLi5mLZLUtGlTvfzyy+a/AwMDlZaWptWrV+u+++6rcd9z5syxWwcAAAAAGtM1EX69vLx0xx13aPny5TIMQ3fccYeuu+66WscPHDhQ/v7+CgoKUmxsrGJjY3X33XfLxcVF3bt312233abw8HDFxMRo0KBBuvfee9WmTZtat9etWze7f/v4+Ojo0aOSpP3798tqtdqFzV69el3iEZ91bjbaYrFIOjvLPHv2bK1evVqHDx9WRUWFysvL5eLi8ofbio+P17Jly5Sbm6tTp06poqJCN954Y63jp0+frmeeecb8d1FRkaxW66UdEAAAAABcpGvismfp7KXPy5cv1wcffKC4uLjzjm3durV27dqlFStWyMfHRy+++KK6d++uEydOqGnTptq0aZO++uordenSRYsWLVLnzp118ODBWrfXvHlzu39bLBadOXOmXo7rfDIzMyWdnamVpPnz5+utt97S1KlTlZycrIyMDMXExKiiouK821m5cqUmT56sMWPG6F//+pcyMjL08MMPn3c9Jycnubm52TUAAAAAaCzXTPiNjY1VRUWFKisrFRMT84fjmzVrpujoaL322mv64YcflJOTo6+//lrS2fDav39/vfzyy9q9e7datGihdevWXVRdnTt31qFDh3TkyBGzb8eOHRe1rd9788035ebmpujoaElnL/e+66679Je//EXdu3dXUFCQfv75Z7t1WrRoodOnT9v1paamql+/fho3bpxuuukmBQcH68CBA/VSIwAAAAA0hGvismfp7H2r52ZCmzZtet6xX3zxhX755RdFRESoTZs2+vLLL3XmzBl17txZ6enpSkpK0qBBg9SuXTulp6frv//9r66//vqLqmvgwIHq1KmTRo0apddee03FxcV64YUXJP1/lyvXxYkTJ5Sfn6/y8nL9/PPPevfdd7V+/Xp9+OGH5quXQkJC9Nlnn+m7775TmzZt9MYbb+jIkSPq0qWLuZ2AgAClp6crJydHrq6u8vT0VEhIiD788ENt3LhRgYGB+uijj7Rjxw5zRhkAAAAArnTXzMyvpDpffuvh4aG1a9fqT3/6k66//nq9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evfdd+329/TTT5tjfHx8qtUzffp0FRYWmu3QoUPn/SwBAAAA4HJq1tgF1GbevHn605/+ZDcreU5cXJwmTpyoRYsWqXXr1lq2bJmGDRum1q1b12nbhmGYlwIPHjxY3377rSTJ399fP/30kwzDqNN2goOD1aFDB6WkpKhr167avXu3IiMj1a5dO3Xs2FFpaWkyDEPl5eXVwq/NZlNCQoJdn6enpyTp8ccf1z/+8Q+zv6SkxK72S+Hi4qJOnTqZ//bx8dHRo0clSaWlpTpw4IDGjBmjRx991BxTVVUld3d3u+3ccsst592Pk5OTnJycLqlWAAAAAKgvV2z4jYiIUExMjKZPn67Ro0fbLRs+fLgmTpyo1atXKyIiQqmpqTXeI1yT06dPKysrSz179pR09v7WU6dOSZI50xsaGqqtW7eqsrLyD2d/o6KilJycrG7duikkJETt2rWTJPPSZ8MwFBwcXO2y31atWik4OLjGbc6aNata6A8ODpbFYlFmZqbuvvvuautkZmaqTZs28vLyOm+9vz8ei8ViBupzIXvJkiXq3bu33bimTZtWqx8AAAAArhZXbPiVpLlz5+rGG29U586d7fpbt26tYcOGadmyZTpw4IBCQ0N166231mmbH3zwgY4fP64///nPkiQ/P79qYx544AEtXLhQixcv1lNPPVVt+YkTJ+zu+33yySfVpUsXRUVFmWMiIiK0ZMkSGYZxwff7tmvXzgzR57Rt21YDBw7U4sWLNXHiRLv7fvPz8/Xxxx/roYceMme0W7RoodOnT1/Qftu3by9fX1/98ssvGjly5AWtCwAAAABXsis6/IaHh2vkyJFauHBhtWVjxozRrbfeqszMTE2dOrXG9U+ePKn8/HxVVVXp119/1bp16/Q///M/+utf/3reQNq7d289++yzmjRpkg4fPqy7775bvr6+5quFBgwYYIbic/f9Llu2TEuWLDG3ERkZqUceeUSSanxwVnl5ufLz8+36mjVrpuuuu67Wut5++23169dPMTEx+tvf/qbAwED99NNPmjJlivz8/PTqq6+aYwMCArRlyxYNHz5cTk5O593ub7388st68skn5e7urtjYWJWXl2vnzp06fvy4+Q5lAAAAALjaXJEPvPqtWbNm6cyZM9X6BwwYoM6dO6uoqEgPPfRQjesuWbJEPj4+6tSpk+655x7t3btXq1atsnt1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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nvd_cwe = nvd['CWE'].value_counts()\n", "nvd_cwe = nvd_cwe.reset_index()\n", "nvd_cwe.columns = ['CWE', 'CVEs']\n", "nvd_cwe_graph = nvd_cwe[nvd_cwe.CVEs > 100].head(25)\n", "plt.figure(figsize=(10,10));\n", "plt.barh(\"CWE\", \"CVEs\", data = nvd_cwe_graph, color=\"#001d82\");\n", "plt.xlabel(\"CVEs\"); \n", "plt.ylabel(\"CWE\") ;\n", "plt.title(\"Most Common CWE in CVE Records\");\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "04a26e54", "metadata": { "execution": { "iopub.execute_input": "2024-06-16T04:15:18.301840Z", "iopub.status.busy": "2024-06-16T04:15:18.301538Z", "iopub.status.idle": "2024-06-16T04:15:18.309086Z", "shell.execute_reply": "2024-06-16T04:15:18.308655Z" }, "tags": [ "remove-input" ] }, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "
CWECVEs
\n", "\n", "
\n", "Loading ITables v2.1.1 from the internet...\n", "(need help?)
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show(nvd_cwe, scrollY=\"400px\", scrollCollapse=True, paging=False)" ] }, { "cell_type": "code", "execution_count": 5, "id": "20ee3a71", "metadata": { "execution": { "iopub.execute_input": "2024-06-16T04:15:18.311191Z", "iopub.status.busy": "2024-06-16T04:15:18.310878Z", "iopub.status.idle": "2024-06-16T04:15:18.314500Z", "shell.execute_reply": "2024-06-16T04:15:18.313981Z" }, "tags": [ "remove-input" ] }, "outputs": [ { "data": { "text/markdown": [ "This report is updated automatically every day, last generated on: **2024-06-16 04:15:18.311782**" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Markdown(f\"This report is updated automatically every day, last generated on: **{datetime.datetime.now()}**\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.11.9" }, "vscode": { "interpreter": { "hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49" } } }, "nbformat": 4, "nbformat_minor": 5 }