Lion Cipher Lab

Sign your Git commits so others can prove it was you

Why it matters

By default Git trusts whatever name and email you type into its config — it never checks them — so anyone can make a commit that claims to be from you, or from a maintainer of a project everyone depends on. That is a real supply-chain problem: attackers have pushed code under trusted-looking identities. Signing your commits attaches cryptographic proof that they came from you, which is what turns the "Verified" badge on. For anyone writing or reviewing code, being able to prove and check authorship is a baseline habit of secure development.

What you'll learn

Steps in this lab

  1. The problem: Git believes whatever name you type
  2. The idea of signing, in plain terms
  3. Open a terminal and make (or reuse) an SSH key
  4. Tell Git to sign your commits with that SSH key
  5. Register the public key with GitHub as a signing key
  6. Make a signed commit in your own repo
  7. Verify it — locally and with the badge
  8. What signing does not do — and the alternative

Open the full interactive lab →