Use Of Assembly
What it detects
Assembly provides low-level access but bypasses many of Solidity's safety checks. This detector identifies code that uses the assembly
keyword so auditors can review it carefully for mistakes or malicious logic.
Typical symptoms
assembly {}
blocks present in functions- Direct manipulation of storage or execution context
Solidity snippet (v0.8.25)
pragma solidity ^0.8.25;
contract ASM {
function raw(address a) external view returns (uint256 size) {
assembly {
size := extcodesize(a) // direct opcode usage
}
}
}
Why it matters on EVM
Assembly is powerful but dangerous; misusing it can lead to severe bugs that are hard to detect with standard tooling.