How do real smart contract audits work in practice? What do auditors check before Slither, Mythril, Foundry fuzzing, or Echidna?
I’m trying to understand how real smart contract audits actually work once a team hands over production Solidity code for review.
A lot of beginner content still makes audits sound like “run Slither, look for reentrancy, maybe fuzz a bit,” but that feels too shallow for real protocols where money movement, upgradeability, privileged roles, oracle dependencies, and external integrations all increase risk.
What do strong auditors usually check first before touching tools? Do they start by understanding protocol intent, trust assumptions, invariants, admin powers, upgrade paths, and high-value functions? Or is the first pass more about tracing state transitions and identifying where user funds or control can break under edge cases?
I’m also trying to place tools properly in the workflow. Where do Slither, Mythril, Foundry fuzzing, and Echidna genuinely help in a real audit without creating false confidence? Are they more useful for validating manual reasoning, surfacing attack paths faster, or testing assumptions after the architecture and threat model are already clear?
For people who’ve done serious Solidity reviews, what separates a real audit workflow from a beginner “tool run + checklist” approach? I want to understand how experienced auditors think, not just memorize tool names for interviews.