Skip to main content

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.