smart-contract-vulnerabilities icon indicating copy to clipboard operation
smart-contract-vulnerabilities copied to clipboard

A collection of smart contract vulnerabilities along with prevention methods

Smart Contract Vulnerabilities

  • Insufficient Gas Griefing
  • Reentrancy
  • Integer Overflow and Underflow
  • Timestamp Dependence
  • Authorization Through tx.origin
  • Floating Pragma
  • Outdated Compiler Version
  • Unsafe Low-Level Call
  • Unchecked Return Value
  • Unsupported Opcodes
  • Uninitialized Storage Pointer
  • Assert Violation
  • Use of Deprecated Functions
  • Delegatecall to Untrusted Callee
  • Signature Malleability
  • Incorrect Constructor Name
  • Shadowing State Variables
  • Weak Sources of Randomness from Chain Attributes
  • Missing Protection against Signature Replay Attacks
  • Requirement Validation
  • Write to Arbitrary Storage Location
  • Hash Collision when using abi.encodePacked() with Multiple Variable-Length Arguments
  • Incorrect Inheritance Order
  • Presence of Unused Variables
  • Unencrypted Private Data On-Chain
  • Inadherence to Standards
  • Asserting Contract from Code Size
  • Transaction-Ordering Dependence
  • DoS with Block Gas Limit
  • DoS with (Unexpected) revert
  • Unexpected ecrecover null address
  • Default Visibility
  • Insufficient Access Control
  • Off-By-One
  • Lack of Precision
  • Unbounded Return Data
  • Using msg.value in a Loop
  • Deleting a Mapping Within a Struct