@@ -78,20 +78,16 @@ def add_exploit(self):
7878
7979
8080def add_vulnerability_exploit (row , logger ):
81- vulnerabilities = set ()
82-
8381 aliases = row ["codes" ].split (";" ) if row ["codes" ] else []
8482
8583 if not aliases :
8684 return 0
8785
88- for raw_alias in aliases :
89- try :
90- if alias := Alias .objects .get (alias = raw_alias ):
91- if alias .vulnerability :
92- vulnerabilities .add (alias .vulnerability )
93- except Alias .DoesNotExist :
94- continue
86+ vulnerabilities = (
87+ Alias .objects .filter (alias__in = aliases , vulnerability__isnull = False )
88+ .values_list ("vulnerability_id" , flat = True )
89+ .distinct ()
90+ )
9591
9692 if not vulnerabilities :
9793 logger (f"No vulnerability found for aliases { aliases } " )
@@ -105,7 +101,7 @@ def add_vulnerability_exploit(row, logger):
105101 add_exploit_references (row ["codes" ], row ["source_url" ], row ["file" ], vulnerability , logger )
106102 try :
107103 Exploit .objects .update_or_create (
108- vulnerability = vulnerability ,
104+ vulnerability_id = vulnerability ,
109105 data_source = "Exploit-DB" ,
110106 defaults = {
111107 "date_added" : date_added ,
@@ -126,7 +122,7 @@ def add_vulnerability_exploit(row, logger):
126122 return 1
127123
128124
129- def add_exploit_references (ref_id , direct_url , path , vul , logger ):
125+ def add_exploit_references (ref_id , direct_url , path , vul_id , logger ):
130126 url_map = {
131127 "file_url" : f"https://gitlab.com/exploit-database/exploitdb/-/blob/main/{ path } " ,
132128 "direct_url" : direct_url ,
@@ -145,7 +141,7 @@ def add_exploit_references(ref_id, direct_url, path, vul, logger):
145141
146142 if created :
147143 VulnerabilityRelatedReference .objects .get_or_create (
148- vulnerability = vul ,
144+ vulnerability_id = vul_id ,
149145 reference = ref ,
150146 )
151147
0 commit comments