Smart Contract Security Audit Checklist

Self-audit a Solidity contract against common vulnerability classes

Ad placeholder (leaderboard)

Most smart-contract exploits fall into a small set of well-known vulnerability classes. This checklist lets a developer self-audit a Solidity contract against those classes — reentrancy, access control, oracle manipulation, overflow, front-running, and more — before commissioning a formal audit. Items map to the SWC Registry and common Trail of Bits and ConsenSys Diligence findings.

How it works

Each control is marked OK, Issue, or N/A and carries a severity. The score counts only the applicable controls, and flagged issues are grouped so the most dangerous classes surface first:

applicable = total controls − (controls marked N/A)
score      = OK controls / applicable × 100
issues     → grouped by severity: critical → high → medium → low

A critical issue (reentrancy, broken access control, unprotected selfdestruct, delegatecall, or proxy init) triggers an explicit do-not-deploy warning regardless of the overall percentage.

Notes and example

A lending contract that reads its collateral price from a DEX pool’s spot reserves will pass most controls but flags a high-severity oracle issue, because a flash loan can warp that price within one transaction and trigger bad liquidations. The fix is a time-weighted average or a Chainlink feed. Treat the checklist as the floor: even a fully green run should still go through Slither static analysis, Echidna fuzzing, and an independent professional audit before any mainnet deployment with real value at stake. Everything is computed locally in your browser.

Ad placeholder (rectangle)