1- from dojo . models import Finding
1+ from django . conf import settings
22
3+ from dojo .models import Endpoint , Finding
4+ from dojo .tools .locations import LocationData
35
46class WazuhV4_8 :
57 def parse_findings (self , test , data ):
@@ -17,10 +19,8 @@ def parse_findings(self, test, data):
1719 continue # Skip if this finding has already been processed
1820
1921 description = vuln .get ("description" )
20- description += "\n Agent id:" + item .get ("agent" ).get ("id" )
21- description += "\n Agent name:" + item .get ("agent" ).get ("name" )
2222 severity = vuln .get ("severity" )
23- cvssv3_score = vuln .get ("score" ).get ("base" )
23+ cvssv3_score = vuln .get ("score" ).get ("base" ) if vuln . get ( "score" ) else None
2424 publish_date = vuln .get ("published_at" ).split ("T" )[0 ]
2525 detection_time = vuln .get ("detected_at" ).split ("T" )[0 ]
2626 references = vuln .get ("reference" )
@@ -56,7 +56,17 @@ def parse_findings(self, test, data):
5656 unique_id_from_tool = dupe_key ,
5757 date = detection_time ,
5858 )
59+
60+ # Create endpoint from agent name
61+ agent_name = item .get ("agent" ).get ("name" , None )
62+
63+ if settings .V3_FEATURE_LOCATIONS :
64+ find .unsaved_locations = [LocationData .url (host = agent_name )]
65+ else :
66+ find .unsaved_endpoints = [Endpoint (host = agent_name )]
67+
5968 find .unsaved_vulnerability_ids = [cve ]
6069 dupes [dupe_key ] = find
6170
6271 return list (dupes .values ())
72+
0 commit comments