Weights that run code are refused

Python pickles (.bin, .pt, .pth, .ckpt, .pkl) run whatever they hold when
loaded, as the engine's user, on the node; that is how the malicious models
found on Hugging Face work. The node refuses such a source, or a mirror set
holding one, before fetching anything. A model added with one, or given
one, is refused, while one already in the catalog still loads and is
refused by its node with the same words. vLLM and SGLang downloading a
model by its id get --load-format safetensors. The mirror page marks the
file. allow_pickle: true on a model lets it through on purpose, carried to
the node in EngineProfile.allow_pickle.

BACKLOG M lists the rest: checksums against Hugging Face on every path,
its own scan, trusted publishers, engines without the internet, an eval
before an untrusted model serves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Ilker ManapandClaude Opus 5.5 committed 2026-10-25 23:17:22 +01:00
1 parent 6752938e6d
commit 4466d2d15a
31 files changed
+447 -44

No files matched your search

+8
View File
@@ -9930,6 +9930,10 @@
"type": "string",
"description": "Source is the weights path or a HuggingFace id."
},
"allow_pickle": {
"type": "boolean",
"description": "AllowPickle lets the nodes fetch this model's weights, or its adapters', in a pickle format (.bin, .pt, .pth, .ckpt), which run code as they are loaded. Off, such a source is refused when the model is added and by the node before it fetches anything. For a model that has no safetensors or GGUF form and whose files were checked."
},
"profiles": {
"type": "array",
"items": {
@@ -10309,6 +10313,10 @@
"type": "string",
"description": "HFRepo is the repository its node loads the weights by name from."
},
"allow_pickle": {
"type": "boolean",
"description": "AllowPickle is the member model's allow_pickle."
},
"workflow": {
"type": "string",
"description": "Workflow and Checkpoint are what a request for it is sent."