01 · Section
Re-entrancy never really left
Three of the year's biggest DeFi exploits were re-entrancy variants — read-only re-entrancy, cross-function re-entrancy, and ERC-777 hooks abused in token vaults. The classic Checks-Effects-Interactions pattern is necessary but not sufficient.
Use OpenZeppelin's ReentrancyGuard on every external state-changing function as a baseline, and audit every external call for read-only re-entrancy risk against view functions other protocols may rely on.
02 · Section
Price oracles are still the single largest attack surface
Single-DEX spot price oracles continue to be drained via flash loans. The fix is well known — use Chainlink or a TWAP across multiple deep liquidity sources — yet new protocols ship single-source oracles every quarter.
If your protocol's solvency depends on a price, that price must come from at least two independent sources, with a circuit breaker if they diverge beyond a threshold.
03 · Section
EIP-712 signatures: replay, domain and nonce
Signature-based authorisations (permits, meta-transactions, gasless approvals) need three defences: a unique domain separator that includes chainId, a nonce that increments per signer, and an expiry timestamp.
We have seen production contracts ship with two of the three. One missing dimension is enough to enable cross-chain replay, infinite reuse, or stale-signature exploitation.
04 · Section
Audit checklist additions for 2026
In addition to the standard sweep, our internal checklist now flags: read-only re-entrancy against every view function, oracle source diversity, EIP-712 domain completeness, upgrade-path admin keys behind a timelock and multisig, and any token transfer that could call back into the caller (ERC-777, ERC-1363).
Key takeaways
- Apply ReentrancyGuard plus CEI; audit view functions for read-only re-entrancy.
- Never trust a single-source price oracle for solvency-critical logic.
- Every EIP-712 signature needs chainId, nonce and expiry.
- Put upgrade admin keys behind a timelock + multisig before mainnet.
Tags
Written by
Hassan Ali
9 min read · Posted in Blockchain