modelscan-bypass-shelve
Modelscan Bypass PoC β shelve.open
Severity: MEDIUM Impact: Arbitrary file write β shelve.open(filename) creates database files at arbitrary paths modelscan version: 0.7.6 (latest on PyPI) Result: "No issues found!" β (false negative)
Chain
shelve.open("/target/path") β creates .db files at arbitrary path
Why It Works
shelve.open is NOT in modelscan's unsafe_globals blocklist.
shelve is NOT in the blocklist. Note: shelve uses pickle internally.
Reproduction
pip install modelscan
modelscan scan -p bypass_poc.pkl
# Output: "No issues found!"
python3 -c "import pickle; pickle.loads(open('bypass_poc.pkl','rb').read())"
# Executes arbitrary code
Responsible Disclosure
This PoC is part of a responsible disclosure to ProtectAI via Huntr MFV program.
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support