Commit a838c5b
committed
Fix 17 bugs, gaps, and performance issues found in end-to-end audit
Bugs:
- Fix _run_sync catching its own RuntimeError safety guard
- Fix async __contains__ (Python 'in' operator never awaits)
- Fix auth bypass on root / endpoint allowing unauthenticated access
- Remove dead create_auth_endpoints code; fix /auth/token to use auth_manager
- Fix search_security_events silently ignoring query parameter
- Fix cleanup_expired missing timeout_minutes parameter
- Register monitoring middleware for request tracking
- Fix /metrics using default registry instead of custom REGISTRY
Gaps:
- Sync time range values: add 12h/1d across security.py and wazuh_client.py
- Add 'pending' to agent status enum in tool schema
Enhancements:
- Migrate MCPResponse from deprecated Pydantic v1 dict() to model_dump()
- Register security middleware for response headers
- Expand test suite from 10 to 33 tests covering new fixes
Performance:
- Refactor get_alerts to use _search helper with retry logic
- Add max size guard to unbounded _initialized_sessions dict
- Replace O(n*m) json.dumps per-alert with recursive dict search1 parent a9636fb commit a838c5b
File tree
6 files changed
+308
-186
lines changed- src/wazuh_mcp_server
- api
- tests/integration
6 files changed
+308
-186
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
21 | 41 | | |
22 | 42 | | |
23 | 43 | | |
| |||
462 | 482 | | |
463 | 483 | | |
464 | 484 | | |
465 | | - | |
466 | | - | |
467 | | - | |
| 485 | + | |
468 | 486 | | |
469 | 487 | | |
470 | 488 | | |
| |||
476 | 494 | | |
477 | 495 | | |
478 | 496 | | |
479 | | - | |
| 497 | + | |
480 | 498 | | |
481 | 499 | | |
482 | 500 | | |
483 | | - | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
484 | 511 | | |
485 | 512 | | |
486 | 513 | | |
| |||
589 | 616 | | |
590 | 617 | | |
591 | 618 | | |
592 | | - | |
593 | | - | |
594 | | - | |
595 | | - | |
596 | | - | |
| 619 | + | |
| 620 | + | |
597 | 621 | | |
598 | 622 | | |
599 | 623 | | |
| |||
611 | 635 | | |
612 | 636 | | |
613 | 637 | | |
| 638 | + | |
614 | 639 | | |
615 | | - | |
616 | | - | |
| 640 | + | |
617 | 641 | | |
618 | 642 | | |
619 | 643 | | |
| |||
887 | 911 | | |
888 | 912 | | |
889 | 913 | | |
890 | | - | |
| 914 | + | |
891 | 915 | | |
892 | 916 | | |
893 | 917 | | |
894 | 918 | | |
895 | | - | |
896 | | - | |
897 | | - | |
| 919 | + | |
898 | 920 | | |
899 | 921 | | |
900 | 922 | | |
| |||
910 | 932 | | |
911 | 933 | | |
912 | 934 | | |
913 | | - | |
914 | | - | |
915 | | - | |
| 935 | + | |
916 | 936 | | |
917 | 937 | | |
918 | 938 | | |
| |||
930 | 950 | | |
931 | 951 | | |
932 | 952 | | |
933 | | - | |
934 | | - | |
935 | | - | |
| 953 | + | |
936 | 954 | | |
937 | 955 | | |
938 | 956 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
99 | 101 | | |
100 | 102 | | |
101 | 103 | | |
102 | 104 | | |
103 | 105 | | |
104 | 106 | | |
105 | 107 | | |
| 108 | + | |
106 | 109 | | |
107 | 110 | | |
108 | 111 | | |
109 | 112 | | |
110 | 113 | | |
111 | 114 | | |
112 | 115 | | |
113 | | - | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
114 | 119 | | |
115 | 120 | | |
116 | 121 | | |
| |||
151 | 156 | | |
152 | 157 | | |
153 | 158 | | |
154 | | - | |
155 | | - | |
156 | 159 | | |
157 | 160 | | |
158 | 161 | | |
| |||
183 | 186 | | |
184 | 187 | | |
185 | 188 | | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
| 189 | + | |
| 190 | + | |
208 | 191 | | |
209 | 192 | | |
210 | 193 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | 17 | | |
19 | 18 | | |
20 | 19 | | |
| |||
268 | 267 | | |
269 | 268 | | |
270 | 269 | | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | | - | |
284 | | - | |
285 | 270 | | |
286 | 271 | | |
287 | 272 | | |
| |||
379 | 364 | | |
380 | 365 | | |
381 | 366 | | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
425 | | - | |
426 | | - | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
435 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| |||
354 | 354 | | |
355 | 355 | | |
356 | 356 | | |
357 | | - | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
358 | 360 | | |
359 | 361 | | |
360 | 362 | | |
| |||
0 commit comments