|
5 | 5 | import requests
|
6 | 6 |
|
7 | 7 | from dotenv import load_dotenv
|
| 8 | +from termcolor import colored |
8 | 9 |
|
9 | 10 | from scripts.constants import EPSS_URL
|
10 | 11 | from scripts.constants import NIST_BASE_URL
|
@@ -99,13 +100,29 @@ def nist_check(cve_id):
|
99 | 100 | return None
|
100 | 101 |
|
101 | 102 |
|
| 103 | +def colored_print(priority): |
| 104 | + if priority == 'Priority 1+': |
| 105 | + return colored(priority, 'red') |
| 106 | + elif priority == 'Priority 1': |
| 107 | + return colored(priority, 'light_red') |
| 108 | + elif priority == 'Priority 2': |
| 109 | + return colored(priority, 'light_yellow') |
| 110 | + elif priority == 'Priority 3': |
| 111 | + return colored(priority, 'yellow') |
| 112 | + elif priority == 'Priority 4': |
| 113 | + return colored(priority, 'green') |
| 114 | + |
| 115 | + |
102 | 116 | # Function manages the outputs
|
103 | 117 | def print_and_write(working_file, cve_id, priority, epss, cvss_base_score, cvss_version, cvss_severity, cisa_kev, verbose):
|
104 | 118 |
|
| 119 | + color_priority = colored_print(priority) |
| 120 | + stripped_len = len(priority) |
| 121 | + |
105 | 122 | if verbose:
|
106 |
| - print(f"{cve_id:<18}{priority:<13}{epss:<9}{cvss_base_score:<6}{cvss_version:<10}{cvss_severity:<10}{cisa_kev}") |
| 123 | + print(f"{cve_id:<18}{color_priority:<22}{epss:<9}{cvss_base_score:<6}{cvss_version:<10}{cvss_severity:<10}{cisa_kev}") |
107 | 124 | else:
|
108 |
| - print(f"{cve_id:<18}{priority:<13}") |
| 125 | + print(f"{cve_id:<18}{color_priority:<22}") |
109 | 126 | if working_file:
|
110 | 127 | working_file.write(f"{cve_id},{priority},{epss},{cvss_base_score},{cvss_version},{cvss_severity},{cisa_kev}\n")
|
111 | 128 |
|
|
0 commit comments