check-msdefender 1.2.2__py3-none-any.whl → 1.2.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
  """Check Microsoft Defender API endpoints and check values - Nagios plugin."""
2
- __version__ = "1.2.2"
2
+ __version__ = "1.2.4"
3
3
  __author__ = "ldvchosal"
4
4
  __email__ = "ldvchosa@github.com"
@@ -225,14 +225,14 @@ class DefenderClient:
225
225
 
226
226
  token = self._get_token()
227
227
 
228
- # Use the TVM API endpoint for vulnerabilities by machine
229
- url = f"{self.base_url}/api/vulnerabilities/machinesVulnerabilities"
228
+ # Use the TVM API endpoint for products
229
+ url = f"{self.base_url}/api/machines/SoftwareVulnerabilitiesByMachine"
230
230
  headers = {
231
231
  "Authorization": f"Bearer {token}",
232
232
  "Content-Type": DefenderClient.application_json,
233
233
  }
234
234
 
235
- params = {"$top": "10000"}
235
+ params = {"pageIndex": "1", "pageSize": "50000"}
236
236
 
237
237
  try:
238
238
  start_time = time.time()
@@ -54,7 +54,7 @@ class ProductsService:
54
54
  products_data = self.defender.get_products()
55
55
  all_products = products_data.get("value", [])
56
56
  products = [
57
- product for product in all_products if product.get("machineId") == target_machine_id
57
+ product for product in all_products if product.get("deviceId") == target_machine_id
58
58
  ]
59
59
 
60
60
  self.logger.info(f"Found {len(products)} vulnerabilities for machine {target_dns_name}")
@@ -62,14 +62,14 @@ class ProductsService:
62
62
  # Group vulnerabilities by software
63
63
  software_vulnerabilities = {}
64
64
  for vulnerability in products:
65
- software_name = vulnerability.get("productName", "Unknown")
66
- software_version = vulnerability.get("productVersion", "Unknown")
67
- software_vendor = vulnerability.get("productVendor", "Unknown")
65
+ software_name = vulnerability.get("softwareName", "Unknown")
66
+ software_version = vulnerability.get("softwareVersion", "Unknown")
67
+ software_vendor = vulnerability.get("softwareVendor", "Unknown")
68
68
  cve_id = vulnerability.get("cveId", "Unknown")
69
69
  cvss_score = vulnerability.get("cvssScore", 0)
70
70
  disk_paths = vulnerability.get("diskPaths", [])
71
71
  registry_paths = vulnerability.get("registryPaths", [])
72
- severity = vulnerability.get("severity", "Unknown")
72
+ severity = vulnerability.get("vulnerabilitySeverityLevel", "Unknown")
73
73
 
74
74
  software_key = f"{software_name}-{software_version}-{software_vendor}"
75
75
 
@@ -101,7 +101,7 @@ class ProductsService:
101
101
  low_count = 0
102
102
 
103
103
  for vulnerability in products:
104
- severityLevel = vulnerability.get("severity", "Unknown")
104
+ severityLevel = vulnerability.get("vulnerabilitySeverityLevel", "Unknown")
105
105
  severity = (severityLevel or "Unknown").lower()
106
106
  if severity == "critical":
107
107
  critical_count += 1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: check-msdefender
3
- Version: 1.2.2
3
+ Version: 1.2.4
4
4
  Summary: A Nagios plugin for monitoring Microsoft Defender API endpoints
5
5
  Keywords: nagios,monitoring,microsoft,graph,api,azure
6
6
  Author-Email: ldvchosal <ldvchosal@github.com>
@@ -1,8 +1,8 @@
1
- check_msdefender-1.2.2.dist-info/METADATA,sha256=qVtNZOoYStObDK5eRmj3QtVDfFgIGQi6JISo48LiIxQ,14852
2
- check_msdefender-1.2.2.dist-info/WHEEL,sha256=tsUv_t7BDeJeRHaSrczbGeuK-TtDpGsWi_JfpzD255I,90
3
- check_msdefender-1.2.2.dist-info/entry_points.txt,sha256=w-FGU_ePJmPBpKVtoldnxOlUWnUNw9-UsY1mCSxzmqA,144
4
- check_msdefender-1.2.2.dist-info/licenses/LICENSE,sha256=kW3DwIsKc9HVYdS4f4tI6sLo-EPqBQbz-WmuvHU4Nak,1065
5
- check_msdefender/__init__.py,sha256=3mnH6MTpQQVOIsy5oeYjW4oR-bKTmX0fJqS4IoiuDOM,160
1
+ check_msdefender-1.2.4.dist-info/METADATA,sha256=F-hWhj7UJn8oD9ZOw2__CoXEK9N4OR9fI56E712zIvE,14852
2
+ check_msdefender-1.2.4.dist-info/WHEEL,sha256=Wb0ASbVj8JvWHpOiIpPi7ucfIgJeCi__PzivviEAQFc,90
3
+ check_msdefender-1.2.4.dist-info/entry_points.txt,sha256=w-FGU_ePJmPBpKVtoldnxOlUWnUNw9-UsY1mCSxzmqA,144
4
+ check_msdefender-1.2.4.dist-info/licenses/LICENSE,sha256=kW3DwIsKc9HVYdS4f4tI6sLo-EPqBQbz-WmuvHU4Nak,1065
5
+ check_msdefender/__init__.py,sha256=S4QxmzBCt2wYRSLX9pbC_YqzsC_aueVRGETlz37Tnkc,160
6
6
  check_msdefender/__main__.py,sha256=TuNsRSdnkQm9OdBTAwD5aB2zV_Irc50WgylVWhrfnLY,124
7
7
  check_msdefender/check_msdefender.py,sha256=OO4Tg2DBW28AT-2LOH-qJM2pE5TPcF615BF7HjyZsmA,137
8
8
  check_msdefender/cli/__init__.py,sha256=NWaS5ZI9_252AcReugF_WGPMOvQ_B7sC_s3pSrGujcI,291
@@ -20,7 +20,7 @@ check_msdefender/cli/handlers.py,sha256=hp_CX_3qPoQGrPPVeiojb2j7tuFMva4ebWg9CxVU
20
20
  check_msdefender/core/__init__.py,sha256=naBiEkixiWTuHU3GENk8fqC8H3p_hkzRsmSY2uiM_TQ,47
21
21
  check_msdefender/core/auth.py,sha256=7mkGmhGHy4t38O0e4Rz7dQ52xfMbK3IUXMlw3u83aB4,1585
22
22
  check_msdefender/core/config.py,sha256=IoWBL_DB110F4i6hFfli6iFDBXx57dHh32lCuLkcgNk,1170
23
- check_msdefender/core/defender.py,sha256=OyVrI2nEng95eSdDke8aCdL3wODZpRpJfroEQONBCT0,10383
23
+ check_msdefender/core/defender.py,sha256=JChnsyKD2grSMlxSDHEbTd4Al8pW-_8TAN8-1JsINR4,10389
24
24
  check_msdefender/core/exceptions.py,sha256=X4s_XM64SEVSs-4mGKqnF8xXwGFY3E0buvkgRNuCCX4,600
25
25
  check_msdefender/core/logging_config.py,sha256=Rd1F-IDXTx7yckrI8kyx2Ht20f5OcArPCAXb44BOmbg,4084
26
26
  check_msdefender/core/nagios.py,sha256=FmwWZbJHdLDR8Ah0ejt5wj7jNWC6YHbeE5YMyKLSCQA,6303
@@ -32,6 +32,6 @@ check_msdefender/services/lastseen_service.py,sha256=LiNVeUbAoMzowMvE90P7zCtKFHB
32
32
  check_msdefender/services/machines_service.py,sha256=xnvka5h_WQxpYHSZQkrJLEYcw7I-zvan0xUrUXeOyIo,3302
33
33
  check_msdefender/services/models.py,sha256=CDmQ5vU0-GawIalqXjXNk3rry6gsyjv6eSlW2NiXwQ0,979
34
34
  check_msdefender/services/onboarding_service.py,sha256=RIOsvALCoKV0YqnCHKYRkelSPrO-F-6vNBLlto4MpiI,2686
35
- check_msdefender/services/products_service.py,sha256=9ezHS6yc3gvYHQBQEif947q_EnOlPx3_QCPY1urMILc,9153
35
+ check_msdefender/services/products_service.py,sha256=V8aEaY6cfTfOTMZq8dEIvgxYKxecj7p2hu6YsdG79Ro,9191
36
36
  check_msdefender/services/vulnerabilities_service.py,sha256=LuRRQlFt-K82tGUhLCx_QCOp4CbBgSp7fktmeSSoa9o,6838
37
- check_msdefender-1.2.2.dist-info/RECORD,,
37
+ check_msdefender-1.2.4.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: pdm-backend (2.4.6)
2
+ Generator: pdm-backend (2.4.7)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any