manja316's picture
Upload folder using huggingface_hub
8173361 verified
metadata
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.