Cyber Risks · Trail of Bits Blog

Rattle – an Ethereum EVM binary analysis framework

Summary: Trail of Bits released Rattle, an EVM binary static analysis framework that converts the Ethereum Virtual Machine's stack machine into an infinite-register SSA form, removing DUPs, SWAPs, PUSHs, and POPs. On the King of Ether contract, Rattle cut the numberOfMonarchs() function from 43 instructions to 12, eliminating 72% of instructions and an entire basic block, and recovered the function's storage location and ABI.

Bottom line: Most smart contracts have no verified source code, yet people trust them to hold cryptocurrency, and reviewing the compiled EVM directly is difficult because a stack machine offers no registers, local variables, or arguments to track. Rattle's 60%+ instruction reduction gives organizations a way to read the contracts they interact with and establish an informed degree of trust in their security.

Read the original at Trail of Bits Blog ↗