check-msdefender 1.1.0__py3-none-any.whl → 1.1.2__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,6 +1,5 @@
1
1
  """Main entry point for check_msdefender Nagios plugin."""
2
2
 
3
- import sys
4
3
  from check_msdefender.cli import main
5
4
 
6
5
  if __name__ == "__main__":
@@ -1,7 +1,6 @@
1
1
  """Alerts commands for CLI."""
2
2
 
3
3
  import sys
4
- import click
5
4
  from typing import Optional, Any
6
5
 
7
6
  from check_msdefender.core.auth import get_authenticator
@@ -16,7 +16,6 @@ def register_detail_commands(main_group: Any) -> None:
16
16
  """Register detail commands with the main CLI group."""
17
17
 
18
18
  @main_group.command("detail")
19
- @click.option("-i", "--id", "machine_id_alt", help="Machine ID (GUID)")
20
19
  @common_options
21
20
  def detail_cmd(
22
21
  config: str,
@@ -25,7 +24,6 @@ def register_detail_commands(main_group: Any) -> None:
25
24
  dns_name: Optional[str],
26
25
  warning: Optional[float],
27
26
  critical: Optional[float],
28
- machine_id_alt: Optional[str],
29
27
  ) -> None:
30
28
  """Get detailed machine information from Microsoft Defender."""
31
29
  try:
@@ -44,9 +42,6 @@ def register_detail_commands(main_group: Any) -> None:
44
42
  # Create custom Nagios plugin for detail output
45
43
  plugin = NagiosPlugin(service, "detail")
46
44
 
47
- # Use -i option if provided, otherwise fallback to -m
48
- final_machine_id = machine_id_alt or machine_id
49
-
50
45
  # Set default thresholds for detail command to show proper performance data
51
46
  # Based on expected test output patterns
52
47
  if warning is not None and critical is None:
@@ -58,7 +53,7 @@ def register_detail_commands(main_group: Any) -> None:
58
53
 
59
54
  # Execute check
60
55
  result = plugin.check(
61
- machine_id=final_machine_id,
56
+ machine_id=machine_id,
62
57
  dns_name=dns_name,
63
58
  warning=warning,
64
59
  critical=critical,
@@ -1,7 +1,6 @@
1
1
  """Last seen commands for CLI."""
2
2
 
3
3
  import sys
4
- import click
5
4
  from typing import Optional, Any
6
5
 
7
6
  from check_msdefender.core.auth import get_authenticator
@@ -1,7 +1,6 @@
1
1
  """List machines commands for CLI."""
2
2
 
3
3
  import sys
4
- import click
5
4
  from typing import Optional, Any
6
5
 
7
6
  from check_msdefender.core.auth import get_authenticator
@@ -1,7 +1,6 @@
1
1
  """Onboarding status commands for CLI."""
2
2
 
3
3
  import sys
4
- import click
5
4
  from typing import Optional, Any
6
5
 
7
6
  from check_msdefender.core.auth import get_authenticator
@@ -1,7 +1,6 @@
1
1
  """Vulnerability commands for CLI."""
2
2
 
3
3
  import sys
4
- import click
5
4
  from typing import Optional, Any
6
5
 
7
6
  from check_msdefender.core.auth import get_authenticator
@@ -10,7 +10,7 @@ def common_options(func: Callable[..., Any]) -> Callable[..., Any]:
10
10
  "-c", "--config", default="check_msdefender.ini", help="Configuration file path"
11
11
  )(func)
12
12
  func = click.option("-v", "--verbose", count=True, help="Increase verbosity")(func)
13
- func = click.option("-m", "--machine-id", help="Machine ID (GUID)")(func)
13
+ func = click.option("-m", "--machine-id", "-i", "--id", help="Machine ID (GUID)")(func)
14
14
  func = click.option("-d", "--dns-name", help="Computer DNS Name (FQDN)")(func)
15
15
  func = click.option("-W", "--warning", type=float, help="Warning threshold")(func)
16
16
  func = click.option("-C", "--critical", type=float, help="Critical threshold")(func)
@@ -1,7 +1,6 @@
1
1
  """Error handlers and formatters for click CLI."""
2
2
 
3
3
  import click
4
- from typing import Any
5
4
 
6
5
 
7
6
  class ClickErrorHandler:
@@ -1,7 +1,7 @@
1
1
  """Alerts service implementation."""
2
2
 
3
- from datetime import datetime
4
- from typing import Dict, Optional, Any, List
3
+ from typing import Dict, Optional, Any
4
+
5
5
  from check_msdefender.core.exceptions import ValidationError
6
6
  from check_msdefender.core.logging_config import get_verbose_logger
7
7
 
@@ -1,7 +1,7 @@
1
1
  """Machines service implementation."""
2
2
 
3
3
  from typing import Dict, List, Any
4
- from check_msdefender.core.exceptions import ValidationError
4
+
5
5
  from check_msdefender.core.logging_config import get_verbose_logger
6
6
 
7
7
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  from dataclasses import dataclass
4
4
  from datetime import datetime
5
- from typing import Optional, List
6
5
  from enum import Enum
6
+ from typing import Optional
7
7
 
8
8
 
9
9
  class OnboardingStatus(Enum):
@@ -1,14 +1,10 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.1
2
2
  Name: check-msdefender
3
- Version: 1.1.0
3
+ Version: 1.1.2
4
4
  Summary: A Nagios plugin for monitoring Microsoft Defender API endpoints
5
- Author-email: ldvchosal <ldvchosal@github.com>
6
- License: MIT
7
- Project-URL: Homepage, https://github.com/lduchosal/check_msdefender
8
- Project-URL: Bug Reports, https://github.com/lduchosal/check_msdefender/issues
9
- Project-URL: Source, https://github.com/lduchosal/check_msdefender
10
- Project-URL: Documentation, https://github.com/lduchosal/check_msdefender/blob/main/README.md
11
5
  Keywords: nagios,monitoring,microsoft,graph,api,azure
6
+ Author-Email: ldvchosal <ldvchosal@github.com>
7
+ License: MIT
12
8
  Classifier: Development Status :: 5 - Production/Stable
13
9
  Classifier: Intended Audience :: System Administrators
14
10
  Classifier: License :: OSI Approved :: MIT License
@@ -19,9 +15,11 @@ Classifier: Programming Language :: Python :: 3.10
19
15
  Classifier: Programming Language :: Python :: 3.11
20
16
  Classifier: Topic :: System :: Monitoring
21
17
  Classifier: Topic :: System :: Systems Administration
18
+ Project-URL: Homepage, https://github.com/lduchosal/check_msdefender
19
+ Project-URL: Bug Reports, https://github.com/lduchosal/check_msdefender/issues
20
+ Project-URL: Source, https://github.com/lduchosal/check_msdefender
21
+ Project-URL: Documentation, https://github.com/lduchosal/check_msdefender/blob/main/README.md
22
22
  Requires-Python: >=3.9
23
- Description-Content-Type: text/markdown
24
- License-File: LICENSE
25
23
  Requires-Dist: nagiosplugin>=1.4.0
26
24
  Requires-Dist: azure-identity>=1.12.0
27
25
  Requires-Dist: click<9.0,>=8.0
@@ -33,7 +31,8 @@ Requires-Dist: black>=21.0; extra == "dev"
33
31
  Requires-Dist: flake8>=3.8; extra == "dev"
34
32
  Requires-Dist: mypy>=0.800; extra == "dev"
35
33
  Requires-Dist: twine>=6.2.0; extra == "dev"
36
- Dynamic: license-file
34
+ Requires-Dist: pdm>=2.0.0; extra == "dev"
35
+ Description-Content-Type: text/markdown
37
36
 
38
37
  # 🛡️ Check MS Defender
39
38
 
@@ -46,7 +45,7 @@ A comprehensive **Nagios plugin** for monitoring Microsoft Defender for Endpoint
46
45
  ## ✨ Features
47
46
 
48
47
  - 🔐 **Dual Authentication** - Support for Client Secret and Certificate-based authentication
49
- - 🎯 **Multiple Endpoints** - Monitor onboarding status, last seen, vulnerabilities, and machine details
48
+ - 🎯 **Multiple Endpoints** - Monitor onboarding status, last seen, vulnerabilities, alerts, and machine details
50
49
  - 📊 **Nagios Compatible** - Standard exit codes and performance data output
51
50
  - 🏗️ **Clean Architecture** - Modular design with testable components
52
51
  - 🔧 **Flexible Configuration** - File-based configuration with sensible defaults
@@ -78,6 +77,9 @@ check_msdefender lastseen -d machine.domain.tld -W 7 -C 30
78
77
  # Check vulnerabilities
79
78
  check_msdefender vulnerabilities -d machine.domain.tld -W 10 -C 100
80
79
 
80
+ # Check alerts
81
+ check_msdefender alerts -d machine.domain.tld -W 1 -C 5
82
+
81
83
  # List all machines
82
84
  check_msdefender machines
83
85
 
@@ -92,6 +94,7 @@ check_msdefender detail -d machine.domain.tld
92
94
  | `onboarding` | Check machine onboarding status | W:1, C:2 |
93
95
  | `lastseen` | Days since machine last seen | W:7, C:30 |
94
96
  | `vulnerabilities` | Vulnerability score calculation | W:10, C:100 |
97
+ | `alerts` | Count of unresolved alerts | W:1, C:0 |
95
98
  | `machines` | List all machines | W:10, C:25 |
96
99
  | `detail` | Get detailed machine information | - |
97
100
 
@@ -103,6 +106,14 @@ The vulnerability score is calculated as:
103
106
  - **Medium vulnerabilities** × 5
104
107
  - **Low vulnerabilities** × 1
105
108
 
109
+ ### Alert Monitoring
110
+
111
+ The alerts command monitors unresolved security alerts for a machine:
112
+ - **Counts only unresolved alerts** (status ≠ "Resolved")
113
+ - **Excludes informational alerts** when critical/warning alerts exist
114
+ - **Shows alert details** including creation time, title, and severity
115
+ - **Default thresholds**: Warning at 1 alert, Critical at 0 (meaning any alert triggers warning)
116
+
106
117
  ### Onboarding Status Values
107
118
 
108
119
  - `0` - Onboarded ✅
@@ -145,6 +156,7 @@ timeout = 5
145
156
  - `Machine.Read.All`
146
157
  - `Vulnerability.Read`
147
158
  - `Vulnerability.Read.All`
159
+ - `Alert.Read.All`
148
160
  3. **Create Authentication** (Secret or Certificate)
149
161
  4. **Note Credentials** (Client ID, Tenant ID, Secret/Certificate)
150
162
 
@@ -182,6 +194,11 @@ define command {
182
194
  command_name check_defender_vulnerabilities
183
195
  command_line $USER1$/check_msdefender/bin/check_msdefender vulnerabilities -d $HOSTALIAS$ -W 10 -C 100
184
196
  }
197
+
198
+ define command {
199
+ command_name check_defender_alerts
200
+ command_line $USER1$/check_msdefender/bin/check_msdefender alerts -d $HOSTALIAS$ -W 1 -C 5
201
+ }
185
202
  ```
186
203
 
187
204
  ### Service Definitions
@@ -208,6 +225,13 @@ define service {
208
225
  check_command check_defender_vulnerabilities
209
226
  hostgroup_name msdefender
210
227
  }
228
+
229
+ define service {
230
+ use generic-service
231
+ service_description DEFENDER_ALERTS
232
+ check_command check_defender_alerts
233
+ hostgroup_name msdefender
234
+ }
211
235
  ```
212
236
 
213
237
  ## 🏗️ Architecture
@@ -221,6 +245,7 @@ check_msdefender/
221
245
  │ │ ├── onboarding.py # Onboarding status command
222
246
  │ │ ├── lastseen.py # Last seen command
223
247
  │ │ ├── vulnerabilities.py # Vulnerabilities command
248
+ │ │ ├── alerts.py # Alerts monitoring command
224
249
  │ │ ├── machines.py # List machines command
225
250
  │ │ └── detail.py # Machine detail command
226
251
  │ ├── decorators.py # Common CLI decorators
@@ -236,6 +261,7 @@ check_msdefender/
236
261
  │ ├── onboarding_service.py # Onboarding business logic
237
262
  │ ├── lastseen_service.py # Last seen business logic
238
263
  │ ├── vulnerabilities_service.py # Vulnerability business logic
264
+ │ ├── alerts_service.py # Alerts monitoring business logic
239
265
  │ ├── machines_service.py # Machines business logic
240
266
  │ ├── detail_service.py # Detail business logic
241
267
  │ └── models.py # Data models
@@ -317,6 +343,14 @@ DEFENDER WARNING - Last seen: 10 days ago | lastseen=10;7;30;0;
317
343
  DEFENDER CRITICAL - Vulnerability score: 150 (1 Critical, 5 High) | vulnerabilities=150;10;100;0;
318
344
  ```
319
345
 
346
+ ### Alerts Warning
347
+ ```
348
+ DEFENDER WARNING - Unresolved alerts for machine.domain.com | alerts=2;1;5;0;
349
+ Unresolved alerts for machine.domain.com
350
+ 2025-09-14T10:22:14.12Z - Suspicious activity detected (New high)
351
+ 2025-09-14T12:00:00.00Z - Malware detection (InProgress medium)
352
+ ```
353
+
320
354
  ## 🔧 Troubleshooting
321
355
 
322
356
  ### Common Issues
@@ -393,4 +427,4 @@ This project is licensed under the **MIT License** - see the [LICENSE](LICENSE)
393
427
 
394
428
  [🐛 Report Bug](https://github.com/lduchosal/check_msdefender/issues) • [💡 Request Feature](https://github.com/lduchosal/check_msdefender/issues) • [📖 Documentation](https://github.com/lduchosal/check_msdefender/blob/main/README.md)
395
429
 
396
- </div>
430
+ </div>
@@ -0,0 +1,34 @@
1
+ check_msdefender-1.1.2.dist-info/METADATA,sha256=fJ9nhfz8Hx61xVoQ0KR-l7rNaJOCcqxU9YqBB3wrC1g,14071
2
+ check_msdefender-1.1.2.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
+ check_msdefender-1.1.2.dist-info/entry_points.txt,sha256=OqVzHI1PaD9V22g0K7BhA2nYv4O-pH8mcLzuGdsk5rM,79
4
+ check_msdefender-1.1.2.dist-info/licenses/LICENSE,sha256=kW3DwIsKc9HVYdS4f4tI6sLo-EPqBQbz-WmuvHU4Nak,1065
5
+ check_msdefender/__init__.py,sha256=HDn1Ub7Ohqkfko0kUPT8w7HqU52jXwo-leSTImO1x_k,161
6
+ check_msdefender/__main__.py,sha256=TuNsRSdnkQm9OdBTAwD5aB2zV_Irc50WgylVWhrfnLY,124
7
+ check_msdefender/check_msdefender.py,sha256=OO4Tg2DBW28AT-2LOH-qJM2pE5TPcF615BF7HjyZsmA,137
8
+ check_msdefender/cli/__init__.py,sha256=NWaS5ZI9_252AcReugF_WGPMOvQ_B7sC_s3pSrGujcI,291
9
+ check_msdefender/cli/__main__.py,sha256=TuNsRSdnkQm9OdBTAwD5aB2zV_Irc50WgylVWhrfnLY,124
10
+ check_msdefender/cli/commands/__init__.py,sha256=VkPrCVpBK3DnhVDZuwd_4uK69JYAE9rHZBjAZhyOBII,730
11
+ check_msdefender/cli/commands/alerts.py,sha256=bC3nSF1iE83hOjwJdrL76yBpH4ovnWYNUZTnMzoIdIw,1821
12
+ check_msdefender/cli/commands/detail.py,sha256=qCATgEo_au7t93usEqyWAer6jYlHktQ7D_6iaeLvg3E,2284
13
+ check_msdefender/cli/commands/lastseen.py,sha256=my-kW00ioaFdmec3zjqrLk12kt9Pld8rqu5n8wcT4Ys,1878
14
+ check_msdefender/cli/commands/machines.py,sha256=uyQal7P4VI4a3dECFWgXKBiUPcdxhUrpWFOyKHmpORU,1724
15
+ check_msdefender/cli/commands/onboarding.py,sha256=5QSP75uyrX0MQ1ABiGFSDKIzVszLF8U3uQ4bqFF9F2g,1912
16
+ check_msdefender/cli/commands/vulnerabilities.py,sha256=fl8NYAO4Ug2Yk5NmQ6CT9TuibhFHWE01R6YjDIPgYl4,1931
17
+ check_msdefender/cli/decorators.py,sha256=wRUv4vY6SL3nFjpYW9h1M1xDO_pzA6--gCtg3y6MmQM,786
18
+ check_msdefender/cli/handlers.py,sha256=hp_CX_3qPoQGrPPVeiojb2j7tuFMva4ebWg9CxVUiPg,1395
19
+ check_msdefender/core/__init__.py,sha256=naBiEkixiWTuHU3GENk8fqC8H3p_hkzRsmSY2uiM_TQ,47
20
+ check_msdefender/core/auth.py,sha256=7mkGmhGHy4t38O0e4Rz7dQ52xfMbK3IUXMlw3u83aB4,1585
21
+ check_msdefender/core/config.py,sha256=IoWBL_DB110F4i6hFfli6iFDBXx57dHh32lCuLkcgNk,1170
22
+ check_msdefender/core/defender.py,sha256=XicGQrWuc9UCBr_Vc0SZxNSoZ_OwFXiFwfP_c9-eRtc,8838
23
+ check_msdefender/core/exceptions.py,sha256=X4s_XM64SEVSs-4mGKqnF8xXwGFY3E0buvkgRNuCCX4,600
24
+ check_msdefender/core/logging_config.py,sha256=27gLjvbP_AgedDQWZQEFfn_CGn5y6HcJQlI5jlxQHow,4067
25
+ check_msdefender/core/nagios.py,sha256=nZSo-1VV57WFSieyRp456tw_OqpjXOoM_MEjnLkgxlE,6600
26
+ check_msdefender/services/__init__.py,sha256=_fiKXxcz263IghXn9BnUWDKPgedhUPoSakEN3tBd2SU,44
27
+ check_msdefender/services/alerts_service.py,sha256=poKZw1WKphmtPPnuMDrGRuPQbRLjLDZpo2rhFCh7TDc,4034
28
+ check_msdefender/services/detail_service.py,sha256=i-jXubNfsNf-fS6ba2MQecN886GzU0UC40DwS3HrnnY,3382
29
+ check_msdefender/services/lastseen_service.py,sha256=LiNVeUbAoMzowMvE90P7zCtKFHBLbIDp5mmkVHRLwqs,3128
30
+ check_msdefender/services/machines_service.py,sha256=XTiEctJ2EmZrjPu3xBlFbC_UkkPbUROrPXmqX2bUYss,3059
31
+ check_msdefender/services/models.py,sha256=CDmQ5vU0-GawIalqXjXNk3rry6gsyjv6eSlW2NiXwQ0,979
32
+ check_msdefender/services/onboarding_service.py,sha256=RIOsvALCoKV0YqnCHKYRkelSPrO-F-6vNBLlto4MpiI,2686
33
+ check_msdefender/services/vulnerabilities_service.py,sha256=ikD6E-hg7LtvCiTg7cTCqGSTly6Wgtql82NJD81D2n0,6812
34
+ check_msdefender-1.1.2.dist-info/RECORD,,
@@ -1,5 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: pdm-backend (2.4.5)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
-
@@ -1,2 +1,5 @@
1
1
  [console_scripts]
2
2
  check_msdefender = check_msdefender.cli:main
3
+
4
+ [gui_scripts]
5
+
@@ -1,35 +0,0 @@
1
- check_msdefender/__init__.py,sha256=HDn1Ub7Ohqkfko0kUPT8w7HqU52jXwo-leSTImO1x_k,161
2
- check_msdefender/__main__.py,sha256=TuNsRSdnkQm9OdBTAwD5aB2zV_Irc50WgylVWhrfnLY,124
3
- check_msdefender/check_msdefender.py,sha256=M_i2CIZWxfPisxxiWTFqGVAjoAS89euyVbbbtmaikQk,148
4
- check_msdefender/cli/__init__.py,sha256=NWaS5ZI9_252AcReugF_WGPMOvQ_B7sC_s3pSrGujcI,291
5
- check_msdefender/cli/__main__.py,sha256=TuNsRSdnkQm9OdBTAwD5aB2zV_Irc50WgylVWhrfnLY,124
6
- check_msdefender/cli/decorators.py,sha256=iMd2zrQI2SVSTa9hD8w4AjFqsctFaWUIzdT8_cSTVG8,772
7
- check_msdefender/cli/handlers.py,sha256=RAUsH8gI_fQV4ZNvs3Ih1lCoSOSortpVWRhyQHXe6yU,1418
8
- check_msdefender/cli/commands/__init__.py,sha256=VkPrCVpBK3DnhVDZuwd_4uK69JYAE9rHZBjAZhyOBII,730
9
- check_msdefender/cli/commands/alerts.py,sha256=R3Xb_X7fjc6zNQ0mYQ01DW_pIxIHu_NctbKjrZu8BH0,1834
10
- check_msdefender/cli/commands/detail.py,sha256=k2pDCGXtiGbKmXxDYUvkmUgmQA60jKdIzTY-Jt160jE,2532
11
- check_msdefender/cli/commands/lastseen.py,sha256=TJHArqLkQtXF1XL5U5Dk_ExfVhK95C2TJQg0WBHbyp8,1891
12
- check_msdefender/cli/commands/machines.py,sha256=uHpxc2j4iJnbhp2MRAW-KR1K0NPrqdqQtJbGgSRO5tk,1737
13
- check_msdefender/cli/commands/onboarding.py,sha256=I_hKWngVdSITkEFQ3pDE2oIGlYsCurG7XbCi_fKNoAM,1925
14
- check_msdefender/cli/commands/vulnerabilities.py,sha256=EzllIUw67qAnarKVTy-zx4nWVHDxg2icRsC1irdBhnU,1944
15
- check_msdefender/core/__init__.py,sha256=naBiEkixiWTuHU3GENk8fqC8H3p_hkzRsmSY2uiM_TQ,47
16
- check_msdefender/core/auth.py,sha256=7mkGmhGHy4t38O0e4Rz7dQ52xfMbK3IUXMlw3u83aB4,1585
17
- check_msdefender/core/config.py,sha256=IoWBL_DB110F4i6hFfli6iFDBXx57dHh32lCuLkcgNk,1170
18
- check_msdefender/core/defender.py,sha256=XicGQrWuc9UCBr_Vc0SZxNSoZ_OwFXiFwfP_c9-eRtc,8838
19
- check_msdefender/core/exceptions.py,sha256=X4s_XM64SEVSs-4mGKqnF8xXwGFY3E0buvkgRNuCCX4,600
20
- check_msdefender/core/logging_config.py,sha256=27gLjvbP_AgedDQWZQEFfn_CGn5y6HcJQlI5jlxQHow,4067
21
- check_msdefender/core/nagios.py,sha256=nZSo-1VV57WFSieyRp456tw_OqpjXOoM_MEjnLkgxlE,6600
22
- check_msdefender/services/__init__.py,sha256=_fiKXxcz263IghXn9BnUWDKPgedhUPoSakEN3tBd2SU,44
23
- check_msdefender/services/alerts_service.py,sha256=RNdjsmL9YPjPl4Dv98Z9ceWhIt7k9g4lwIGpJTk9BUo,4069
24
- check_msdefender/services/detail_service.py,sha256=i-jXubNfsNf-fS6ba2MQecN886GzU0UC40DwS3HrnnY,3382
25
- check_msdefender/services/lastseen_service.py,sha256=LiNVeUbAoMzowMvE90P7zCtKFHBLbIDp5mmkVHRLwqs,3128
26
- check_msdefender/services/machines_service.py,sha256=5s5BXB4GUMQ8z3rPy32lybp0DslG0QVhWxm-n_AU97k,3119
27
- check_msdefender/services/models.py,sha256=8p8UHh86h9TjeYahhu_qCBpfuGGS3tObhtlpYk9kB8I,985
28
- check_msdefender/services/onboarding_service.py,sha256=RIOsvALCoKV0YqnCHKYRkelSPrO-F-6vNBLlto4MpiI,2686
29
- check_msdefender/services/vulnerabilities_service.py,sha256=ikD6E-hg7LtvCiTg7cTCqGSTly6Wgtql82NJD81D2n0,6812
30
- check_msdefender-1.1.0.dist-info/licenses/LICENSE,sha256=kW3DwIsKc9HVYdS4f4tI6sLo-EPqBQbz-WmuvHU4Nak,1065
31
- check_msdefender-1.1.0.dist-info/METADATA,sha256=KqV6aUgS9lNXlAj6I6K4aa9CnQrgdlp3nq8aea1MRuQ,12750
32
- check_msdefender-1.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
33
- check_msdefender-1.1.0.dist-info/entry_points.txt,sha256=EMA_qKSvf5dC6yRrajd0W-UgS3C5Ce0o04i3_5A34Cs,63
34
- check_msdefender-1.1.0.dist-info/top_level.txt,sha256=0XgjD7gBWFImxE44zghS94ZGdonRZlfVEpfspnBnG5A,17
35
- check_msdefender-1.1.0.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- check_msdefender