Last checked 3 Oct, 16:13 UTC

How it works.

Three things to try. Each one takes ten seconds, and each one is exactly what Refledger does.

1

A tag is a pointer. Go on, move it.

This is the whole attack. It takes one second, and nothing in your repository changes.

Your next CI run

The ledger
2

We watch for it, every five minutes.

Instrument clock, UTC
3

Every move is signed and chained.

Each entry includes the hash of the one before it. Change one byte anywhere, and every entry after it stops matching. That is why nobody, including us, can quietly rewrite the record.

4

This page works the same way.

Look at the margin. Each section above is hashed with SHA-256 in your browser and chained to the one before. Edit any word and see where the chain breaks.

What we watch, and why

  • Heavily used official actions from GitHub, AWS, Azure and others.
  • Actions involved in real incidents.
  • Everything those actions pull in themselves, at every tag.
  • One canary of our own, moved on purpose to test the instrument.

Don't trust us. Check us.

Replay the whole ledger in your browser, recompute every hash, and check every signature.

Verify the ledger