Model Scanner¶
model_scanner
¶
Model security scanner for pickle-based model files.
Uses picklescan (the same library HuggingFace uses) to detect
potentially malicious code in .ckpt, .pt, and .pth model files.
Safetensors files are inherently safe and are skipped.
ModelScanResult(path, is_safe, issues_count=0, scan_error=False, error_message='')
dataclass
¶
Result from scanning a single model file.
DirectoryScanSummary(total_scanned=0, safe_count=0, unsafe_count=0, error_count=0, skipped_safe_format=0, results=list())
dataclass
¶
Aggregated results from scanning a models directory.
scan_model_file(filepath)
¶
Scan a single model file for malicious pickle content.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
filepath
|
Path
|
Path to the model file to scan. |
required |
Returns:
| Type | Description |
|---|---|
ModelScanResult
|
ModelScanResult with safety status and issue details. |
Source code in src/utils/model_scanner.py
scan_models_directory(models_dir)
¶
Recursively scan a models directory for unsafe pickle files.
Scans all .ckpt, .pt, .pth, .pkl files.
Skips .safetensors, .gguf, .onnx (inherently safe).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
models_dir
|
Path
|
Root models directory to scan. |
required |
Returns:
| Type | Description |
|---|---|
DirectoryScanSummary
|
DirectoryScanSummary with aggregated results. |