Skip to main content
Version: Next

Detectors Overview

Built-in Detectors

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

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