in dusty/scanners/sast/dependencycheck/legacy.py [0:0]
def steps_to_reproduce(self, item):
steps = []
max_priority = 0
for each in item.value['vulnerabilities']:
_max = max([each.get("cvssv2", {"score": 0})["score"], each.get("cvssv3", {'baseScore': 0})['baseScore']])
if max_priority < _max:
max_priority = _max
step = f"<pre>{each['name']} \n\n Description: {html.escape(each['description'])}\n\n"
if 'cvssv2' in each:
cvss2_vector = self._calculate_vector(each['cvssv2'])
step += f"cvssv2: " \
f"{cwe_to_severity(each['cvssv2']['score'])}(f{each['cvssv2']['score']})\n" \
f"Attack Vector: {cvss2_vector}"
if 'cvssv3' in each:
cvss3_vector = self._calculate_vector(each['cvssv3'])
step += f"\ncvssv3: " \
f"{cwe_to_severity(each['cvssv2']['score'])}(f{each['cvssv2']['score']})\n" \
f"Attack Vector: {cvss3_vector}"
if 'references' in each:
step += '\n\nReferences:\n'
for ref in each['references']:
step += f"Name: {ref.get('name', '')}\n " \
f"Link: {ref.get('url', '')}\n " \
f"Source: {ref.get('source', '')}\n\n"
steps.append(f"{step}</pre>")
return max_priority, steps