-
-
Save jgamblin/0213d56de321d1675cd6994dc8bb6ee4 to your computer and use it in GitHub Desktop.
CVE Analysis Timing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"id": "daily-makeup", | |
"metadata": { | |
"tags": [] | |
}, | |
"source": [ | |
"# All \n", | |
"CPE Data" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "practical-conflict", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import glob\n", | |
"import logging\n", | |
"import json\n", | |
"import os\n", | |
"import pandas as pd\n", | |
"import warnings\n", | |
"import requests\n", | |
"import time\n", | |
"from tqdm import tqdm\n", | |
"logging.getLogger('matplotlib.font_manager').disabled = True\n", | |
"warnings.filterwarnings(\"ignore\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "legislative-festival", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"row_accumulator = []\n", | |
"for filename in glob.glob('nvdcve-1.1-*.json'):\n", | |
" with open(filename, 'r', encoding='utf-8') as f:\n", | |
" nvd_data = json.load(f)\n", | |
" for entry in nvd_data['CVE_Items']:\n", | |
" cve = entry['cve']['CVE_data_meta']['ID']\n", | |
" try:\n", | |
" assigner = entry['cve']['CVE_data_meta']['ASSIGNER']\n", | |
" except KeyError:\n", | |
" published_date = 'Missing_Data'\n", | |
" try:\n", | |
" published_date = entry['publishedDate']\n", | |
" except KeyError:\n", | |
" published_date = 'Missing_Data'\n", | |
" try:\n", | |
" Updated_date = entry['lastModifiedDate']\n", | |
" except KeyError:\n", | |
" Updated_date = 'Missing_Data'\n", | |
" \n", | |
" new_row = { \n", | |
" 'CVE': cve, \n", | |
" 'Published': published_date,\n", | |
" 'Updated': Updated_date\n", | |
" }\n", | |
" row_accumulator.append(new_row)\n", | |
" nvd = pd.DataFrame(row_accumulator)\n", | |
" \n", | |
"nvd['Published'] = pd.to_datetime(nvd['Published'])\n", | |
"thisyear = ((nvd['Published'] > '2022-01-01') & (nvd['Published'] < '2022-12-31'))\n", | |
"nvd = nvd.loc[thisyear]\n", | |
"nvd = nvd.sort_values(by=['Published'])\n", | |
"nvd = nvd.reset_index(drop=True)\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"id": "43ea20bc-c0c4-4125-a632-3dfb94c485e0", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"All = nvd\n", | |
"All[['Published','Updated']] = All[['Published','Updated']].apply(pd.to_datetime)\n", | |
"All['Difference'] = (All['Updated'] - All['Published']).dt.days\n", | |
"cves = All[\"CVE\"].to_list()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"id": "0d5ca172-8cfb-4936-852e-3c2b807072bc", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 22619/22619 [7:02:16<00:00, 1.12s/it]\n" | |
] | |
} | |
], | |
"source": [ | |
"# You need an API Key From https://nvd.nist.gov/developers/request-an-api-key\n", | |
"api_token = \"\"\n", | |
"headers = { \"apiKey\": api_token }\n", | |
"\n", | |
"NVD_List = []\n", | |
"for cve in tqdm(cves):\n", | |
" base_url = 'https://services.nvd.nist.gov/rest/json/cvehistory/2.0?eventName=Initial%20Analysis&cveId='\n", | |
" url = ''.join([base_url, cve])\n", | |
" r = requests.get(url, headers=headers)\n", | |
" try:\n", | |
" data = r.json()\n", | |
" eventname = data['cveChanges'][0]['change']['eventName']\n", | |
" created = data['cveChanges'][0]['change']['created']\n", | |
" except:\n", | |
" pass\n", | |
" NVD_List_Temp = (cve, eventname, created)\n", | |
" NVD_List.append(NVD_List_Temp)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"id": "65660149-0274-474b-8fc1-a7ac76c04ce0", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>CVE</th>\n", | |
" <th>Event Name</th>\n", | |
" <th>AnalysisTime</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>CVE-2021-45948</td>\n", | |
" <td>Initial Analysis</td>\n", | |
" <td>2022-01-07T18:43:29.780</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>CVE-2021-45947</td>\n", | |
" <td>Initial Analysis</td>\n", | |
" <td>2022-01-07T18:42:31.743</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>CVE-2021-45959</td>\n", | |
" <td>Initial Analysis</td>\n", | |
" <td>2022-01-07T18:42:31.743</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>CVE-2021-45958</td>\n", | |
" <td>Initial Analysis</td>\n", | |
" <td>2022-01-11T18:03:24.090</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>CVE-2021-45957</td>\n", | |
" <td>Initial Analysis</td>\n", | |
" <td>2022-01-11T17:59:20.247</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22614</th>\n", | |
" <td>CVE-2022-41395</td>\n", | |
" <td>Initial Analysis</td>\n", | |
" <td>2022-11-15T20:51:16.403</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22615</th>\n", | |
" <td>CVE-2022-42058</td>\n", | |
" <td>Initial Analysis</td>\n", | |
" <td>2022-11-15T20:51:16.403</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22616</th>\n", | |
" <td>CVE-2022-40846</td>\n", | |
" <td>Initial Analysis</td>\n", | |
" <td>2022-11-15T20:51:16.403</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22617</th>\n", | |
" <td>CVE-2022-40844</td>\n", | |
" <td>Initial Analysis</td>\n", | |
" <td>2022-11-15T20:51:16.403</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22618</th>\n", | |
" <td>CVE-2022-42060</td>\n", | |
" <td>Initial Analysis</td>\n", | |
" <td>2022-11-15T20:51:16.403</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>22619 rows × 3 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" CVE Event Name AnalysisTime\n", | |
"0 CVE-2021-45948 Initial Analysis 2022-01-07T18:43:29.780\n", | |
"1 CVE-2021-45947 Initial Analysis 2022-01-07T18:42:31.743\n", | |
"2 CVE-2021-45959 Initial Analysis 2022-01-07T18:42:31.743\n", | |
"3 CVE-2021-45958 Initial Analysis 2022-01-11T18:03:24.090\n", | |
"4 CVE-2021-45957 Initial Analysis 2022-01-11T17:59:20.247\n", | |
"... ... ... ...\n", | |
"22614 CVE-2022-41395 Initial Analysis 2022-11-15T20:51:16.403\n", | |
"22615 CVE-2022-42058 Initial Analysis 2022-11-15T20:51:16.403\n", | |
"22616 CVE-2022-40846 Initial Analysis 2022-11-15T20:51:16.403\n", | |
"22617 CVE-2022-40844 Initial Analysis 2022-11-15T20:51:16.403\n", | |
"22618 CVE-2022-42060 Initial Analysis 2022-11-15T20:51:16.403\n", | |
"\n", | |
"[22619 rows x 3 columns]" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"All_nvd = pd.DataFrame(NVD_List, columns = [\"CVE\", \"Event Name\", \"AnalysisTime\"])\n", | |
"All_nvd" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"id": "2272cfbd-cd39-4f9f-ac00-310c7bfd11ab", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"All_data = All.merge(All_nvd, on='CVE', how='outer')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"id": "f208cdec-7590-4eac-8df0-60b3f74fca94", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>CVE</th>\n", | |
" <th>Published</th>\n", | |
" <th>AnalysisTime</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>CVE-2021-45948</td>\n", | |
" <td>2022-01-01 00:15:00+00:00</td>\n", | |
" <td>2022-01-07T18:43:29.780</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>CVE-2021-45947</td>\n", | |
" <td>2022-01-01 00:15:00+00:00</td>\n", | |
" <td>2022-01-07T18:42:31.743</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>CVE-2021-45959</td>\n", | |
" <td>2022-01-01 00:15:00+00:00</td>\n", | |
" <td>2022-01-07T18:42:31.743</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>CVE-2021-45958</td>\n", | |
" <td>2022-01-01 00:15:00+00:00</td>\n", | |
" <td>2022-01-11T18:03:24.090</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>CVE-2021-45957</td>\n", | |
" <td>2022-01-01 00:15:00+00:00</td>\n", | |
" <td>2022-01-11T17:59:20.247</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22614</th>\n", | |
" <td>CVE-2022-41395</td>\n", | |
" <td>2022-11-15 03:15:00+00:00</td>\n", | |
" <td>2022-11-15T20:51:16.403</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22615</th>\n", | |
" <td>CVE-2022-42058</td>\n", | |
" <td>2022-11-15 03:15:00+00:00</td>\n", | |
" <td>2022-11-15T20:51:16.403</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22616</th>\n", | |
" <td>CVE-2022-40846</td>\n", | |
" <td>2022-11-15 03:15:00+00:00</td>\n", | |
" <td>2022-11-15T20:51:16.403</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22617</th>\n", | |
" <td>CVE-2022-40844</td>\n", | |
" <td>2022-11-15 03:15:00+00:00</td>\n", | |
" <td>2022-11-15T20:51:16.403</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22618</th>\n", | |
" <td>CVE-2022-42060</td>\n", | |
" <td>2022-11-15 03:15:00+00:00</td>\n", | |
" <td>2022-11-15T20:51:16.403</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>22619 rows × 3 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" CVE Published AnalysisTime\n", | |
"0 CVE-2021-45948 2022-01-01 00:15:00+00:00 2022-01-07T18:43:29.780\n", | |
"1 CVE-2021-45947 2022-01-01 00:15:00+00:00 2022-01-07T18:42:31.743\n", | |
"2 CVE-2021-45959 2022-01-01 00:15:00+00:00 2022-01-07T18:42:31.743\n", | |
"3 CVE-2021-45958 2022-01-01 00:15:00+00:00 2022-01-11T18:03:24.090\n", | |
"4 CVE-2021-45957 2022-01-01 00:15:00+00:00 2022-01-11T17:59:20.247\n", | |
"... ... ... ...\n", | |
"22614 CVE-2022-41395 2022-11-15 03:15:00+00:00 2022-11-15T20:51:16.403\n", | |
"22615 CVE-2022-42058 2022-11-15 03:15:00+00:00 2022-11-15T20:51:16.403\n", | |
"22616 CVE-2022-40846 2022-11-15 03:15:00+00:00 2022-11-15T20:51:16.403\n", | |
"22617 CVE-2022-40844 2022-11-15 03:15:00+00:00 2022-11-15T20:51:16.403\n", | |
"22618 CVE-2022-42060 2022-11-15 03:15:00+00:00 2022-11-15T20:51:16.403\n", | |
"\n", | |
"[22619 rows x 3 columns]" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"All_data = All_data[['CVE','Published','AnalysisTime']]\n", | |
"All_data" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"id": "8118bf7c-9d70-4a9f-a914-ec5c73518e6b", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"All_data[['Published','AnalysisTime']] = All_data[['Published','AnalysisTime']].apply(pd.to_datetime)\n", | |
"All_data['Published']= All_data['Published'].dt.tz_localize(None)\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"id": "4a5f00c7-ba6e-4b9d-a80e-bc0ee1163c7f", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>CVE</th>\n", | |
" <th>Published</th>\n", | |
" <th>AnalysisTime</th>\n", | |
" <th>Difference</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>CVE-2021-45948</td>\n", | |
" <td>2022-01-01 00:15:00</td>\n", | |
" <td>2022-01-07 18:43:29.780</td>\n", | |
" <td>6 days 18:28:29.780000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>CVE-2021-45947</td>\n", | |
" <td>2022-01-01 00:15:00</td>\n", | |
" <td>2022-01-07 18:42:31.743</td>\n", | |
" <td>6 days 18:27:31.743000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>CVE-2021-45959</td>\n", | |
" <td>2022-01-01 00:15:00</td>\n", | |
" <td>2022-01-07 18:42:31.743</td>\n", | |
" <td>6 days 18:27:31.743000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>CVE-2021-45958</td>\n", | |
" <td>2022-01-01 00:15:00</td>\n", | |
" <td>2022-01-11 18:03:24.090</td>\n", | |
" <td>10 days 17:48:24.090000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>CVE-2021-45957</td>\n", | |
" <td>2022-01-01 00:15:00</td>\n", | |
" <td>2022-01-11 17:59:20.247</td>\n", | |
" <td>10 days 17:44:20.247000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22614</th>\n", | |
" <td>CVE-2022-41395</td>\n", | |
" <td>2022-11-15 03:15:00</td>\n", | |
" <td>2022-11-15 20:51:16.403</td>\n", | |
" <td>0 days 17:36:16.403000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22615</th>\n", | |
" <td>CVE-2022-42058</td>\n", | |
" <td>2022-11-15 03:15:00</td>\n", | |
" <td>2022-11-15 20:51:16.403</td>\n", | |
" <td>0 days 17:36:16.403000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22616</th>\n", | |
" <td>CVE-2022-40846</td>\n", | |
" <td>2022-11-15 03:15:00</td>\n", | |
" <td>2022-11-15 20:51:16.403</td>\n", | |
" <td>0 days 17:36:16.403000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22617</th>\n", | |
" <td>CVE-2022-40844</td>\n", | |
" <td>2022-11-15 03:15:00</td>\n", | |
" <td>2022-11-15 20:51:16.403</td>\n", | |
" <td>0 days 17:36:16.403000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22618</th>\n", | |
" <td>CVE-2022-42060</td>\n", | |
" <td>2022-11-15 03:15:00</td>\n", | |
" <td>2022-11-15 20:51:16.403</td>\n", | |
" <td>0 days 17:36:16.403000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>22619 rows × 4 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" CVE Published AnalysisTime \\\n", | |
"0 CVE-2021-45948 2022-01-01 00:15:00 2022-01-07 18:43:29.780 \n", | |
"1 CVE-2021-45947 2022-01-01 00:15:00 2022-01-07 18:42:31.743 \n", | |
"2 CVE-2021-45959 2022-01-01 00:15:00 2022-01-07 18:42:31.743 \n", | |
"3 CVE-2021-45958 2022-01-01 00:15:00 2022-01-11 18:03:24.090 \n", | |
"4 CVE-2021-45957 2022-01-01 00:15:00 2022-01-11 17:59:20.247 \n", | |
"... ... ... ... \n", | |
"22614 CVE-2022-41395 2022-11-15 03:15:00 2022-11-15 20:51:16.403 \n", | |
"22615 CVE-2022-42058 2022-11-15 03:15:00 2022-11-15 20:51:16.403 \n", | |
"22616 CVE-2022-40846 2022-11-15 03:15:00 2022-11-15 20:51:16.403 \n", | |
"22617 CVE-2022-40844 2022-11-15 03:15:00 2022-11-15 20:51:16.403 \n", | |
"22618 CVE-2022-42060 2022-11-15 03:15:00 2022-11-15 20:51:16.403 \n", | |
"\n", | |
" Difference \n", | |
"0 6 days 18:28:29.780000 \n", | |
"1 6 days 18:27:31.743000 \n", | |
"2 6 days 18:27:31.743000 \n", | |
"3 10 days 17:48:24.090000 \n", | |
"4 10 days 17:44:20.247000 \n", | |
"... ... \n", | |
"22614 0 days 17:36:16.403000 \n", | |
"22615 0 days 17:36:16.403000 \n", | |
"22616 0 days 17:36:16.403000 \n", | |
"22617 0 days 17:36:16.403000 \n", | |
"22618 0 days 17:36:16.403000 \n", | |
"\n", | |
"[22619 rows x 4 columns]" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"All_data['Difference'] = (All_data['AnalysisTime'] - All_data['Published'])\n", | |
"All_data" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"id": "62dcdcde-15ca-425d-91f1-4f7b34647ac1", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"count 22619\n", | |
"mean 5 days 22:14:22.765118661\n", | |
"std 3 days 15:42:25.873740315\n", | |
"min 0 days 00:26:59.773000\n", | |
"25% 3 days 06:09:17.128500\n", | |
"50% 6 days 03:04:19.437000\n", | |
"75% 7 days 22:42:52.135000\n", | |
"max 213 days 11:19:56.760000\n", | |
"Name: Difference, dtype: object" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"All_data['Difference'].describe()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"id": "277c011a-e6ef-4f8e-90aa-5b29a866b687", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"All_data.to_csv('2022.csv',index=False)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"id": "bafadabd-f68c-4914-b85a-3ea8855e7efe", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>CVE</th>\n", | |
" <th>Published</th>\n", | |
" <th>AnalysisTime</th>\n", | |
" <th>Difference</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>22175</th>\n", | |
" <td>CVE-2022-43488</td>\n", | |
" <td>2022-11-09 16:15:00</td>\n", | |
" <td>2022-11-09 16:41:59.773</td>\n", | |
" <td>0 days 00:26:59.773000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16268</th>\n", | |
" <td>CVE-2022-35175</td>\n", | |
" <td>2022-08-18 18:15:00</td>\n", | |
" <td>2022-08-18 18:57:51.560</td>\n", | |
" <td>0 days 00:42:51.560000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20262</th>\n", | |
" <td>CVE-2022-37208</td>\n", | |
" <td>2022-10-13 12:15:00</td>\n", | |
" <td>2022-10-13 13:02:46.543</td>\n", | |
" <td>0 days 00:47:46.543000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22177</th>\n", | |
" <td>CVE-2022-43277</td>\n", | |
" <td>2022-11-09 16:15:00</td>\n", | |
" <td>2022-11-09 17:03:10.577</td>\n", | |
" <td>0 days 00:48:10.577000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22181</th>\n", | |
" <td>CVE-2021-34567</td>\n", | |
" <td>2022-11-09 16:15:00</td>\n", | |
" <td>2022-11-09 17:03:10.577</td>\n", | |
" <td>0 days 00:48:10.577000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7448</th>\n", | |
" <td>CVE-2022-20717</td>\n", | |
" <td>2022-04-15 15:15:00</td>\n", | |
" <td>2022-05-16 14:56:04.680</td>\n", | |
" <td>30 days 23:41:04.680000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7440</th>\n", | |
" <td>CVE-2022-20725</td>\n", | |
" <td>2022-04-15 15:15:00</td>\n", | |
" <td>2022-05-16 14:58:26.687</td>\n", | |
" <td>30 days 23:43:26.687000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7458</th>\n", | |
" <td>CVE-2022-20758</td>\n", | |
" <td>2022-04-15 15:15:00</td>\n", | |
" <td>2022-05-16 18:35:03.107</td>\n", | |
" <td>31 days 03:20:03.107000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7459</th>\n", | |
" <td>CVE-2022-20731</td>\n", | |
" <td>2022-04-15 15:15:00</td>\n", | |
" <td>2022-05-16 18:41:34.163</td>\n", | |
" <td>31 days 03:26:34.163000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4237</th>\n", | |
" <td>CVE-2021-35036</td>\n", | |
" <td>2022-03-01 07:15:00</td>\n", | |
" <td>2022-09-30 18:34:56.760</td>\n", | |
" <td>213 days 11:19:56.760000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>22619 rows × 4 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" CVE Published AnalysisTime \\\n", | |
"22175 CVE-2022-43488 2022-11-09 16:15:00 2022-11-09 16:41:59.773 \n", | |
"16268 CVE-2022-35175 2022-08-18 18:15:00 2022-08-18 18:57:51.560 \n", | |
"20262 CVE-2022-37208 2022-10-13 12:15:00 2022-10-13 13:02:46.543 \n", | |
"22177 CVE-2022-43277 2022-11-09 16:15:00 2022-11-09 17:03:10.577 \n", | |
"22181 CVE-2021-34567 2022-11-09 16:15:00 2022-11-09 17:03:10.577 \n", | |
"... ... ... ... \n", | |
"7448 CVE-2022-20717 2022-04-15 15:15:00 2022-05-16 14:56:04.680 \n", | |
"7440 CVE-2022-20725 2022-04-15 15:15:00 2022-05-16 14:58:26.687 \n", | |
"7458 CVE-2022-20758 2022-04-15 15:15:00 2022-05-16 18:35:03.107 \n", | |
"7459 CVE-2022-20731 2022-04-15 15:15:00 2022-05-16 18:41:34.163 \n", | |
"4237 CVE-2021-35036 2022-03-01 07:15:00 2022-09-30 18:34:56.760 \n", | |
"\n", | |
" Difference \n", | |
"22175 0 days 00:26:59.773000 \n", | |
"16268 0 days 00:42:51.560000 \n", | |
"20262 0 days 00:47:46.543000 \n", | |
"22177 0 days 00:48:10.577000 \n", | |
"22181 0 days 00:48:10.577000 \n", | |
"... ... \n", | |
"7448 30 days 23:41:04.680000 \n", | |
"7440 30 days 23:43:26.687000 \n", | |
"7458 31 days 03:20:03.107000 \n", | |
"7459 31 days 03:26:34.163000 \n", | |
"4237 213 days 11:19:56.760000 \n", | |
"\n", | |
"[22619 rows x 4 columns]" | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"All_data.sort_values(by=['Difference'])" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3.10.8 64-bit", | |
"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.10.8" | |
}, | |
"vscode": { | |
"interpreter": { | |
"hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49" | |
} | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment