diff options
| author | Adam Janovsky | 2022-10-05 21:11:42 +0200 |
|---|---|---|
| committer | Adam Janovsky | 2022-10-05 21:11:42 +0200 |
| commit | e06ea65912a14497280e04b19afa06f0b1952c48 (patch) | |
| tree | 183be4e313880497cbc4f7482c63dfb5d09ce1e4 | |
| parent | 29b1f632c18ba4691ed17257802ffb48f8b2f7db (diff) | |
| download | sec-certs-e06ea65912a14497280e04b19afa06f0b1952c48.tar.gz sec-certs-e06ea65912a14497280e04b19afa06f0b1952c48.tar.zst sec-certs-e06ea65912a14497280e04b19afa06f0b1952c48.zip | |
introduce scipy dependency
| -rw-r--r-- | notebooks/cc/vulnerabilities.ipynb | 265 | ||||
| -rw-r--r-- | requirements/requirements.in | 3 | ||||
| -rw-r--r-- | requirements/requirements.txt | 9 |
3 files changed, 28 insertions, 249 deletions
diff --git a/notebooks/cc/vulnerabilities.ipynb b/notebooks/cc/vulnerabilities.ipynb index a7959d7f..eea8fc9b 100644 --- a/notebooks/cc/vulnerabilities.ipynb +++ b/notebooks/cc/vulnerabilities.ipynb @@ -78,8 +78,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "parsing cpe matching (by NIST) dictionary: 100%|██████████| 398394/398394 [00:51<00:00, 7799.80it/s] \n", - "Building-up lookup dictionaries for fast CVE matching: 100%|██████████| 196907/196907 [00:16<00:00, 11669.78it/s]\n" + "parsing cpe matching (by NIST) dictionary: 100%|██████████| 398394/398394 [00:47<00:00, 8353.84it/s] \n", + "Building-up lookup dictionaries for fast CVE matching: 100%|██████████| 196907/196907 [00:14<00:00, 13862.44it/s]\n" ] } ], @@ -409,13 +409,13 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bb5e9ad95bc741f18ea19d3ce84c3372", + "model_id": "fc464abb26084948885a552e01412165", "version_major": 2, "version_minor": 0 }, @@ -425,259 +425,28 @@ }, "metadata": {}, "output_type": "display_data" - } - ], - "source": [ - "# Manually curated families that recieve support 100 on CVE-rich certificates and are meaningful to compute Spearman's\n", - "families = [ \"ADV_FSP\", \"ATE_IND\", \"ALC_CMC\", \"ALC_CMS\", \"AVA_VAN\", \"ATE_FUN\", \"ATE_COV\", \"ALC_FLR\", \"ASE_REQ\", \"ASE_TSS\", \"ASE_OBJ\", \"ADV_TDS\", \"ALC_DVS\", \"ATE_DPT\", \"ALC_LCD\"]\n", - "df_corr = compute_cve_correlations(df_cves_within_validity_period, sar_families=families, output_path=RESULTS_DIR / \"all_certs_sar_cve_corr.csv\", filter_nans=False)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "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>n_cves_corr</th>\n", - " <th>n_cves_pvalue</th>\n", - " <th>worst_cve_score_corr</th>\n", - " <th>worst_cve_pvalue</th>\n", - " <th>avg_cve_score_corr</th>\n", - " <th>avg_cve_pvalue</th>\n", - " <th>support</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>ADV_FSP</th>\n", - " <td>-0.073348</td>\n", - " <td>2.000118e-05</td>\n", - " <td>-0.115242</td>\n", - " <td>0.017497</td>\n", - " <td>-0.264223</td>\n", - " <td>4.660740e-07</td>\n", - " <td>3130</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ATE_IND</th>\n", - " <td>-0.063539</td>\n", - " <td>2.085741e-04</td>\n", - " <td>-0.187467</td>\n", - " <td>0.000304</td>\n", - " <td>-0.313017</td>\n", - " <td>2.938611e-09</td>\n", - " <td>3081</td>\n", - " </tr>\n", - " <tr>\n", - " <th>eal</th>\n", - " <td>-0.019250</td>\n", - " <td>1.551846e-01</td>\n", - " <td>0.024435</td>\n", - " <td>0.655587</td>\n", - " <td>-0.243016</td>\n", - " <td>2.640539e-05</td>\n", - " <td>2779</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AVA_VAN</th>\n", - " <td>-0.103612</td>\n", - " <td>2.212583e-07</td>\n", - " <td>-0.243965</td>\n", - " <td>0.000072</td>\n", - " <td>-0.343194</td>\n", - " <td>2.777696e-08</td>\n", - " <td>2365</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ALC_CMS</th>\n", - " <td>-0.099718</td>\n", - " <td>6.717591e-07</td>\n", - " <td>-0.263161</td>\n", - " <td>0.000018</td>\n", - " <td>-0.349067</td>\n", - " <td>1.386312e-08</td>\n", - " <td>2340</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ALC_CMC</th>\n", - " <td>-0.103298</td>\n", - " <td>2.848839e-07</td>\n", - " <td>-0.239746</td>\n", - " <td>0.000089</td>\n", - " <td>-0.356366</td>\n", - " <td>6.753096e-09</td>\n", - " <td>2334</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ATE_FUN</th>\n", - " <td>0.007270</td>\n", - " <td>6.368322e-01</td>\n", - " <td>0.028964</td>\n", - " <td>0.666821</td>\n", - " <td>-0.102369</td>\n", - " <td>6.331094e-02</td>\n", - " <td>2320</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ATE_COV</th>\n", - " <td>-0.019677</td>\n", - " <td>1.729353e-01</td>\n", - " <td>0.077767</td>\n", - " <td>0.875190</td>\n", - " <td>-0.165593</td>\n", - " <td>6.854635e-03</td>\n", - " <td>2297</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ASE_TSS</th>\n", - " <td>0.004123</td>\n", - " <td>5.713761e-01</td>\n", - " <td>-0.036955</td>\n", - " <td>0.305412</td>\n", - " <td>0.043354</td>\n", - " <td>7.247765e-01</td>\n", - " <td>1906</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ASE_REQ</th>\n", - " <td>-0.127189</td>\n", - " <td>1.271330e-08</td>\n", - " <td>-0.203925</td>\n", - " <td>0.002122</td>\n", - " <td>-0.177072</td>\n", - " <td>6.636164e-03</td>\n", - " <td>1905</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ASE_OBJ</th>\n", - " <td>-0.121506</td>\n", - " <td>6.966594e-08</td>\n", - " <td>-0.240040</td>\n", - " <td>0.000439</td>\n", - " <td>-0.205727</td>\n", - " <td>2.255957e-03</td>\n", - " <td>1867</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ALC_FLR</th>\n", - " <td>0.043797</td>\n", - " <td>9.596794e-01</td>\n", - " <td>0.045766</td>\n", - " <td>0.737926</td>\n", - " <td>0.044116</td>\n", - " <td>7.303852e-01</td>\n", - " <td>1592</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ADV_TDS</th>\n", - " <td>-0.038305</td>\n", - " <td>6.762649e-02</td>\n", - " <td>0.063991</td>\n", - " <td>0.759931</td>\n", - " <td>-0.100964</td>\n", - " <td>1.322631e-01</td>\n", - " <td>1522</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ALC_DVS</th>\n", - " <td>-0.044636</td>\n", - " <td>4.950787e-02</td>\n", - " <td>-0.030389</td>\n", - " <td>0.370364</td>\n", - " <td>-0.137949</td>\n", - " <td>6.566097e-02</td>\n", - " <td>1367</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ATE_DPT</th>\n", - " <td>-0.033161</td>\n", - " <td>1.139414e-01</td>\n", - " <td>-0.074684</td>\n", - " <td>0.208772</td>\n", - " <td>-0.034558</td>\n", - " <td>3.539367e-01</td>\n", - " <td>1324</td>\n", - " </tr>\n", - " <tr>\n", - " <th>ALC_LCD</th>\n", - " <td>-0.006068</td>\n", - " <td>4.186687e-01</td>\n", - " <td>-0.052709</td>\n", - " <td>0.302177</td>\n", - " <td>-0.160808</td>\n", - " <td>5.590991e-02</td>\n", - " <td>1147</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], + "application/vnd.jupyter.widget-view+json": { + "model_id": "a12745f79c0b4b8bba57f17d4c8e8735", + "version_major": 2, + "version_minor": 0 + }, "text/plain": [ - " n_cves_corr n_cves_pvalue worst_cve_score_corr worst_cve_pvalue \\\n", - "ADV_FSP -0.073348 2.000118e-05 -0.115242 0.017497 \n", - "ATE_IND -0.063539 2.085741e-04 -0.187467 0.000304 \n", - "eal -0.019250 1.551846e-01 0.024435 0.655587 \n", - "AVA_VAN -0.103612 2.212583e-07 -0.243965 0.000072 \n", - "ALC_CMS -0.099718 6.717591e-07 -0.263161 0.000018 \n", - "ALC_CMC -0.103298 2.848839e-07 -0.239746 0.000089 \n", - "ATE_FUN 0.007270 6.368322e-01 0.028964 0.666821 \n", - "ATE_COV -0.019677 1.729353e-01 0.077767 0.875190 \n", - "ASE_TSS 0.004123 5.713761e-01 -0.036955 0.305412 \n", - "ASE_REQ -0.127189 1.271330e-08 -0.203925 0.002122 \n", - "ASE_OBJ -0.121506 6.966594e-08 -0.240040 0.000439 \n", - "ALC_FLR 0.043797 9.596794e-01 0.045766 0.737926 \n", - "ADV_TDS -0.038305 6.762649e-02 0.063991 0.759931 \n", - "ALC_DVS -0.044636 4.950787e-02 -0.030389 0.370364 \n", - "ATE_DPT -0.033161 1.139414e-01 -0.074684 0.208772 \n", - "ALC_LCD -0.006068 4.186687e-01 -0.052709 0.302177 \n", - "\n", - " avg_cve_score_corr avg_cve_pvalue support \n", - "ADV_FSP -0.264223 4.660740e-07 3130 \n", - "ATE_IND -0.313017 2.938611e-09 3081 \n", - "eal -0.243016 2.640539e-05 2779 \n", - "AVA_VAN -0.343194 2.777696e-08 2365 \n", - "ALC_CMS -0.349067 1.386312e-08 2340 \n", - "ALC_CMC -0.356366 6.753096e-09 2334 \n", - "ATE_FUN -0.102369 6.331094e-02 2320 \n", - "ATE_COV -0.165593 6.854635e-03 2297 \n", - "ASE_TSS 0.043354 7.247765e-01 1906 \n", - "ASE_REQ -0.177072 6.636164e-03 1905 \n", - "ASE_OBJ -0.205727 2.255957e-03 1867 \n", - "ALC_FLR 0.044116 7.303852e-01 1592 \n", - "ADV_TDS -0.100964 1.322631e-01 1522 \n", - "ALC_DVS -0.137949 6.566097e-02 1367 \n", - "ATE_DPT -0.034558 3.539367e-01 1324 \n", - "ALC_LCD -0.160808 5.590991e-02 1147 " + " 0%| | 0/15 [00:00<?, ?it/s]" ] }, - "execution_count": 5, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "df_corr" + "# Manually curated families that recieve support 100 on CVE-rich certificates and are meaningful to compute Spearman's\n", + "families = [ \"ADV_FSP\", \"ATE_IND\", \"ALC_CMC\", \"ALC_CMS\", \"AVA_VAN\", \"ATE_FUN\", \"ATE_COV\", \"ALC_FLR\", \"ASE_REQ\", \"ASE_TSS\", \"ASE_OBJ\", \"ADV_TDS\", \"ALC_DVS\", \"ATE_DPT\", \"ALC_LCD\"]\n", + "\n", + "df_corr = compute_cve_correlations(df_cves_within_validity_period, sar_families=families, output_path=RESULTS_DIR / \"all_certs_sar_cve_corr.csv\", filter_nans=False)\n", + "df_corr = compute_cve_correlations(df_cves_within_validity_period.loc[df_cves_within_validity_period.category != \"ICs, Smart Cards and Smart Card-Related Devices and Systems\"], sar_families=families, output_path=RESULTS_DIR / \"certs_without_smartcards_sar_cve_corr.csv\", filter_nans=False)" ] }, { diff --git a/requirements/requirements.in b/requirements/requirements.in index 654a565d..d692e59d 100644 --- a/requirements/requirements.in +++ b/requirements/requirements.in @@ -25,4 +25,5 @@ ipywidgets spacy pkgconfig seaborn -pySankeyBeta
\ No newline at end of file +pySankeyBeta +scipy
\ No newline at end of file diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 8621cdff..46ff8d7a 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -1,3 +1,7 @@ +appnope==0.1.3 + # via + # ipykernel + # ipython argon2-cffi==21.3.0 # via notebook argon2-cffi-bindings==21.2.0 @@ -66,6 +70,8 @@ html5lib==1.1 # via -r requirements.in idna==3.3 # via requests +importlib-resources==5.9.0 + # via jsonschema ipykernel==6.12.1 # via # -r requirements.in @@ -266,6 +272,7 @@ scikit-learn==1.0.2 # via -r requirements.in scipy==1.8.0 # via + # -r requirements.in # scikit-learn # seaborn seaborn==0.11.2 @@ -354,6 +361,8 @@ webencodings==0.5.1 # tinycss2 widgetsnbextension==3.6.0 # via ipywidgets +zipp==3.8.1 + # via importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools |
