ModelScan Pickle Scanner Bypass PoC
โ ๏ธ SECURITY RESEARCH ONLY - DO NOT LOAD THESE FILES โ ๏ธ
This repository contains proof-of-concept files demonstrating a bypass of ModelScan's pickle scanner.
Files
malicious_model.joblibโ Usesdistutils.spawn.spawn()to execute system commands (Python 3.9-3.11). Bypasses BOTH ModelScan and picklescan.cprofile_bypass.joblibโ UsescProfile.run()for arbitrary code execution. Bypasses ModelScan only.timeit_bypass.joblibโ Usestimeit.timeit()for arbitrary code execution. Bypasses ModelScan only.poc_modelscan_bypass.pyโ Full PoC script with all vectors.
Verification
pip install modelscan
modelscan -p malicious_model.joblib
# Expected: 0 issues detected (BYPASS!)
Impact
These files will execute arbitrary code when loaded with joblib.load() or pickle.load(), while completely evading ModelScan detection.
Affected Versions
- ModelScan: all versions (tested on latest)
- Python: 3.9-3.11 for distutils vector, all 3.x for cProfile/timeit vectors
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐ Ask for provider support