Here are three of the most common and damaging DeFi smart contract vulnerabilities, along with specific methods for detecting them.
1. Reentrancy
Vulnerability Description:
Reentrancy occurs when a smart contract calls an external contract (or itself) before updating its own state. If the external contract is malicious, it can re-enter the vulnerable function before the state change is complete, allowing the attacker to drain funds multiple times.
Specific Example:
A withdraw() function sends ETH to the user before updating the user’s balance in the contract’s internal mapping.
How to Detect It:
-
Static Analysis Tools:
- Use tools like Slither (by Trail of Bits) or Mythril.
- Look for the warning:
reentrancy-ethorreentrancy-read. - Example Slither output: `Contract X has reentrancy: withdraw()
Top comments (0)