1. Introduction
  2. Smart Contract Vulnerabilities
  3. Authorization Through tx.origin
  4. Insufficient Access Control
  5. Delegatecall to Untrusted Callee
  6. Signature Malleability
  7. Missing Protection against Signature Replay Attacks
  8. Integer Overflow and Underflow
  9. Off-By-One
  10. Lack of Precision
  11. Reentrancy
  12. DoS with Block Gas Limit
  13. DoS with (Unexpected) revert
  14. Using msg.value in a Loop
  15. Transaction-Ordering Dependence
  16. Insufficient Gas Griefing
  17. Unchecked Return Value
  18. Write to Arbitrary Storage Location
  19. Unbounded Return Data
  20. Uninitialized Storage Pointer
  21. Unexpected ecrecover null address
  22. Weak Sources of Randomness from Chain Attributes
  23. Hash Collision when using abi.encodePacked() with Multiple Variable-Length Arguments
  24. Timestamp Dependence
  25. Unsafe Low-Level Call
  26. Unsupported Opcodes
  27. Unencrypted Private Data On-Chain
  28. Asserting Contract from Code Size
  29. Floating Pragma
  30. Outdated Compiler Version
  31. Use of Deprecated Functions
  32. Incorrect Constructor Name
  33. Shadowing State Variables
  34. Incorrect Inheritance Order
  35. Presence of Unused Variables
  36. Default Visibility
  37. Inadherence to Standards
  38. Assert Violation
  39. Requirement Violation