manja316's picture
Upload folder using huggingface_hub
8173361 verified
---
license: mit
tags:
- security-research
- modelscan-bypass
---
# modelscan-bypass-importlib-shutil
## Security Research — Modelscan Bypass PoC
**Severity**: HIGH
**Module**: `importlib + operator.methodcaller → shutil`
**Description**: File operations via importlib.import_module("shutil") + methodcaller
**Impact**: Bypasses shutil.* blocklist. Can copy/move/delete files. shutil.rmtree for recursive deletion.
## Modelscan Result
```
$ modelscan scan -p pytorch_model.bin
No issues found! ✅ (FALSE NEGATIVE)
```
**Tested against**: modelscan 0.8.8 (latest)
## How It Works
The pickle file uses `importlib + operator.methodcaller → shutil` which is NOT in modelscan's unsafe_globals blocklist.
When loaded via `torch.load()` or `pickle.loads()`, it executes the payload.
## Responsible Disclosure
This PoC is part of responsible security research submitted via Huntr MFV program
to help ProtectAI improve modelscan's detection capabilities.