Skip to content

Commit 58f456f

Browse files
🎉 Add 'fix_available' field to legitify (#13791)
1 parent 5699e8a commit 58f456f

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

dojo/tools/legitify/parser.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,21 @@ def get_findings(self, file, test):
5353
endpoints.add(Endpoint.from_uri(url))
5454

5555
if is_finding:
56+
remediation_steps = policy_info.get("remediationSteps", [])
57+
fix_available = False
58+
if remediation_steps:
59+
fix_available = True
5660
finding = Finding(
5761
description=policy_info.get("description", ""),
5862
dynamic_finding=False,
5963
impact="\n".join(policy_info.get("threat", [])),
60-
mitigation="\n".join(policy_info.get("remediationSteps", [])),
64+
mitigation="\n".join(remediation_steps),
6165
references="\n".join(references),
6266
severity=self.severity_mapper(policy_info.get("severity", "LOW")),
6367
static_finding=True,
6468
title=f'{policy_info.get("namespace", "").capitalize()} | {policy_info.get("title", "")}',
6569
vuln_id_from_tool=policy_info.get("policyName", None),
70+
fix_available=fix_available,
6671
)
6772
finding.unsaved_endpoints = list(endpoints)
6873
findings.append(finding)

unittests/tools/test_legitify_parser.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def test_parse_file_with_many_findings(self):
1616
self.assertEqual("Repository | Default Branch Should Require Code Review", finding.title)
1717
self.assertFalse(finding.dynamic_finding)
1818
self.assertTrue(finding.static_finding)
19+
self.assertTrue(finding.fix_available)
1920
for finding in findings:
2021
for endpoint in finding.unsaved_endpoints:
2122
endpoint.clean()
@@ -32,6 +33,7 @@ def test_parse_file_with_one_finding(self):
3233
self.assertEqual("Repository | Default Branch Should Require Code Review", finding.title)
3334
self.assertFalse(finding.dynamic_finding)
3435
self.assertTrue(finding.static_finding)
36+
self.assertTrue(finding.fix_available)
3537
for finding in findings:
3638
for endpoint in finding.unsaved_endpoints:
3739
endpoint.clean()

0 commit comments

Comments
 (0)