|
Download README.md from AM-Core/modelscan-cloudpickle-dill-false-negative-poc: direct link, hf CLI and curl.
- Browser
- Download file 1.63 kB
-
https://huggingface.co/AM-Core/modelscan-cloudpickle-dill-false-negative-poc/resolve/main/README.md
- Command line
-
hf download hf://AM-Core/modelscan-cloudpickle-dill-false-negative-poc/README.md
-
curl -L -o README.md https://huggingface.co/AM-Core/modelscan-cloudpickle-dill-false-negative-poc/resolve/main/README.md
1.63 kB
ModelScan v0.8.8 cloudpickle/dill scanner false negative PoC
Summary
ModelScan v0.8.8 reports no issues for benign canary artifacts serialized with cloudpickle and dill, while controlled local loading of the same artifacts creates a benign marker file.
The same canary pattern is detected when serialized with standard pickle and joblib, suggesting a scanner coverage gap for cloudpickle/dill artifacts.
Files
canary_cloudpickle.pkl— benign cloudpickle canarycanary_dill.pkl— benign dill canaryverify_cloudpickle_dill_load.py— controlled local verification scriptmodelscan_cloudpickle.txt— ModelScan output for cloudpickle artifactmodelscan_dill.txt— ModelScan output for dill artifactcontrolled_load.txt— proof that controlled load creates markerenv.txt— environment versionssha256.txt— artifact hashes
Reproduction
Run in a local test environment:
python -m venv .venv
source .venv/bin/activate
pip install modelscan==0.8.8 cloudpickle==3.1.2 dill==0.4.1
modelscan -p canary_cloudpickle.pkl
modelscan -p canary_dill.pkl
python verify_cloudpickle_dill_load.py
Expected result
ModelScan reports no issues for both canary_cloudpickle.pkl and canary_dill.pkl.
Controlled loading reports:
exists_after=True
marker_content=serialization canary was loaded
Impact
A cloudpickle or dill model artifact may pass ModelScan with zero findings while still triggering behavior when loaded by an application using cloudpickle.load() or dill.load().
This PoC is benign. It writes a local marker file only.