Torch Package Triggered Output Backdoor
Defensive validation / triage only.
This PoC demonstrates a crafted torch.package model that behaves identically to
its clean control on non-trigger inputs, but silently flips to the attacker-chosen
label when the trigger vector [0, 0, 0, 0] is used during inference.
Files:
model/clean_trigger_model.pt: clean control packagemodel/evil_trigger_backdoor.pt: crafted package with the embedded backdoormodel/build-meta.json: artifact hashes and expected trigger behaviorreproduce/replay_torch_package_backdoor.py: replay script for clean vs crafted
Quick repro:
python reproduce/replay_torch_package_backdoor.py \
--clean model/clean_trigger_model.pt \
--crafted model/evil_trigger_backdoor.pt
Expected differential:
- non-trigger labels remain
[0, 1, 1, 0]for both artifacts - clean trigger label is
0 - crafted trigger label flips to
1
Tested with:
torch 2.13.0+cu130modelscan 0.8.8python 3.12
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support