Spaces:
Runtime error
Runtime error
import joblib | |
def generate_cvss_string(output_decoded): | |
output_decoded = output_decoded[:-1] | |
pair_name2letter = {'AV': {'NETWORK': 'N', 'ADJACENT': 'A', 'LOCAL': 'L', 'PHYSICAL': 'P'}, | |
'AC': {'LOW': 'L', 'HIGH': 'H'}, | |
'PR': {'NONE': 'N', 'LOW': 'L', 'HIGH': 'H'}, | |
'UI': {'NONE': 'N', 'REQUIRED': 'R'}, | |
'S': {'UNCHANGED': 'U', 'CHANGED': 'C'}, | |
'C': {'NONE': 'N', 'LOW':'L', 'HIGH': 'H'}, | |
'I': {'NONE': 'N', 'LOW': 'L', 'HIGH':'H'}, | |
'A': {'NONE':'N', 'LOW':'L', 'HIGH':'H'}} | |
cvss_string = 'CVSS:3.1/' | |
pair_name = list(pair_name2letter.keys()) | |
for index, output in enumerate(output_decoded): | |
cvss_string += pair_name[index] + ':' + pair_name2letter[pair_name[index]][output] | |
if index != 7: | |
cvss_string += '/' | |
return cvss_string | |
def inferencer(vuln): | |
clf = joblib.load("model.pkl") | |
output = clf.predict([vuln]) | |
output = generate_cvss_string(output_decoded=output[0]) | |
return output | |
if __name__ == '__main__': | |
vuln = 'Ciertos servidores NFS permiten a los usuarios usar mknod para obtener privilegios creando un dispositivo de kmem escrito y configurando el UID a 0.' | |
print(inferencer(vuln)) |