Lion Cipher Lab

Sign and verify an ML model with Sigstore

Why it matters

You download models the same way you download code: an opaque file from a hub, trusted on faith. But the classic Python pickle format runs arbitrary code the instant you load it, so a poisoned model file is remote code execution the moment torch.load touches it -- and even a safe file gives you no proof of WHO published it or that it was not swapped in transit. Signing a model artifact with Sigstore ties it to a real published identity and a public tamper-evident log, so a load-time policy can refuse anything unsigned or signed by the wrong person. This is the seatbelt for the ML supply…

What you'll learn

Steps in this lab

  1. The threat: a model file is code you run on faith
  2. Set up a clean workspace
  3. Save a model the SAFE way: safetensors
  4. What keyless signing actually is (define every term)
  5. Sign the model file (keyless, via your identity)
  6. Verify against the EXPECTED identity (the success case)
  7. Break it on purpose #1: flip a byte
  8. Break it on purpose #2: demand the wrong identity
  9. From one file to a whole model: transparency & provenance
  10. The judgment: a signature is not a safety certificate

Open the full interactive lab →