Downloads · 30 days
0
aslein1413/poc-hickle-safe-bypass-rce
poc-hickle-safe-bypass-rce is a machine learning model from aslein1413. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
hickle.load(file, safe=True) documents safe as the control that disables automatic depickling of untrusted files. On any hickle 4.x+ file that control is silently ignored, so a malicious .h5 runs its pickled payload e…
Downloads · 30 days
0
Access
Public
Updated Jul 16, 2026
Repo size
6.3 KB
Likes
0
Public
Click a slice to open those files.
.h56.3 KB · 67%
From the Hugging Face model README
safe=True does not stop code execution (.h5)hickle.load(file, safe=True) documents safe as the control that disables automatic
depickling of untrusted files. On any hickle 4.x+ file that control is silently ignored,
so a malicious .h5 runs its pickled payload even when you explicitly ask for a safe load.
This is a documented security option that does nothing, not just "pickle is unsafe".
poc_hickle_safe.h5 — a hickle file carrying a pickled __reduce__ payload (id).verify.py — loads it with hickle.load("poc_hickle_safe.h5", safe=True).pip install hickle
python verify.py
# marker after : True
# uid=0(root) ...
# HICKLE_SAFE_TRUE_BYPASS
Confirmed on a clean python:3.12-slim container with stock hickle 5.0.3.
Callers who followed the docs and passed safe=True believe they are protected; they are
not. Loading an untrusted .h5 runs attacker code as the host process. ModelScan does not
recognize hickle's HDF5 layout, so the file also scans clean.