You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
│ ├── constants.py # Default values and shared constants
166
+
│ ├── loader.py # Config file/env loaders
167
+
│ └── manager.py # Runtime config manager
164
168
├── fuzz_engine/ # Core fuzzing engine
165
169
│ ├── __init__.py
166
170
│ ├── executor.py # Async execution framework
@@ -193,10 +197,20 @@ mcp_fuzzer/
193
197
│ └── safety_reporter.py # Safety system reporting
194
198
├── safety_system/ # Safety and protection
195
199
│ ├── __init__.py
196
-
│ ├── patterns.py # Safety pattern definitions
197
200
│ ├── policy.py # Network policy and host normalization
198
201
│ ├── safety.py # Core safety logic with SafetyProvider protocol
199
-
│ └── system_blocker.py # System command blocking
202
+
│ ├── blocking/ # PATH shim command blocking
203
+
│ │ ├── __init__.py
204
+
│ │ ├── command_blocker.py
205
+
│ │ └── shims/
206
+
│ ├── detection/ # Dangerous pattern detection
207
+
│ │ ├── __init__.py
208
+
│ │ ├── detector.py
209
+
│ │ └── patterns.py
210
+
│ └── filesystem/ # Filesystem sandboxing helpers
211
+
│ ├── __init__.py
212
+
│ ├── sandbox.py
213
+
│ └── sanitizer.py
200
214
└── transport/ # Transport layer implementations
201
215
├── __init__.py
202
216
├── base.py # Abstract transport protocol
@@ -330,7 +344,7 @@ The schema parser provides comprehensive support for parsing JSON Schema definit
330
344
331
345
The module supports both "realistic"and"aggressive" fuzzing strategies, where realistic mode generates valid data conforming to the schema, while aggressive mode intentionally generates edge cases and invalid data to test error handling.
332
346
333
-
### 5. Invariants System
347
+
### 6. Invariants System
334
348
335
349
The invariants system provides comprehensive property-based testing capabilities to verify response validity, error type correctness, and prevention of unintended crashes or unexpected states during fuzzing.
336
350
@@ -370,7 +384,7 @@ for idx, result in results.items():
370
384
371
385
These invariants serve as runtime assertions that validate the behavior of the server being tested, helping to identify potential issues that might not be caught by simple error checking.
372
386
373
-
### 6. Client Architecture
387
+
### 7. Client Architecture
374
388
375
389
The client architecture provides specialized MCP client implementations for different fuzzing scenarios.
376
390
@@ -388,29 +402,30 @@ The client architecture provides specialized MCP client implementations for diff
-**Mock Response Generation**: Safe responses for blocked operations
412
427
413
-
### 8. Authentication System
428
+
### 9. Authentication System
414
429
415
430
The authentication system provides comprehensive support for various authentication methods forMCP servers using a flexible provider-based architecture.
416
431
@@ -478,19 +493,20 @@ auth:
478
493
-**Provider Validation**: Runtime validation of authentication configurations
479
494
-**Error Handling**: Graceful fallback for authentication failures
480
495
481
-
### 9. Configuration Management
496
+
### 10. Configuration Management
482
497
483
498
The configuration system provides centralized configuration management with multiple loading strategies.
484
499
485
500
**Key Components:**
486
501
487
-
-`config.py`: Main configuration classes and validation
@@ -501,7 +517,7 @@ The configuration system provides centralized configuration management with mult
501
517
-**Runtime Settings**: Execution and concurrency settings
502
518
-**Reporting Settings**: Output and logging configuration
503
519
504
-
### 9. Reporting System
520
+
### 11. Reporting System
505
521
506
522
The reporting system provides centralized output management and comprehensive result reporting with multiple output formats and real-time progress tracking.
507
523
@@ -514,20 +530,20 @@ The reporting system provides centralized output management and comprehensive re
514
530
515
531
**Reporting Features:**
516
532
517
-
-**Multi-Format Output**: Support for console, JSON, text, CSV, andXML formats
533
+
-**Multi-Format Output**: Console summaries plus JSON, text, CSV, XML, HTML, and Markdown exports
534
+
-**Standardized Artifacts**: Output protocol produces structured JSON bundles for fuzzing, safety, and error data
518
535
-**Real-time Progress**: Live progress indicators and status updates during fuzzing
519
536
-**Result Aggregation**: Comprehensive statistics, success rates, and performance metrics
520
537
-**Safety Reporting**: Detailed breakdown of blocked operations, risk assessments, and security events
521
538
-**Session Tracking**: Timestamped reports with unique session identification and metadata
522
-
-**Configurable Retention**: Automatic cleanup of old reports based on time or size limits
523
539
524
540
**Output Formats:**
525
541
526
542
-**Console**: Interactive tables with colors, progress bars, and real-time updates
527
-
-**JSON**: Machine-readable structured data forCI/CD integration and external analysis
528
-
-**Text**: Human-readable summaries for documentation and sharing
-**XML**: Enterprise-compatible formatfor integration with existing systems
543
+
-**JSON/Text**: Machine-readable structured data plus readable summaries for doc handoffs
544
+
-**CSV/XML**: Spreadsheet-and enterprise-friendly formats for data analysis
545
+
-**HTML/Markdown**: Presentation-ready exportsforreports and runbooks
546
+
-**Standardized Output Protocol**: Currently persisted asJSON files regardless of `--output-format`; other values are reserved for future protocol encodings
531
547
532
548
**Report Types:**
533
549
@@ -562,20 +578,20 @@ graph TD
562
578
563
579
```yaml
564
580
output:
565
-
format: "json"#json, yaml, csv, xml, console
581
+
format: "json"#Standardized output protocol is JSON today
566
582
directory: "./reports"# Output directory path
567
-
compress: true # Enable compression for large reports
568
-
types: # Specific report types to generate
583
+
compress: true # Enable compression for standardized output
584
+
types: # Specific standardized output types to generate
569
585
-"fuzzing_results"
570
586
-"error_report"
571
587
-"safety_summary"
572
588
-"performance_metrics"
573
-
retention:
574
-
days: 30# Retain reports for N days
575
-
max_size: "1GB"# Maximum total size before cleanup
0 commit comments