Skip to main content
Version: Next

Detectors Overview

Built-in Detectors

#DetectorSeverityCategoryRequires SouffléEnabled by default
1ArgCopyMutationHighSecurity
2AsmIsUsedInfoSecurity
3BranchDuplicateHighSecurity
4CellBoundsCriticalSecurity
5ConstantAddressInfoSecurity
6DivideBeforeMultiplyHighSecurity
7DumpIsUsedInfoSecurity
8DuplicatedConditionHighSecurity
9EnsurePrgSeedMediumSecurity
10EtaLikeSimplificationsLowOptimization
11ExitCodeUsageHighSecurity
12FalseConditionMediumSecurity
13FieldDoubleInitMediumOptimization
14ImplicitOpcodeInfoBest Practices
15InheritedStateMutationLowBest Practices
16NeverAccessedVariablesMediumSecurity
17OptimalMathFunctionLowOptimization
18PreferAugmentedAssignInfoBest Practices
19PreferBinaryReceiverLowOptimization
20PreferSenderFunctionLowOptimization
21PreferredStdlibApiInfoOptimization, Security
22ReadOnlyVariablesMediumSecurity
23SendInLoopMediumSecurity
24ShortCircuitConditionLowOptimization
25StateMutationInGetterInfoSecurity
26StringReceiversOverlapHighSecurity
27SuboptimalCellOperationMediumOptimization
28SuboptimalSendMediumOptimization
29SuspiciousLoopMediumSecurity
30SuspiciousMessageModeLow—MediumSecurity
31UnboundLoopHighSecurity
32UnboundMapLowSecurity
33UnprotectedCallHighSecurity
34UnusedExpressionResultMediumSecurity
35UnusedOptionalLowOptimization
36ZeroAddressLowSecurity

Some of the detectors require Soufflé to be installed. If no Soufflé installation is found, these detectors won't be executed.

A few detectors are optional and aimed at auditors to help uncover subtle issues in the source code. To enable all detectors, use the --all-detectors option. You can find a full list of configuration options on the configuration page.

Each detector targets a specific type of problem in your code. Click on the detector name to learn more.

Detector Severities and Categories

Severity Levels

Findings are classified according to their impact severity:

SeverityDescription
InfoInformational findings that highlight potential improvements
LowMinor issues with limited impact
MediumSignificant issues that should be addressed
HighSerious vulnerabilities requiring immediate attention
CriticalSevere vulnerabilities with catastrophic potential impact

Categories

Findings are organized into the following categories:

CategoryDescription
SecurityAny possible unintended behavior leading to bugs or vulnerabilities
OptimizationCode improvements for gas-optimizations
Best PracticesGeneral code quality advices