@@ -63,6 +63,7 @@ def search(self, keywords: List[str], max_results) -> List[Vulnerability]:
6363 break
6464
6565 self .session .close ()
66+
6667 return vulnerabilities
6768
6869 def process_advisory_element (self , element ):
@@ -72,15 +73,16 @@ def process_advisory_element(self, element):
7273 return None
7374 title = title_tag .text .strip ()
7475 advisory_href = title_tag ['href' ]
76+
7577 advisory_url = f"https://github.com{ advisory_href } "
7678 advisory_id = advisory_href .strip ('/' ).split ('/' )[- 1 ]
7779
7880 severity_span = element .find ('span' , class_ = 'Label' )
7981 base_severity = severity_span .text .strip () if severity_span else DEFAULT_VALUES ['base_severity' ]
80-
82+
8183 cve_span = element .find ('span' , class_ = 'text-bold' )
8284 cve_id = cve_span .text .strip () if cve_span else None
83-
85+
8486 mt1_div = element .find ('div' , class_ = 'mt-1' )
8587 package_name = None
8688 if mt1_div :
@@ -138,21 +140,14 @@ def process_advisory_element(self, element):
138140 vulnerability_id = cve_id if cve_id and cve_id != DEFAULT_VALUES ['id' ] else advisory_id
139141
140142 cvss_score = DEFAULT_VALUES ['base_score' ]
141- cvss_metrics = {}
143+
142144 severity_section = advisory_soup .find ('h3' , text = 'Severity' )
143145 if severity_section :
144146 severity_container = severity_section .find_next ('div' )
145147 if severity_container :
146148 score_span = severity_container .find ('span' , class_ = 'Button-label' )
147149 if score_span :
148150 cvss_score = score_span .text .strip ()
149- metrics_div = severity_container .find ('div' , class_ = 'd-flex flex-column mt-2 p-2 border rounded-2' )
150- if metrics_div :
151- metric_items = metrics_div .find_all ('div' , class_ = 'd-flex p-1 flex-justify-between' )
152- for item in metric_items :
153- metric_name = item .contents [0 ].strip ()
154- metric_value = item .find ('div' ).text .strip ()
155- cvss_metrics [metric_name ] = metric_value
156151
157152 weaknesses = []
158153 weaknesses_section = advisory_soup .find ('h3' , text = 'Weaknesses' )
@@ -177,9 +172,9 @@ def process_advisory_element(self, element):
177172 base_severity = base_severity ,
178173 description = description ,
179174 vulnerable_components = vulnerable_components ,
180- cvss_metrics = cvss_metrics ,
181175 weaknesses = weaknesses ,
182176 )
177+
183178 return vulnerability
184179
185180 except Exception as e :
0 commit comments