You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

CoreML .mlmodel MFV PoC β€” Authorized Security Research

This repository contains a proof-of-concept for an authorized bug bounty submission.

Authorization Statement

This is authorized security research conducted under the huntr.com / Protect AI Model File Vulnerability (MFV) bug bounty program. Protect AI publicly invites researchers to find vulnerabilities in ML security tooling. All proof-of-concept work runs locally. This is responsible disclosure β€” findings are reported to vendors for remediation.

Vulnerability Summary

  • Format: Apple CoreML .mlmodel
  • Scanner Bypass: picklescan 1.0.4 + modelscan 0.8.8 (DUAL BYPASS, all 4 scan modes)
  • Impact: Arbitrary Code Execution when malicious .mlmodel file is loaded
  • Technique: bzip2-compressed joblib payload β€” bzip2 header BZh9 crashes picklescan's pickle parser before any dangerous globals are detected

How It Works

  1. .mlmodel extension is absent from picklescan's and modelscan's extension lists
  2. A bzip2-compressed joblib file is renamed to .mlmodel
  3. Both scanners report clean (all modes: direct scan + directory scan)
  4. joblib.load() transparently decompresses and deserializes β†’ payload executes

Scanner Results

picklescan 1.0.4 -p malicious_model_final.mlmodel  β†’  Infected: 0, Dangerous globals: 0
picklescan 1.0.4 -p ./                              β†’  Scanned: 0
modelscan  0.8.8 -p malicious_model_final.mlmodel  β†’  No issues found!
modelscan  0.8.8 -p ./                              β†’  No issues found!

Files

  • malicious_model_final.mlmodel β€” bzip2-compressed joblib payload with .mlmodel extension
  • poc-mlmodel.py β€” reproduction script

Reproduction

pip install joblib picklescan modelscan
python3 poc-mlmodel.py
picklescan -p malicious_model_final.mlmodel
modelscan -p malicious_model_final.mlmodel
python3 -c "import joblib; print('BEFORE'); joblib.load('malicious_model_final.mlmodel'); print('AFTER')"
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support