Skip to content

Commit 9e33bce

Browse files
🐛 Fix Defender broken Endpoint #11217 (#11212)
* 🐛 fix MSDefender computerDNSName to match modelregex * 🐛 fix DefendercomputerDNSName is mostly a userinfo * ruff * fix according to review * add unittest
1 parent 23e993b commit 9e33bce

3 files changed

Lines changed: 13 additions & 1 deletion

File tree

dojo/tools/ms_defender/parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ def process_zip(self, vulnerability, machine):
131131
self.findings.append(finding)
132132
finding.unsaved_endpoints = []
133133
if machine["computerDnsName"] is not None:
134-
finding.unsaved_endpoints.append(Endpoint(host=str(machine["computerDnsName"])))
134+
finding.unsaved_endpoints.append(Endpoint(host=str(machine["computerDnsName"]).replace(" ", "").replace("(", "_").replace(")", "_")))
135135
if machine["lastIpAddress"] is not None:
136136
finding.unsaved_endpoints.append(Endpoint(host=str(machine["lastIpAddress"])))
137137
if machine["lastExternalIpAddress"] is not None:
1.53 KB
Binary file not shown.

unittests/tools/test_ms_defender_parser.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,15 @@ def test_parser_defender_multiple_files_zip(self):
6868
for endpoint in finding.unsaved_endpoints:
6969
endpoint.clean()
7070
self.assertEqual("1.1.1.1", finding.unsaved_endpoints[0].host)
71+
72+
def test_parser_defender_issue_11217(self):
73+
testfile = open("unittests/scans/ms_defender/issue_11217.zip", encoding="utf-8")
74+
parser = MSDefenderParser()
75+
findings = parser.get_findings(testfile, Test())
76+
testfile.close()
77+
self.assertEqual(1, len(findings))
78+
finding = findings[0]
79+
self.assertEqual("Medium", finding.severity)
80+
for endpoint in finding.unsaved_endpoints:
81+
endpoint.clean()
82+
self.assertEqual("Max_Mustermann_iPadAir_17zoll__2ndgeneration_", finding.unsaved_endpoints[0].host)

0 commit comments

Comments
 (0)