Denial Of Service
What it detects
The detector looks for functions that can be locked or reverted by malicious behavior, such as unbounded loops, unprotected external calls, or reliance on failing transfers. These issues can freeze key operations in the contract.
Typical symptoms
- Calls revert due to external dependency failures
- Functions consume excessive gas and never complete
Solidity snippet (v0.8.25)
pragma solidity ^0.8.25;
contract DosExample {
mapping(address => uint256) public balances;
function withdraw() external {
// External call can revert and block withdrawal
(bool ok, ) = msg.sender.call{value: balances[msg.sender]}("");
require(ok, "send failed");
}
}
Why it matters on EVM
Denial-of-service vulnerabilities make contracts unusable and can trap funds indefinitely, undermining trust in the system.