aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam Janovsky2022-10-04 14:30:15 +0200
committerAdam Janovsky2022-10-04 14:30:15 +0200
commit75db582be0a68d762ea9ba89d2ff5613526cd8db (patch)
tree17563967089b7d3154bd4e6b302297891e624ae4
parent875f1657f42c9c3f698a4ddd0905e55cd92005eb (diff)
downloadsec-certs-75db582be0a68d762ea9ba89d2ff5613526cd8db.tar.gz
sec-certs-75db582be0a68d762ea9ba89d2ff5613526cd8db.tar.zst
sec-certs-75db582be0a68d762ea9ba89d2ff5613526cd8db.zip
prepare code for CPE manual evaluation
-rw-r--r--data/cpe_eval/random.csv101
-rw-r--r--notebooks/cc/cpe_eval.ipynb131
-rw-r--r--notebooks/cc/temporal_trends.ipynb4
-rw-r--r--notebooks/cc/vulnerabilities.ipynb17
-rw-r--r--notebooks/latex_plotting.ipynb2
-rw-r--r--sec_certs/config/settings.yaml4
-rw-r--r--sec_certs/dataset/dataset.py8
7 files changed, 244 insertions, 23 deletions
diff --git a/data/cpe_eval/random.csv b/data/cpe_eval/random.csv
new file mode 100644
index 00000000..0a98305d
--- /dev/null
+++ b/data/cpe_eval/random.csv
@@ -0,0 +1,101 @@
+dgst,cpe_matches
+ed3e225330ea92ba,{'cpe:2.3:a:imperva:securesphere:11.5:*:*:*:*:*:*:*'}
+becec4ab092863f5,"{'cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:x64:*', 'cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:x86:*'}"
+bfad9cf83b8ad085,{'cpe:2.3:a:samsung:knox:1.2.02.39:*:*:*:*:*:*:*'}
+f41144f844927ef1,"{'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.00086:*:*:*:*:windows:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.04043:*:*:*:*:windows:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.05042:*:*:*:*:windows:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.03047:*:*:*:*:windows:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.03047:*:*:*:*:macos:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.01095:*:*:*:*:windows:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.03047:*:*:*:*:linux_kernel:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9\\(5086\\):*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9\\(3052\\):*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.03049:*:*:*:*:windows:*:*'}"
+b644b78aafc367b0,{'cpe:2.3:a:redhat:jboss_enterprise_application_platform:6.2.2:*:*:*:*:*:*:*'}
+e0be32a08b66d264,"{'cpe:2.3:o:redhat:enterprise_linux:7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:redhat:linux:7.1:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:linux:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:linux:7.1:*:*:*:*:*:*:*'}"
+22843e80e1e0c5d2,{'cpe:2.3:a:bea:weblogic_platform:8.1:*:*:*:*:*:*:*'}
+eeb2e28f54484dc9,"{'cpe:2.3:a:microsoft:sql_server:2012:-:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_server:2012:*:*:*:*:*:*:*', 'cpe:2.3:a:microsoft:sql_server:2012:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_server:2012:r2:*:*:*:*:*:*'}"
+6d4a3715391db624,"{'cpe:2.3:o:microsoft:windows_server:2012:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_server:2012:r2:*:*:*:*:*:*'}"
+0785f187bc5d550d,"{'cpe:2.3:o:hp:laserjet_enterprise_m806_firmware:-:*:*:*:*:*:*:*', 'cpe:2.3:o:hp:futuresmart_4:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_enterprise_m806:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_4:-:*:*:*:*:*:*:*'}"
+0d3fbaed08d668e2,{'cpe:2.3:o:hp:futuresmart_4:-:*:*:*:*:*:*:*'}
+5e646214ea5b1044,"{'cpe:2.3:o:apple:mac_os:11.4:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:mac_os:11.5:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.0:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.3:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.2:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.5:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:mac_os:11.2:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.6.6:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:mac_os:11.3:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.1:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:mac_os:11.1:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.4:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.6:*:*:*:*:*:*:*'}"
+fd1a78c4cfc3ce73,{'cpe:2.3:a:oracle:database:10.2.0.3:*:*:*:*:*:*:*'}
+33f684e367c142d4,"{'cpe:2.3:o:netapp:element_os:10.3.1:*:*:*:*:*:*:*', 'cpe:2.3:o:netapp:element_os:10.3:*:*:*:*:*:*:*'}"
+3e8c0381164e725c,"{'cpe:2.3:h:xerox:workcentre:5665:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre:5645:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre:5675:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre:5655:*:*:*:*:*:*:*'}"
+268595dff72078d3,"{'cpe:2.3:h:hp:color_laserjet_enterprise_mfp_m577:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:pagewide_enterprise_color_mfp_586:-:*:*:*:*:*:*:*'}"
+9686c5d0a0bb5197,"{'cpe:2.3:h:cisco:nexus_9000:-:*:*:*:*:*:*:*', 'cpe:2.3:h:cisco:nexus_2000:-:*:*:*:*:*:*:*'}"
+5a32443b7ba2a43c,"{'cpe:2.3:h:f5:big-ip_protocol_security_manager:10.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:f5:big-ip_local_traffic_manager:10.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:f5:big-ip_protocol_security_module:10.2.2:*:*:*:*:*:*:*'}"
+3303a75be8960a6b,{'cpe:2.3:a:emc:vipr_srm:4.0:*:*:*:*:*:*:*'}
+77666acfbd865b66,"{'cpe:2.3:a:cisco:prime_infrastructure:3.2\\(2.0\\):*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2_base:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2:fips:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2\\(0.0\\):*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2\\(1.0\\):*:*:*:*:*:*:*'}"
+f0fa5d1487859497,{'cpe:2.3:h:xerox:workcentre_5655:-:*:*:*:*:*:*:*'}
+58fdc89ee3768634,"{'cpe:2.3:o:apple:iphone_os:14.5.1:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:iphone_os:14.5:*:*:*:*:*:*:*'}"
+9939d1e87bb98ebe,"{'cpe:2.3:o:ibm:z\\/os:1.8:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.12:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.3:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.6:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.10:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.11:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.5:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.2:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.9:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.4:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.7:*:*:*:*:*:*:*'}"
+bafc9aec08b99262,"{'cpe:2.3:a:gigamon:gigavue:5.9.00.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gigamon:gigavue:5.9:*:*:*:*:*:*:*'}"
+908128ea95f94b09,{'cpe:2.3:o:juniper:junos:19.3:-:*:*:*:*:*:*'}
+02ee895cd5a94793,"{'cpe:2.3:h:cisco:catalyst_3650:-:*:*:*:*:*:*:*', 'cpe:2.3:h:cisco:catalyst_3850:-:*:*:*:*:*:*:*'}"
+c2eafdfea336ae85,{'cpe:2.3:a:primekey:ejbca:7.4.1:*:*:*:enterprise:*:*:*'}
+5e9eab631db3c27f,"{'cpe:2.3:a:microsoft:active_directory_federation_services:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:microsoft:excel:2.0:*:*:*:*:*:*:*'}"
+c6e205ed4cf148f5,"{'cpe:2.3:a:vmware:horizon_client:4.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:vmware:horizon:7.3:*:*:*:*:*:*:*'}"
+f6af10cec01d965e,"{'cpe:2.3:a:fortinet:fortianalyzer:5.6.6:*:*:*:*:*:*:*', 'cpe:2.3:a:fortinet:fortimanager:5.6.6:*:*:*:*:*:*:*'}"
+b7f814ed16f2ecca,{'cpe:2.3:a:clavister:cos_core:12.00.00:*:*:*:*:*:*:*'}
+fee9778a4830abdd,{'cpe:2.3:o:juniper:junos:14.2:-:*:*:*:*:*:*'}
+b81b515ce712c6b7,"{'cpe:2.3:h:hp:laserjet_enterprise_m608:-:*:*:*:*:*:*:*', 'cpe:2.3:o:hp:laserjet_enterprise_m609_firmware:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_enterprise_m609:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_enterprise_m607:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_4:-:*:*:*:*:*:*:*', 'cpe:2.3:o:hp:futuresmart_4:-:*:*:*:*:*:*:*', 'cpe:2.3:o:hp:laserjet_enterprise_m607_firmware:-:*:*:*:*:*:*:*', 'cpe:2.3:o:hp:laserjet_enterprise_m608_firmware:-:*:*:*:*:*:*:*'}"
+edce62ced3b50eb7,{'cpe:2.3:a:ibm:db2_universal_database:8.2:*:*:*:*:*:*:*'}
+8e7fc995564ffe31,"{'cpe:2.3:a:google:android_api:12.0:*:*:*:*:*:*:*', 'cpe:2.3:o:google:android:12.0:*:*:*:*:*:*:*'}"
+ba4b6de88757ad8c,"{'cpe:2.3:o:lexmark:mx722_firmware:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx722:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx721:-:*:*:*:*:*:*:*', 'cpe:2.3:o:lexmark:mx721_firmware:-:*:*:*:*:*:*:*'}"
+0ff82b1cc24b3105,{'cpe:2.3:a:ibm:aix_5l:-:*:*:*:*:*:*:*'}
+893be82a6b027186,"{'cpe:2.3:a:cisco:vpn_client:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:vpn_client:5.0.03.0560:*:*:*:*:*:*:*'}"
+495c0da27cb35c00,{'cpe:2.3:a:tenable:nessus:4.4.1.15078:*:*:*:*:*:x64:*'}
+1e5d8721adb66043,"{'cpe:2.3:a:citrix:presentation_server:4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:management_console_for_metaframe_presentation_server:4.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:metaframe:4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:metaframe_presentation_server:4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:metaframe_presentation_server_for_windows:4.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:web_interface_for_metaframe_presentation_server:4.0.45083\\#28412:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:metaframe_presentation_server_for_windows:4.0.7:*:*:*:*:*:*:*'}"
+370d590d42b7d9f3,"{'cpe:2.3:o:redhat:enterprise_linux_server_tus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:a:redhat:enterprise_linux_server_update_services_for_sap_solutions:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_power_big_endian_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server_update_services_for_sap_solutions:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_ibm_z_systems_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server_for_power_little_endian_update_services_for_sap_solutions:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:linux:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_real_time_for_nfv:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server_for_power_little_endian:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server_aus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_tus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_real_time:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_openstack_platform:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_compute_node_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_power_big_endian_eus:7.6_ppc64:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_hpc_node_eus:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_power_little_endian_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_aus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_desktop:7:*:*:*:*:*:*:*'}"
+28a2b2549990a711,"{'cpe:2.3:a:unisys:stealth:4.0.114:*:*:*:*:*:*:*', 'cpe:2.3:a:unisys:stealth:4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unisys:stealth:4.0.027.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unisys:stealth:4.0.134:*:*:*:*:*:*:*', 'cpe:2.3:a:unisys:stealth:4.0.131:*:*:*:*:*:*:*'}"
+1092b91c4d853106,{'cpe:2.3:o:cisco:ios_xr:12.4:*:*:*:*:*:*:*'}
+3f039f69a0665170,{'cpe:2.3:a:samsung:knox:1.0:*:*:*:*:*:*:*'}
+129481739aabc8df,"{'cpe:2.3:h:lexmark:cs622:-:*:*:*:*:*:*:*', 'cpe:2.3:o:lexmark:cs622_firmware:-:*:*:*:*:*:*:*'}"
+854f4851530238f8,{'cpe:2.3:h:kyocera:taskalfa_5052ci:-:*:*:*:*:*:*:*'}
+0103071bf39bf8c2,"{'cpe:2.3:a:symantec:message_gateway:10.6.1-3:*:*:*:*:*:*:*', 'cpe:2.3:a:symantec:message_gateway:10.6:*:*:*:*:*:*:*', 'cpe:2.3:a:symantec:message_gateway_for_service_providers:10.6:*:*:*:*:*:*:*', 'cpe:2.3:a:symantec:message_gateway:10.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:symantec:messaging_gateway:10.6.1:*:*:*:*:*:*:*'}"
+cbdba17c06d06fac,"{'cpe:2.3:h:xerox:workcentre_7225:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre_7220:-:*:*:*:*:*:*:*'}"
+c93ab87c8c28856f,"{'cpe:2.3:a:google:android_api:11.0:*:*:*:*:*:*:*', 'cpe:2.3:o:google:android:11.0:*:*:*:*:*:*:*'}"
+83e595d2b5e3d74f,{'cpe:2.3:o:watchguard:fireware:11.5.1:*:*:*:*:*:*:*'}
+0a3793d207c47790,"{'cpe:2.3:a:mcafee:email_gateway:7.0.1:*:*:*:*:*:*:*', 'cpe:2.3:h:mcafee:web_gateway:7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:security_center:7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:email_gateway:7.0:*:*:*:*:*:*:*'}"
+7e1a44114c80a5b2,"{'cpe:2.3:o:cisco:ios_xe:17.3.3a:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:ios_xe:17.3.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.2a:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.1x:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.1w:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:ios_xe:17.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.1a:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.1:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.1z:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.2:*:*:*:*:*:*:*'}"
+0d33e68859fe5b33,"{'cpe:2.3:a:bmc:bladelogic_server_automation_console:8.3.02:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc:bladelogic_server_automation_console:8.3.00:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc:bladelogic_server_automation_console:8.3.03:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc:bladelogic_server_automation_console:8.3.01:*:*:*:*:*:*:*'}"
+1783abbe873fb8be,"{'cpe:2.3:o:sun:solaris:8.1:*:*:*:*:*:*:*', 'cpe:2.3:o:sun:solaris:8.2:*:*:*:*:*:*:*', 'cpe:2.3:o:sun:solaris:8.0:*:*:*:*:*:*:*', 'cpe:2.3:o:sun:solaris:4.1.1:*:*:*:*:*:*:*', 'cpe:2.3:o:sun:solaris:8:*:*:*:*:*:*:*'}"
+435d9d1457653dfd,"{'cpe:2.3:a:forcepoint:next_generation_firewall:6.10.1:*:*:*:*:*:*:*', 'cpe:2.3:a:forcepoint:next_generation_firewall:6.10.0:*:*:*:*:*:*:*', 'cpe:2.3:a:forcepoint:next_generation_firewall:6.10.2:*:*:*:*:*:*:*'}"
+28bb2a8869397c4c,"{'cpe:2.3:a:oracle:database_server:8.0.5:*:*:*:*:*:*:*', 'cpe:2.3:a:oracle:database_server:8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:oracle:database_server:8:*:*:*:*:*:*:*'}"
+f3d1f7d2a741549a,"{'cpe:2.3:a:citrix:presentation_server_for_windows:4.5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_for_windows:4.5.6:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_for_windows:4.5.7:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_presentation_server_reports:4.5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_for_windows:4.5.8:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_administration_snap-in:4.5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server:4.5:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:metaframe_presentation_server:4.5:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:management_console_for_citrix_presentation_server:4.5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_document_center:4.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:edgesight_for_presentation_server:4.5:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:management_console_for_citrix_presentation_server:4.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_document_center:4.5.1:*:*:*:*:*:*:*'}"
+66c2b4f175819960,"{'cpe:2.3:a:blackberry:unified_endpoint_management:12.8:*:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.10:*:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.12.0:-:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.7:*:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.11.1:-:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.13.0:-:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.10.1a:*:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.9:*:*:*:*:*:*:*'}"
+2f5789b225af5694,{'cpe:2.3:a:cisco:firepower:6.4.0:*:*:*:*:*:*:*'}
+c57b9308028caccf,"{'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p2:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p7:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p14:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p13:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p1:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p5:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:p19:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:rc2:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:*:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:p18:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:-:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:p20:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p4:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p6:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p9:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p8:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p15:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p3:*:*:*:*:*:*', 'cpe:2.3:a:netapp:data_ontap:9.1:*:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:-:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p10:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:rc1:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p11:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p16:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p12:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:p15:*:*:*:*:*:*'}"
+df0370c328effb92,"{'cpe:2.3:o:suse:linux_enterprise_server:15:sp1:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:*:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp2:*:*:business_critical_linux:-:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:-:*:*:ltss:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp1:*:*:ltss:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:*:*:*:*:sap:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp5:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:*:*:*:ltss:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp3:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise:15.0:*:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp4:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp2:*:*:*:-:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:*:*:*:*:ltss:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp2:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp2:*:*:ltss:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:-:*:*:espos:*:*:*', 'cpe:2.3:o:suse:suse_linux_enterprise_server:15:*:*:*:*:*:*:*', 'cpe:2.3:o:suse:suse_linux_enterprise_server:15:sp1:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp1:*:*:business_critical_linux:-:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp1:*:*:-:-:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp2:*:*:*:sap:*:*', 'cpe:2.3:o:suse:suse_linux_enterprise_server:15:sp3:*:*:*:*:*:*'}"
+f3a461d6bf980196,{'cpe:2.3:o:citrix:netscaler_firmware:9.1:*:*:*:*:*:*:*'}
+287695704a721905,"{'cpe:2.3:o:cisco:ios_xe:16.6.9:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.7a:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:ios_xe:16.6.2:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.6:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.5:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:ios_xe:16.6.1:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.5a:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.4:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.8:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.1a:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.1:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.5b:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.4a:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.4s:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.7:*:*:*:*:*:*:*'}"
+18e5179ba124af1d,"{'cpe:2.3:o:juniper:junos:12.1:*:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:12.1:-:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:12.1r:*:*:*:*:*:*:*'}"
+17607d6e8c79fe05,"{'cpe:2.3:h:hp:laserjet_m4345_mfp:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_m5035_mfp:-:*:*:*:*:*:*:*'}"
+979357f42415d6d8,{'cpe:2.3:h:lg:v30\\+:-:*:*:*:*:*:*:*'}
+789564ffe9bfea87,{'cpe:2.3:h:nokia:1830_photonic_service_switch-32:-:*:*:*:*:*:*:*'}
+26b7973a845a68d6,"{'cpe:2.3:a:cisco:email_security_appliance:7.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:email_security_appliance:7.1.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:email_security_appliance_firmware:7.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:email_security_appliance:7.1.1:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:email_security_appliance_firmware:7.1.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:email_security_appliance_firmware:7.1.1:*:*:*:*:*:*:*'}"
+9fc3661a70580d0d,"{'cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:x64:*', 'cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:x86:*'}"
+8cfb943de1ca8e41,"{'cpe:2.3:h:xerox:altalink_c8045:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:altalink_c8070:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:atlalink_c8030:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:altalink_c8035:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:altalink_c8030:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:altalink_c8055:-:*:*:*:*:*:*:*'}"
+451e0806dfcfd29d,{'cpe:2.3:a:pandasecurity:panda_adaptive_defense_360:8.0.17:*:*:*:*:*:*:*'}
+770f2b13b0723e49,"{'cpe:2.3:o:juniper:junos:20.3:r2:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r3-s3:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:-:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r3-s1:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r2-s1:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r3:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r3-s2:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r1-s2:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r1:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r1-s1:*:*:*:*:*:*'}"
+a94f3463bd227935,"{'cpe:2.3:a:acronis:cyber_backup:12.5:11010:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:16180:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:14330:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:8850:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:14280:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:9010:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:16327:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:7641:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:-:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:10130:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:16318:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:10330:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:13160:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:7970:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:13400:*:*:*:*:*:*'}"
+a92fe4e09a418288,{'cpe:2.3:a:hp:asset_manager:9.50:*:*:*:*:*:*:*'}
+dc75a9687cef3288,"{'cpe:2.3:a:oracle:weblogic_server_proxy_plug-in:12.1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:oracle:weblogic_server:12.1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:oracle:weblogic_server:12.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:oracle:weblogic_server:12.1.3.0.0:*:*:*:*:*:*:*'}"
+ce504241f1c04e66,{'cpe:2.3:o:citrix:netscaler_firmware:10.0:*:*:*:*:*:*:*'}
+1123d3a2653e7711,"{'cpe:2.3:h:xerox:workcentre_7855:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre_7845i:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre_7855i:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre_7845:-:*:*:*:*:*:*:*'}"
+fc64674fe7ede43b,"{'cpe:2.3:a:microsoft:sql_server:2016:*:*:*:*:*:*:*', 'cpe:2.3:a:microsoft:sql_server:2016:-:*:*:*:*:*:*'}"
+f621ca835cf98a6d,"{'cpe:2.3:o:ibm:z\\/os:1.8:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.12:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.3:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.6:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.13:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.10:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.11:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.5:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.2:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.9:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.4:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.7:*:*:*:*:*:*:*'}"
+482919a6159cf398,"{'cpe:2.3:h:hp:9000:-:*:*:*:*:*:*:*', 'cpe:2.3:a:hp:p9000_command_view_advanced_edition_software:-:*:*:*:*:*:*:*'}"
+4cddc91dd1baf20a,"{'cpe:2.3:h:fujixerox:apeosport_3060:-:*:*:*:*:*:*:*', 'cpe:2.3:h:fujixerox:docucentre-v_3065:-:*:*:*:*:*:*:*'}"
+d3323745a51a604d,{'cpe:2.3:a:infineon:rsa_library:1.02.013:*:*:*:*:*:*:*'}
+d0ab7ad11ed94a08,"{'cpe:2.3:o:ibm:z\\/os:1.8:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.12:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.3:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.6:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.10:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.11:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.5:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.2:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.9:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.4:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.7:*:*:*:*:*:*:*'}"
+27544f52a5cb3875,{'cpe:2.3:h:ricoh:mp_c2003:-:*:*:*:*:*:*:*'}
+f89c3a438204a45b,"{'cpe:2.3:h:lexmark:mx810:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm7155:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm7170:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm7163:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx812:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xc2132:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm9155:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx811:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm9145:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx911:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx910:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm9165:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx912:-:*:*:*:*:*:*:*'}"
+7e664d089ed905a5,"{'cpe:2.3:o:sonicwall:sonicos:6.2.5.3:*:*:*:*:*:*:*', 'cpe:2.3:o:sonicwall:sonicos:6.2.5.0:*:*:*:*:*:*:*'}"
+e93d9f67292a22cc,{'cpe:2.3:a:tenable:nessus:8.11.1:*:*:*:*:*:*:*'}
+5c3c5ae929b50352,"{'cpe:2.3:a:microsoft:windows_mobile:5.0:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_mobile:5.0:*:pocket_pc:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_mobile:5.0:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_ce:5.0:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows-ce:5.0:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_mobile:5.0:*:smartphone:*:*:*:*:*'}"
+8b6133628e7d8351,"{'cpe:2.3:h:lexmark:c79x:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx923:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx625:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:c95x:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx924:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx622:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:c762:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx921:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:x652:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cs622:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx826:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx922:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx822:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:x862:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx522:-:*:*:*:*:*:*:*'}"
+bf0f130ebce2e124,"{'cpe:2.3:a:ibm:websphere_application_server:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ibm:websphere_mq:6.0.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ibm:websphere_mq:6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ibm:websphere_portal_unified_task_list_portlet:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ibm:websphere_application_server:6.0.1.1:*:*:*:*:*:*:*'}"
+a67614bd685d7dfc,"{'cpe:2.3:h:cisco:catalyst_6500-e:-:*:*:*:*:*:*:*', 'cpe:2.3:h:cisco:catalyst_6500:-:*:*:*:*:*:*:*'}"
+fd34fcd8a64e1253,"{'cpe:2.3:a:citrix:xenserver:6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:xenserver:6.0.2:*:*:*:*:*:*:*'}"
+bfc86f14e2484335,"{'cpe:2.3:a:mcafee:application_change_control:8.0.0:hotfix3:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:epolicy_orchestrator:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:application_and_change_control:8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:application_change_control:8.0.0:hotfix2:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:application_change_control:8.0.0:hotfix5:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:application_change_control:8.0.0:-:*:*:*:*:*:*'}"
+f6a0156714508a75,"{'cpe:2.3:o:netapp:element_os:8.0:*:*:*:*:*:*:*', 'cpe:2.3:o:netapp:element_os:8.0.1:*:*:*:*:*:*:*'}"
+a182266a61c97e00,"{'cpe:2.3:a:bea:weblogic_portal:8.1:sp2:*:*:*:*:*:*', 'cpe:2.3:a:bea:weblogic_portal:8.1:sp3:*:*:*:*:*:*', 'cpe:2.3:a:bea:weblogic_portal:8.1:sp5:*:*:*:*:*:*', 'cpe:2.3:a:bea:weblogic_portal:8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:bea:weblogic_portal:8.1:sp1:*:*:*:*:*:*', 'cpe:2.3:a:bea:weblogic_portal:8.1:sp4:*:*:*:*:*:*'}"
+b24a14935edd51ad,"{'cpe:2.3:h:nxp:j3d082_m60:-:*:*:*:*:*:*:*', 'cpe:2.3:h:nxp:j3d145_m59:-:*:*:*:*:*:*:*', 'cpe:2.3:h:nxp:j3d120_m60:-:*:*:*:*:*:*:*', 'cpe:2.3:h:nxp:j2d145_m59:-:*:*:*:*:*:*:*', 'cpe:2.3:h:nxp:j2d120_m60:-:*:*:*:*:*:*:*', 'cpe:2.3:h:nxp:j2d082_m60:-:*:*:*:*:*:*:*'}"
+ddbdaf31570c65e8,"{'cpe:2.3:a:landesk:landesk_management_suite:8.7:*:*:*:*:*:*:*', 'cpe:2.3:a:landesk:landesk_management_suite:8.8:*:*:*:*:*:*:*'}"
+3c0ad7156491cc68,"{'cpe:2.3:a:netiq:security_manager:6.5.3.149:*:*:*:*:*:*:*', 'cpe:2.3:a:netiq:security_manager_agent:6.5.3.149:*:*:*:*:*:*:*'}"
+000c322098e4b530,{'cpe:2.3:a:cisco:unified_communications_manager:11.0:*:*:*:*:*:*:*'}
+8ce134684a5ee3c4,{'cpe:2.3:a:citrix:xendesktop:4.0:*:*:*:*:*:*:*'}
diff --git a/notebooks/cc/cpe_eval.ipynb b/notebooks/cc/cpe_eval.ipynb
new file mode 100644
index 00000000..db256c6e
--- /dev/null
+++ b/notebooks/cc/cpe_eval.ipynb
@@ -0,0 +1,131 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Manual CPE matching evaluation\n",
+ "\n",
+ "This notebook assists the manual matching evaluation"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sec_certs.dataset import CCDataset\n",
+ "import pandas as pd\n",
+ "import json"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Prepare the input data for label studio"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "dset = CCDataset.from_web_latest()\n",
+ "df = dset.to_pandas()\n",
+ "\n",
+ "eval_digests = pd.read_csv(\"./../../data/cpe_eval/random.csv\").set_index(\"dgst\").index\n",
+ "eval_certs = df.loc[df.index.isin(eval_digests)]\n",
+ "\n",
+ "# It may be handy to display max number of assigned cpe matches here\n",
+ "eval_certs[\"n_cpes\"] = eval_certs.cpes.map(lambda x: len(x))\n",
+ "max_n_cpes = eval_certs.n_cpes.max()\n",
+ "\n",
+ "# Now you may want to adjust the key `cpe_n_max_matches` config in sec_certs/config/settings.yml\n",
+ "# This helps to avoid clutter in label studio interface\n",
+ "\n",
+ "dset.certs = {x.dgst: x for x in dset if x.dgst in eval_certs.index.tolist()}\n",
+ "dset.to_label_studio_json(\"./label_studio_input_data.json\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "`Now you import this data to label studio and label it`"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Load the data from label studio and show the results"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "with open(\"/Users/adam/Downloads/cpe_hundred.json\", \"r\") as handle:\n",
+ " data = json.load(handle)\n",
+ "\n",
+ "\n",
+ "results = []\n",
+ "for sample in data:\n",
+ " option_keys = [key for key in sample.keys() if \"option_\" in key]\n",
+ " n_cpe_matches = len([sample[key] for key in option_keys if sample[key] != \"No good match\"])\n",
+ "\n",
+ " if not \"verified_cpe_match\" in sample.keys():\n",
+ " n_wrong = 0\n",
+ " elif isinstance(sample[\"verified_cpe_match\"], str):\n",
+ " n_wrong = 1\n",
+ " else:\n",
+ " n_wrong = len(sample[\"verified_cpe_match\"])\n",
+ "\n",
+ " results.append([n_cpe_matches, n_wrong])\n",
+ "\n",
+ " #if isinstance(sample[\"verified_cpe_match\"], str)\n",
+ "\n",
+ "correct = [x[0] for x in results]\n",
+ "wrong = [x[1] for x in results]\n",
+ "n_candidates = [x[0] + x[1] for x in results]\n",
+ "completely_right = [x == 0 for x in wrong]\n",
+ "\n",
+ "print(f\"Evaluated {sum(n_candidates)} CPE matches in {len(results)} certificates\")\n",
+ "print(f\"In total, {sum(correct)} ({(100 * sum(correct) / sum(n_candidates)):.2f}%) are correct (precision of the positive class).\")\n",
+ "print(f\"Also, {sum(completely_right)} ({(100 * sum(completely_right) / len(n_candidates)):.2f}%) certificates have perfect matches.\")"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3.8.13 ('venv': venv)",
+ "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.8.13"
+ },
+ "orig_nbformat": 4,
+ "vscode": {
+ "interpreter": {
+ "hash": "a5b8c5b127d2cfe5bc3a1c933e197485eb9eba25154c3661362401503b4ef9d4"
+ }
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/notebooks/cc/temporal_trends.ipynb b/notebooks/cc/temporal_trends.ipynb
index 1be4bac2..e7feacbd 100644
--- a/notebooks/cc/temporal_trends.ipynb
+++ b/notebooks/cc/temporal_trends.ipynb
@@ -59,7 +59,7 @@
"long_categories = {'Access Control Devices and Systems': 'Access control',\n",
" 'Biometric Systems and Devices': 'Biometrics',\n",
" 'Boundary Protection Devices and Systems': 'Boundary protection',\n",
- " 'ICs, Smart Cards and Smart Card-Related Devices and Systems': 'ICs, Smartcards',\n",
+ " 'ICs, Smart Cards and Smart Card-Related Devices and Systems': 'ICs and Smartcards',\n",
" 'Network and Network-Related Devices and Systems': 'Network(-related) devices',\n",
"}\n",
"\n",
@@ -269,7 +269,7 @@
" g.fig.suptitle('Average EAL between categories')\n",
" plt.show()\n",
"\n",
- "avg_levels[\"smartcard_category\"] = avg_levels.category.map(lambda x: x if x == \"ICs, Smartcards\" else \"Other 14 categories\")\n",
+ "avg_levels[\"smartcard_category\"] = avg_levels.category.map(lambda x: x if x == \"ICs and Smartcards\" else \"Other 14 categories\")\n",
"line = sns.lineplot(data=avg_levels, x=\"year_from\", y=\"eal_number\", hue=\"smartcard_category\", ci=None, style=\"smartcard_category\", markers=True)\n",
"line.legend(title=\"Category\", bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)\n",
"line.set(xlabel=\"Year of certification\", ylabel=\"Average security level EAL1-EAL7+\", title=\"Average EAL over time\")\n",
diff --git a/notebooks/cc/vulnerabilities.ipynb b/notebooks/cc/vulnerabilities.ipynb
index 5d9ab1ef..6ea04cf0 100644
--- a/notebooks/cc/vulnerabilities.ipynb
+++ b/notebooks/cc/vulnerabilities.ipynb
@@ -902,7 +902,7 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 36,
"metadata": {},
"outputs": [
{
@@ -921,19 +921,6 @@
"max 3752 days 00:00:00\n",
"Name: time_to_fix_cve, dtype: object\n"
]
- },
- {
- "ename": "FileNotFoundError",
- "evalue": "[Errno 2] No such file or directory: 'results/certs/maintenances/reports/pdf/cert_0159438014a94e93_update_e5388bce562ec8db.pdf'",
- "output_type": "error",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
- "\u001b[1;32m/Users/adam/phd/projects/certificates/sec-certs/notebooks/cc/vulnerabilities.ipynb Cell 21\u001b[0m in \u001b[0;36m<cell line: 10>\u001b[0;34m()\u001b[0m\n\u001b[1;32m <a href='vscode-notebook-cell:/Users/adam/phd/projects/certificates/sec-certs/notebooks/cc/vulnerabilities.ipynb#X26sZmlsZQ%3D%3D?line=7'>8</a>\u001b[0m updates_that_should_fix_vulns_path \u001b[39m=\u001b[39m RESULTS_DIR \u001b[39m/\u001b[39m \u001b[39m\"\u001b[39m\u001b[39mupdates_that_should_fix_vulns\u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m <a href='vscode-notebook-cell:/Users/adam/phd/projects/certificates/sec-certs/notebooks/cc/vulnerabilities.ipynb#X26sZmlsZQ%3D%3D?line=8'>9</a>\u001b[0m updates_that_should_fix_vulns_path\u001b[39m.\u001b[39mmkdir(exist_ok\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m)\n\u001b[0;32m---> <a href='vscode-notebook-cell:/Users/adam/phd/projects/certificates/sec-certs/notebooks/cc/vulnerabilities.ipynb#X26sZmlsZQ%3D%3D?line=9'>10</a>\u001b[0m mu_filenames \u001b[39m=\u001b[39m move_fixing_mu_to_directory(df_fixed, main_dset\u001b[39m.\u001b[39;49mto_pandas(), updates_that_should_fix_vulns_path, RESULTS_DIR \u001b[39m/\u001b[39;49m \u001b[39m\"\u001b[39;49m\u001b[39mcerts/maintenances/reports/pdf\u001b[39;49m\u001b[39m\"\u001b[39;49m)\n",
- "File \u001b[0;32m~/phd/projects/certificates/sec-certs/sec_certs/utils/pandas.py:439\u001b[0m, in \u001b[0;36mmove_fixing_mu_to_directory\u001b[0;34m(df_fixed, main_df, outdir, inpath)\u001b[0m\n\u001b[1;32m 436\u001b[0m inpath\u001b[39m.\u001b[39mmkdir()\n\u001b[1;32m 438\u001b[0m \u001b[39mfor\u001b[39;00m i \u001b[39min\u001b[39;00m mu_filenames:\n\u001b[0;32m--> 439\u001b[0m copyfile(inpath \u001b[39m/\u001b[39;49m i, Path(outdir) \u001b[39m/\u001b[39;49m i)\n\u001b[1;32m 441\u001b[0m \u001b[39mreturn\u001b[39;00m mu_filenames\n",
- "File \u001b[0;32m~/.pyenv/versions/3.8.13/lib/python3.8/shutil.py:264\u001b[0m, in \u001b[0;36mcopyfile\u001b[0;34m(src, dst, follow_symlinks)\u001b[0m\n\u001b[1;32m 262\u001b[0m os\u001b[39m.\u001b[39msymlink(os\u001b[39m.\u001b[39mreadlink(src), dst)\n\u001b[1;32m 263\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[0;32m--> 264\u001b[0m \u001b[39mwith\u001b[39;00m \u001b[39mopen\u001b[39;49m(src, \u001b[39m'\u001b[39;49m\u001b[39mrb\u001b[39;49m\u001b[39m'\u001b[39;49m) \u001b[39mas\u001b[39;00m fsrc, \u001b[39mopen\u001b[39m(dst, \u001b[39m'\u001b[39m\u001b[39mwb\u001b[39m\u001b[39m'\u001b[39m) \u001b[39mas\u001b[39;00m fdst:\n\u001b[1;32m 265\u001b[0m \u001b[39m# macOS\u001b[39;00m\n\u001b[1;32m 266\u001b[0m \u001b[39mif\u001b[39;00m _HAS_FCOPYFILE:\n\u001b[1;32m 267\u001b[0m \u001b[39mtry\u001b[39;00m:\n",
- "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'results/certs/maintenances/reports/pdf/cert_0159438014a94e93_update_e5388bce562ec8db.pdf'"
- ]
}
],
"source": [
@@ -946,7 +933,7 @@
"print(df_fixed.loc[~df_fixed.time_to_fix_cve.isnull()]['time_to_fix_cve'].describe())\n",
"updates_that_should_fix_vulns_path = RESULTS_DIR / \"updates_that_should_fix_vulns\"\n",
"updates_that_should_fix_vulns_path.mkdir(exist_ok=True)\n",
- "mu_filenames = move_fixing_mu_to_directory(df_fixed, main_dset.to_pandas(), updates_that_should_fix_vulns_path, RESULTS_DIR / \"certs/maintenances/reports/pdf\")"
+ "mu_filenames = move_fixing_mu_to_directory(df_fixed, main_dset.to_pandas(), updates_that_should_fix_vulns_path, \"/Users/adam/phd/projects/certificates/sec-certs/datasets/new_cc/certs/maintenances/reports/pdf/\")"
]
},
{
diff --git a/notebooks/latex_plotting.ipynb b/notebooks/latex_plotting.ipynb
index c619ec68..25a3823a 100644
--- a/notebooks/latex_plotting.ipynb
+++ b/notebooks/latex_plotting.ipynb
@@ -407,7 +407,7 @@
"source": [
"n_certs = pd.read_csv(RESULTS_DIR / \"popular_categories.csv\").astype({\"year_from\": \"category\"})\n",
"dct = {\n",
- " \"ICs, Smart Cards and Smart Card-Related Devices and Systems\": \"ICs, Smart Cards\",\n",
+ " \"ICs, Smart Cards and Smart Card-Related Devices and Systems\": \"ICs and Smart Cards\",\n",
" \"Network and Network-Related Devices and Systems\": \"Network-Related Devices\",\n",
" \"Other Devices and Systems\": \"Other Devices\",\n",
" \"One of 11 other categories\": \"11 Other Categories\",\n",
diff --git a/sec_certs/config/settings.yaml b/sec_certs/config/settings.yaml
index 6a7f9d6b..8a4cc33d 100644
--- a/sec_certs/config/settings.yaml
+++ b/sec_certs/config/settings.yaml
@@ -17,10 +17,10 @@ n_threads:
value: 8
cpe_matching_threshold:
description: Level of required string similarity between CPE and certificate name on CC CPE matching, 0-100. Lower values yield more false negatives, higher values more false positives
- value: 90
+ value: 100
cpe_n_max_matches:
description: Maximum number of candidate CPE items that may be related to given certificate, >0
- value: 100
+ value: 99
cc_latest_snapshot:
description: Url from where to fetch the latest snapshot of fully processed CC dataset
value: https://seccerts.org/cc/dataset.json
diff --git a/sec_certs/dataset/dataset.py b/sec_certs/dataset/dataset.py
index 38b434ba..f20ce5e7 100644
--- a/sec_certs/dataset/dataset.py
+++ b/sec_certs/dataset/dataset.py
@@ -244,12 +244,14 @@ class Dataset(Generic[CertSubType], ABC):
return clf, cpe_dset, cve_dset
def to_label_studio_json(self, output_path: Union[str, Path]) -> None:
+ cpe_dset = self._prepare_cpe_dataset()
+
lst = []
for cert in [x for x in cast(Iterator[Certificate], self) if x.heuristics.cpe_matches]:
dct = {"text": cert.label_studio_title}
- candidates = [x[1].title for x in cert.heuristics.cpe_matches]
- candidates += ["No good match"] * (config.cc_cpe_max_matches - len(candidates))
- options = ["option_" + str(x) for x in range(1, 21)]
+ candidates = [cpe_dset[x].title for x in cert.heuristics.cpe_matches]
+ candidates += ["No good match"] * (config.cpe_n_max_matches - len(candidates))
+ options = ["option_" + str(x) for x in range(1, config.cpe_n_max_matches)]
dct.update({o: c for o, c in zip(options, candidates)})
lst.append(dct)