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