·7 min read

Web3 Security: Smart Contract Auditing Basics

Introduction to auditing Solidity smart contracts for common vulnerabilities.

Smart Contract Auditing

Common Vulnerabilities

  1. Reentrancy
  2. Integer Overflow
  3. Access Control
  4. Front-running

Tools

  • Slither
  • Mythril
  • Foundry

Example: Reentrancy

// Vulnerable
function withdraw() public {
    uint amount = balances[msg.sender];
    (bool success,) = msg.sender.call{value: amount}("");
    balances[msg.sender] = 0; // Too late!
}