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 senior auditors approach production Solidity code when an audit starts.
A lot of beginner guides make auditing sound like: "Run Slither $\rightarrow$ check for basic reentrancy $\rightarrow$ throw a basic fuzzer at it." But that feels totally shallow for protocols with complex flash-loan vectors, oracle reliance, or custom access controls.
What do strong auditors actually check first before firing up automated tools? Do you start with threat modeling and invariant definition, or by manually tracing state transitions across core value paths?
Where do tools like Slither, Mythril, or Echidna fit in without creating false confidence? Are they mostly for sanity-checking manual reasoning, or do you use them earlier in your workflow?