Downloads · 30 days
0
captainarp/mlflow-compressed-pickle-modelscan-bypass-poc
mlflow-compressed-pickle-modelscan-bypass-poc is a machine learning model from captainarp. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for mlflow. The card lists the license as mit.
This is a harmless proof-of-concept for an MLflow model-file scanner gap.
Downloads · 30 days
0
Access
Public
Updated Jul 3, 2026
Repo size
272 B
Likes
0
Public
Click a slice to open those files.
.py5.5 KB · 38%
From the Hugging Face model README
This is a harmless proof-of-concept for an MLflow model-file scanner gap.
The MLmodel metadata points MLflow's python_function flavor at
python_model.pkl.gz and declares python_model_compression: gzip.
MLflow decompresses that file and passes it to cloudpickle.load() when
unsafe pickle deserialization is explicitly enabled.
ModelScan 0.8.8 does not inspect the compressed pickle because it only sees
the final .gz suffix, so the artifact is skipped and no issue is reported.
The payload is non-destructive. It only writes
mlflow_compressed_pickle_marker.txt containing
MLFLOW_COMPRESSED_PICKLE_BYPASS.
pip install -r requirements.txt
python verify_poc.py --model-dir .
Default MLflow loading blocks pickle deserialization. The verification script
then sets MLFLOW_ALLOW_PICKLE_DESERIALIZATION=true to demonstrate the unsafe
load path and marker creation.