Here are three of the most critical and common DeFi smart contract vulnerabilities, along with specific detection methods.
1. Reentrancy Vulnerability
Description:
Reentrancy occurs when a contract calls an external contract (e.g., to send ETH) before it has finished updating its internal state variables. A malicious external contract can then re-enter the original function, exploiting the stale state to drain funds or manipulate logic.
Specific Example:
A withdraw() function that sends ETH to the caller before reducing the caller’s balance in the contract’s ledger.
How to Detect:
-
Static Analysis Tools: Use tools like Slither, Mythril, or Echidna to flag functions that perform external calls (
.call{value: ...}) before state changes.-
Slither rule:
reentrancy-ethorreentrancy-benign.
-
Slither rule:
- **Code Review
Top comments (0)