Snitch
← back to blog
·Snitch Team

Diff the bytecode, or miss the upgrade that drains you

A contract you audited is not the contract that runs today. Proxy patterns mean the logic can change with one admin transaction, and unless you diff the new bytecode against the old, the change is invisible until it executes.

What a diff catches

A new mint(path), a transfer-owner call added to a routine function, a self-destruct branch that only fires under a rare condition. These are small edits with large consequences, and bytecode-level diffing surfaces them the moment the implementation changes.

Why a risk score is not enough

A number tells you something might be wrong. A diff tells you what changed, on which line, and what it now does. We prefer the second, because it is the one you can act on without taking our word for it.