Control Flow & Misc
This section contains detectors that identify control flow vulnerabilities and miscellaneous contract logic issues. These patterns often arise from developer oversight, language subtleties, or unintended interactions between contract components.
Vulnerabilities in this category can lead to serious consequences such as reentrancy, denial of service, privilege escalation, or contract destruction — even when the contract’s arithmetic is correct and well-tested.
Detectors in This Category
Some of the key issues covered include:
-
Control Flow Risks:
- Reentrancy
- Unbounded loops
- Unsafe use of
delegatecall
,selfdestruct
, and external calls - Denial-of-service vectors
-
Logic and Validation Errors:
- Incorrect function visibility
- Improper admin checks
- Missing validation fall-through
- Unchecked return values
-
Code Structure and Maintenance Hazards:
- Conflicting inheritance hierarchies
- Misuse of low-level opcodes like
create2
- Use of raw
assembly
- Typographical and encoding-related bugs (e.g., unsafe Unicode characters)
These detectors help ensure that contract logic executes as intended, remains secure against sophisticated attacker interactions, and avoids subtle pitfalls introduced through poor design or incorrect assumptions.
Browse the detectors to learn about each pattern in detail.