check-msdefender 1.0.0__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.
- check_msdefender/__init__.py +5 -0
- check_msdefender/__main__.py +6 -0
- check_msdefender/check_msdefender.py +7 -0
- check_msdefender/cli/__init__.py +15 -0
- check_msdefender/cli/__main__.py +6 -0
- check_msdefender/cli/commands/__init__.py +17 -0
- check_msdefender/cli/commands/detail.py +72 -0
- check_msdefender/cli/commands/lastseen.py +61 -0
- check_msdefender/cli/commands/machines.py +55 -0
- check_msdefender/cli/commands/onboarding.py +61 -0
- check_msdefender/cli/commands/vulnerabilities.py +61 -0
- check_msdefender/cli/decorators.py +18 -0
- check_msdefender/cli/handlers.py +46 -0
- check_msdefender/core/__init__.py +1 -0
- check_msdefender/core/auth.py +46 -0
- check_msdefender/core/config.py +40 -0
- check_msdefender/core/defender.py +176 -0
- check_msdefender/core/exceptions.py +31 -0
- check_msdefender/core/logging_config.py +116 -0
- check_msdefender/core/nagios.py +169 -0
- check_msdefender/services/__init__.py +1 -0
- check_msdefender/services/detail_service.py +77 -0
- check_msdefender/services/lastseen_service.py +70 -0
- check_msdefender/services/machines_service.py +82 -0
- check_msdefender/services/models.py +49 -0
- check_msdefender/services/onboarding_service.py +59 -0
- check_msdefender/services/vulnerabilities_service.py +163 -0
- check_msdefender-1.0.0.dist-info/METADATA +396 -0
- check_msdefender-1.0.0.dist-info/RECORD +33 -0
- check_msdefender-1.0.0.dist-info/WHEEL +5 -0
- check_msdefender-1.0.0.dist-info/entry_points.txt +2 -0
- check_msdefender-1.0.0.dist-info/licenses/LICENSE +21 -0
- check_msdefender-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: check-msdefender
|
|
3
|
+
Version: 1.0.0
|
|
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
|
+
Keywords: nagios,monitoring,microsoft,graph,api,azure
|
|
12
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
13
|
+
Classifier: Intended Audience :: System Administrators
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Topic :: System :: Monitoring
|
|
21
|
+
Classifier: Topic :: System :: Systems Administration
|
|
22
|
+
Requires-Python: >=3.9
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
License-File: LICENSE
|
|
25
|
+
Requires-Dist: nagiosplugin>=1.4.0
|
|
26
|
+
Requires-Dist: azure-identity>=1.12.0
|
|
27
|
+
Requires-Dist: click<9.0,>=8.0
|
|
28
|
+
Provides-Extra: dev
|
|
29
|
+
Requires-Dist: pytest>=6.0; extra == "dev"
|
|
30
|
+
Requires-Dist: pytest-cov>=2.0; extra == "dev"
|
|
31
|
+
Requires-Dist: pytest-asyncio>=1.0; extra == "dev"
|
|
32
|
+
Requires-Dist: black>=21.0; extra == "dev"
|
|
33
|
+
Requires-Dist: flake8>=3.8; extra == "dev"
|
|
34
|
+
Requires-Dist: mypy>=0.800; extra == "dev"
|
|
35
|
+
Requires-Dist: twine>=6.2.0; extra == "dev"
|
|
36
|
+
Dynamic: license-file
|
|
37
|
+
|
|
38
|
+
# 🛡️ Check MS Defender
|
|
39
|
+
|
|
40
|
+
[](https://python.org)
|
|
41
|
+
[](https://opensource.org/licenses/MIT)
|
|
42
|
+
[](https://github.com/lduchosal/check_msdefender)
|
|
43
|
+
|
|
44
|
+
A comprehensive **Nagios plugin** for monitoring Microsoft Defender for Endpoint API endpoints. Built with modern Python practices and designed for enterprise monitoring environments.
|
|
45
|
+
|
|
46
|
+
## ✨ Features
|
|
47
|
+
|
|
48
|
+
- 🔐 **Dual Authentication** - Support for Client Secret and Certificate-based authentication
|
|
49
|
+
- 🎯 **Multiple Endpoints** - Monitor onboarding status, last seen, vulnerabilities, and machine details
|
|
50
|
+
- 📊 **Nagios Compatible** - Standard exit codes and performance data output
|
|
51
|
+
- 🏗️ **Clean Architecture** - Modular design with testable components
|
|
52
|
+
- 🔧 **Flexible Configuration** - File-based configuration with sensible defaults
|
|
53
|
+
- 📈 **Verbose Logging** - Multi-level debugging support
|
|
54
|
+
- 🐍 **Modern Python** - Built with Python 3.9+ using type hints and async patterns
|
|
55
|
+
|
|
56
|
+
## 🚀 Quick Start
|
|
57
|
+
|
|
58
|
+
### Installation
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Create virtual environment (recommended)
|
|
62
|
+
python -m venv /usr/local/libexec/nagios/check_msdefender
|
|
63
|
+
source /usr/local/libexec/nagios/check_msdefender/bin/activate
|
|
64
|
+
|
|
65
|
+
# Install from source
|
|
66
|
+
pip install git+https://github.com/lduchosal/check_msdefender.git
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Basic Usage
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Check machine onboarding status
|
|
73
|
+
check_msdefender onboarding -d machine.domain.tld
|
|
74
|
+
|
|
75
|
+
# Check last seen (with custom thresholds)
|
|
76
|
+
check_msdefender lastseen -d machine.domain.tld -W 7 -C 30
|
|
77
|
+
|
|
78
|
+
# Check vulnerabilities
|
|
79
|
+
check_msdefender vulnerabilities -d machine.domain.tld -W 10 -C 100
|
|
80
|
+
|
|
81
|
+
# List all machines
|
|
82
|
+
check_msdefender machines
|
|
83
|
+
|
|
84
|
+
# Get detailed machine info
|
|
85
|
+
check_msdefender detail -d machine.domain.tld
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## 📋 Available Commands
|
|
89
|
+
|
|
90
|
+
| Command | Description | Default Thresholds |
|
|
91
|
+
|---------|-------------|-------------------|
|
|
92
|
+
| `onboarding` | Check machine onboarding status | W:1, C:2 |
|
|
93
|
+
| `lastseen` | Days since machine last seen | W:7, C:30 |
|
|
94
|
+
| `vulnerabilities` | Vulnerability score calculation | W:10, C:100 |
|
|
95
|
+
| `machines` | List all machines | W:10, C:25 |
|
|
96
|
+
| `detail` | Get detailed machine information | - |
|
|
97
|
+
|
|
98
|
+
### Vulnerability Scoring
|
|
99
|
+
|
|
100
|
+
The vulnerability score is calculated as:
|
|
101
|
+
- **Critical vulnerabilities** × 100
|
|
102
|
+
- **High vulnerabilities** × 10
|
|
103
|
+
- **Medium vulnerabilities** × 5
|
|
104
|
+
- **Low vulnerabilities** × 1
|
|
105
|
+
|
|
106
|
+
### Onboarding Status Values
|
|
107
|
+
|
|
108
|
+
- `0` - Onboarded ✅
|
|
109
|
+
- `1` - InsufficientInfo ⚠️
|
|
110
|
+
- `2` - Unknown ❌
|
|
111
|
+
|
|
112
|
+
## ⚙️ Configuration
|
|
113
|
+
|
|
114
|
+
### Authentication Setup
|
|
115
|
+
|
|
116
|
+
Create `check_msdefender.ini` in your Nagios directory or current working directory:
|
|
117
|
+
|
|
118
|
+
#### Client Secret Authentication
|
|
119
|
+
```ini
|
|
120
|
+
[auth]
|
|
121
|
+
client_id = your-application-client-id
|
|
122
|
+
client_secret = your-client-secret
|
|
123
|
+
tenant_id = your-azure-tenant-id
|
|
124
|
+
|
|
125
|
+
[settings]
|
|
126
|
+
timeout = 5
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
#### Certificate Authentication
|
|
130
|
+
```ini
|
|
131
|
+
[auth]
|
|
132
|
+
client_id = your-application-client-id
|
|
133
|
+
tenant_id = your-azure-tenant-id
|
|
134
|
+
certificate_path = /path/to/certificate.pem
|
|
135
|
+
private_key_path = /path/to/private_key.pem
|
|
136
|
+
|
|
137
|
+
[settings]
|
|
138
|
+
timeout = 5
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Microsoft Defender API Setup
|
|
142
|
+
|
|
143
|
+
1. **Register Application** in Azure Active Directory
|
|
144
|
+
2. **Grant API Permissions**:
|
|
145
|
+
- `Machine.Read.All`
|
|
146
|
+
- `Vulnerability.Read`
|
|
147
|
+
- `Vulnerability.Read.All`
|
|
148
|
+
3. **Create Authentication** (Secret or Certificate)
|
|
149
|
+
4. **Note Credentials** (Client ID, Tenant ID, Secret/Certificate)
|
|
150
|
+
|
|
151
|
+
📚 [Complete API Setup Guide](https://learn.microsoft.com/en-us/defender-endpoint/api/api-hello-world)
|
|
152
|
+
|
|
153
|
+
## 🔧 Command Line Options
|
|
154
|
+
|
|
155
|
+
| Option | Description | Example |
|
|
156
|
+
|--------|-------------|---------|
|
|
157
|
+
| `-c, --config` | Configuration file path | `-c /custom/path/config.ini` |
|
|
158
|
+
| `-m, --machineId` | Machine ID (GUID) | `-m "12345678-1234-1234-1234-123456789abc"` |
|
|
159
|
+
| `-d, --computerDnsName` | Computer DNS Name (FQDN) | `-d "server.domain.com"` |
|
|
160
|
+
| `-W, --warning` | Warning threshold | `-W 10` |
|
|
161
|
+
| `-C, --critical` | Critical threshold | `-C 100` |
|
|
162
|
+
| `-v, --verbose` | Verbosity level | `-v`, `-vv`, `-vvv` |
|
|
163
|
+
| `--version` | Show version | `--version` |
|
|
164
|
+
|
|
165
|
+
## 🏢 Nagios Integration
|
|
166
|
+
|
|
167
|
+
### Command Definitions
|
|
168
|
+
|
|
169
|
+
```cfg
|
|
170
|
+
# Microsoft Defender Commands
|
|
171
|
+
define command {
|
|
172
|
+
command_name check_defender_onboarding
|
|
173
|
+
command_line $USER1$/check_msdefender/bin/check_msdefender onboarding -d $HOSTALIAS$
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
define command {
|
|
177
|
+
command_name check_defender_lastseen
|
|
178
|
+
command_line $USER1$/check_msdefender/bin/check_msdefender lastseen -d $HOSTALIAS$ -W 7 -C 30
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
define command {
|
|
182
|
+
command_name check_defender_vulnerabilities
|
|
183
|
+
command_line $USER1$/check_msdefender/bin/check_msdefender vulnerabilities -d $HOSTALIAS$ -W 10 -C 100
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Service Definitions
|
|
188
|
+
|
|
189
|
+
```cfg
|
|
190
|
+
# Microsoft Defender Services
|
|
191
|
+
define service {
|
|
192
|
+
use generic-service
|
|
193
|
+
service_description DEFENDER_ONBOARDING
|
|
194
|
+
check_command check_defender_onboarding
|
|
195
|
+
hostgroup_name msdefender
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
define service {
|
|
199
|
+
use generic-service
|
|
200
|
+
service_description DEFENDER_LASTSEEN
|
|
201
|
+
check_command check_defender_lastseen
|
|
202
|
+
hostgroup_name msdefender
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
define service {
|
|
206
|
+
use generic-service
|
|
207
|
+
service_description DEFENDER_VULNERABILITIES
|
|
208
|
+
check_command check_defender_vulnerabilities
|
|
209
|
+
hostgroup_name msdefender
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## 🏗️ Architecture
|
|
214
|
+
|
|
215
|
+
This plugin follows **clean architecture** principles with clear separation of concerns:
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
check_msdefender/
|
|
219
|
+
├── 📁 cli/ # Command-line interface
|
|
220
|
+
│ ├── commands/ # Individual command handlers
|
|
221
|
+
│ │ ├── onboarding.py # Onboarding status command
|
|
222
|
+
│ │ ├── lastseen.py # Last seen command
|
|
223
|
+
│ │ ├── vulnerabilities.py # Vulnerabilities command
|
|
224
|
+
│ │ ├── machines.py # List machines command
|
|
225
|
+
│ │ └── detail.py # Machine detail command
|
|
226
|
+
│ ├── decorators.py # Common CLI decorators
|
|
227
|
+
│ └── handlers.py # CLI handlers
|
|
228
|
+
├── 📁 core/ # Core business logic
|
|
229
|
+
│ ├── auth.py # Authentication management
|
|
230
|
+
│ ├── config.py # Configuration handling
|
|
231
|
+
│ ├── defender.py # Defender API client
|
|
232
|
+
│ ├── exceptions.py # Custom exceptions
|
|
233
|
+
│ ├── nagios.py # Nagios plugin framework
|
|
234
|
+
│ └── logging_config.py # Logging configuration
|
|
235
|
+
├── 📁 services/ # Business services
|
|
236
|
+
│ ├── onboarding_service.py # Onboarding business logic
|
|
237
|
+
│ ├── lastseen_service.py # Last seen business logic
|
|
238
|
+
│ ├── vulnerabilities_service.py # Vulnerability business logic
|
|
239
|
+
│ ├── machines_service.py # Machines business logic
|
|
240
|
+
│ ├── detail_service.py # Detail business logic
|
|
241
|
+
│ └── models.py # Data models
|
|
242
|
+
└── 📁 tests/ # Comprehensive test suite
|
|
243
|
+
├── unit/ # Unit tests
|
|
244
|
+
├── integration/ # Integration tests
|
|
245
|
+
└── fixtures/ # Test fixtures
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Key Design Principles
|
|
249
|
+
|
|
250
|
+
- **🎯 Single Responsibility** - Each module has one clear purpose
|
|
251
|
+
- **🔌 Dependency Injection** - Easy testing and mocking
|
|
252
|
+
- **🧪 Testable** - Comprehensive test coverage
|
|
253
|
+
- **📈 Extensible** - Easy to add new commands and features
|
|
254
|
+
- **🔒 Secure** - No secrets in code, proper credential handling
|
|
255
|
+
|
|
256
|
+
## 🧪 Development
|
|
257
|
+
|
|
258
|
+
### Development Setup
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# Clone repository
|
|
262
|
+
git clone https://github.com/lduchosal/check_msdefender.git
|
|
263
|
+
cd check_msdefender
|
|
264
|
+
|
|
265
|
+
# Create development environment
|
|
266
|
+
python -m venv .venv
|
|
267
|
+
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
|
268
|
+
|
|
269
|
+
# Install in development mode
|
|
270
|
+
pip install -e .
|
|
271
|
+
pip install -r requirements-dev.txt
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### Code Quality Tools
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
# Format code
|
|
278
|
+
black check_msdefender/
|
|
279
|
+
|
|
280
|
+
# Lint code
|
|
281
|
+
flake8 check_msdefender/
|
|
282
|
+
|
|
283
|
+
# Type checking
|
|
284
|
+
mypy check_msdefender/
|
|
285
|
+
|
|
286
|
+
# Run tests
|
|
287
|
+
pytest tests/ -v --cov=check_msdefender
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Building & Publishing
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
# Build package
|
|
294
|
+
python -m build
|
|
295
|
+
|
|
296
|
+
# Test installation
|
|
297
|
+
pip install dist/*.whl
|
|
298
|
+
|
|
299
|
+
# Publish to PyPI
|
|
300
|
+
python -m twine upload dist/*
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## 🔍 Output Examples
|
|
304
|
+
|
|
305
|
+
### Successful Check
|
|
306
|
+
```
|
|
307
|
+
DEFENDER OK - Onboarding status: 0 (Onboarded) | onboarding=0;1;2;0;2
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Warning State
|
|
311
|
+
```
|
|
312
|
+
DEFENDER WARNING - Last seen: 10 days ago | lastseen=10;7;30;0;
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### Critical State
|
|
316
|
+
```
|
|
317
|
+
DEFENDER CRITICAL - Vulnerability score: 150 (1 Critical, 5 High) | vulnerabilities=150;10;100;0;
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## 🔧 Troubleshooting
|
|
321
|
+
|
|
322
|
+
### Common Issues
|
|
323
|
+
|
|
324
|
+
| Issue | Solution |
|
|
325
|
+
|-------|----------|
|
|
326
|
+
| **Authentication Errors** | Verify Azure app permissions and credentials |
|
|
327
|
+
| **Network Connectivity** | Check firewall rules for Microsoft endpoints |
|
|
328
|
+
| **Import Errors** | Ensure all dependencies are installed |
|
|
329
|
+
| **Configuration Issues** | Validate config file syntax and paths |
|
|
330
|
+
|
|
331
|
+
### Debug Mode
|
|
332
|
+
|
|
333
|
+
Enable verbose logging for detailed troubleshooting:
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
# Maximum verbosity
|
|
337
|
+
check_msdefender vulnerabilities -d machine.domain.tld -vvv
|
|
338
|
+
|
|
339
|
+
# Check specific configuration
|
|
340
|
+
check_msdefender onboarding -c /path/to/config.ini -d machine.domain.tld -vv
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
### Required Network Access
|
|
344
|
+
|
|
345
|
+
Ensure connectivity to:
|
|
346
|
+
- `login.microsoftonline.com`
|
|
347
|
+
- `api.securitycenter.microsoft.com`
|
|
348
|
+
- `api-eu.securitycenter.microsoft.com`
|
|
349
|
+
- `api-eu3.securitycenter.microsoft.com`
|
|
350
|
+
- `api-uk.securitycenter.microsoft.com`
|
|
351
|
+
|
|
352
|
+
## 📊 Exit Codes
|
|
353
|
+
|
|
354
|
+
| Code | Status | Description |
|
|
355
|
+
|------|--------|-------------|
|
|
356
|
+
| `0` | OK | Value within acceptable range |
|
|
357
|
+
| `1` | WARNING | Value exceeds warning threshold |
|
|
358
|
+
| `2` | CRITICAL | Value exceeds critical threshold |
|
|
359
|
+
| `3` | UNKNOWN | Error occurred during execution |
|
|
360
|
+
|
|
361
|
+
## 🤝 Contributing
|
|
362
|
+
|
|
363
|
+
We welcome contributions! Here's how to get started:
|
|
364
|
+
|
|
365
|
+
1. **Fork** the repository
|
|
366
|
+
2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)
|
|
367
|
+
3. **Commit** your changes (`git commit -m 'Add amazing feature'`)
|
|
368
|
+
4. **Push** to the branch (`git push origin feature/amazing-feature`)
|
|
369
|
+
5. **Open** a Pull Request
|
|
370
|
+
|
|
371
|
+
### Development Guidelines
|
|
372
|
+
|
|
373
|
+
- Follow [PEP 8](https://pep8.org/) style guide
|
|
374
|
+
- Add tests for new features
|
|
375
|
+
- Update documentation as needed
|
|
376
|
+
- Ensure all tests pass before submitting
|
|
377
|
+
|
|
378
|
+
## 📄 License
|
|
379
|
+
|
|
380
|
+
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
|
|
381
|
+
|
|
382
|
+
## 🙏 Acknowledgments
|
|
383
|
+
|
|
384
|
+
- Built with [nagiosplugin](https://nagiosplugin.readthedocs.io/) framework
|
|
385
|
+
- Uses [Azure Identity SDK](https://docs.microsoft.com/python/api/azure-identity/) for authentication
|
|
386
|
+
- Powered by [Click](https://click.palletsprojects.com/) for CLI interface
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
390
|
+
<div align="center">
|
|
391
|
+
|
|
392
|
+
**[⭐ Star this repository](https://github.com/lduchosal/check_msdefender)** if you find it useful!
|
|
393
|
+
|
|
394
|
+
[🐛 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
|
+
|
|
396
|
+
</div>
|
|
@@ -0,0 +1,33 @@
|
|
|
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=mKF0lp4uMI9VYQGFg7N4W74GOLmACeXWVxpReLvre34,644
|
|
9
|
+
check_msdefender/cli/commands/detail.py,sha256=k2pDCGXtiGbKmXxDYUvkmUgmQA60jKdIzTY-Jt160jE,2532
|
|
10
|
+
check_msdefender/cli/commands/lastseen.py,sha256=TJHArqLkQtXF1XL5U5Dk_ExfVhK95C2TJQg0WBHbyp8,1891
|
|
11
|
+
check_msdefender/cli/commands/machines.py,sha256=uHpxc2j4iJnbhp2MRAW-KR1K0NPrqdqQtJbGgSRO5tk,1737
|
|
12
|
+
check_msdefender/cli/commands/onboarding.py,sha256=I_hKWngVdSITkEFQ3pDE2oIGlYsCurG7XbCi_fKNoAM,1925
|
|
13
|
+
check_msdefender/cli/commands/vulnerabilities.py,sha256=EzllIUw67qAnarKVTy-zx4nWVHDxg2icRsC1irdBhnU,1944
|
|
14
|
+
check_msdefender/core/__init__.py,sha256=naBiEkixiWTuHU3GENk8fqC8H3p_hkzRsmSY2uiM_TQ,47
|
|
15
|
+
check_msdefender/core/auth.py,sha256=7mkGmhGHy4t38O0e4Rz7dQ52xfMbK3IUXMlw3u83aB4,1585
|
|
16
|
+
check_msdefender/core/config.py,sha256=IoWBL_DB110F4i6hFfli6iFDBXx57dHh32lCuLkcgNk,1170
|
|
17
|
+
check_msdefender/core/defender.py,sha256=5_Mq1p9WxlttQeeqnY9RCWgDbf2Wbagw4LUFY2aqrrA,7315
|
|
18
|
+
check_msdefender/core/exceptions.py,sha256=X4s_XM64SEVSs-4mGKqnF8xXwGFY3E0buvkgRNuCCX4,600
|
|
19
|
+
check_msdefender/core/logging_config.py,sha256=27gLjvbP_AgedDQWZQEFfn_CGn5y6HcJQlI5jlxQHow,4067
|
|
20
|
+
check_msdefender/core/nagios.py,sha256=nZSo-1VV57WFSieyRp456tw_OqpjXOoM_MEjnLkgxlE,6600
|
|
21
|
+
check_msdefender/services/__init__.py,sha256=_fiKXxcz263IghXn9BnUWDKPgedhUPoSakEN3tBd2SU,44
|
|
22
|
+
check_msdefender/services/detail_service.py,sha256=i-jXubNfsNf-fS6ba2MQecN886GzU0UC40DwS3HrnnY,3382
|
|
23
|
+
check_msdefender/services/lastseen_service.py,sha256=LiNVeUbAoMzowMvE90P7zCtKFHBLbIDp5mmkVHRLwqs,3128
|
|
24
|
+
check_msdefender/services/machines_service.py,sha256=5s5BXB4GUMQ8z3rPy32lybp0DslG0QVhWxm-n_AU97k,3119
|
|
25
|
+
check_msdefender/services/models.py,sha256=8p8UHh86h9TjeYahhu_qCBpfuGGS3tObhtlpYk9kB8I,985
|
|
26
|
+
check_msdefender/services/onboarding_service.py,sha256=RIOsvALCoKV0YqnCHKYRkelSPrO-F-6vNBLlto4MpiI,2686
|
|
27
|
+
check_msdefender/services/vulnerabilities_service.py,sha256=ikD6E-hg7LtvCiTg7cTCqGSTly6Wgtql82NJD81D2n0,6812
|
|
28
|
+
check_msdefender-1.0.0.dist-info/licenses/LICENSE,sha256=kW3DwIsKc9HVYdS4f4tI6sLo-EPqBQbz-WmuvHU4Nak,1065
|
|
29
|
+
check_msdefender-1.0.0.dist-info/METADATA,sha256=feCju74gUaR5YTuoshCDVnYagetTZWpFt64Itep5ckw,12750
|
|
30
|
+
check_msdefender-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
31
|
+
check_msdefender-1.0.0.dist-info/entry_points.txt,sha256=EMA_qKSvf5dC6yRrajd0W-UgS3C5Ce0o04i3_5A34Cs,63
|
|
32
|
+
check_msdefender-1.0.0.dist-info/top_level.txt,sha256=0XgjD7gBWFImxE44zghS94ZGdonRZlfVEpfspnBnG5A,17
|
|
33
|
+
check_msdefender-1.0.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 ldvchosal
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
check_msdefender
|