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
21PreferSenderFunctionLowOptimization
22PreferredStdlibApiInfo—LowOptimization, Security
23ReadOnlyVariablesMediumSecurity
24RedundantBooleanExpressionMediumSecurity
25SendInLoopMediumSecurity
26ShortCircuitConditionLowOptimization
27StateMutationInGetterInfoSecurity
28StringReceiversOverlapHighSecurity
29SuboptimalCellOperationMediumOptimization
30SuboptimalSendMediumOptimization
31SuspiciousLoopMediumSecurity
32SuspiciousMessageModeLow—MediumSecurity
33TransitiveImportMediumBest Practices
34UnboundLoopHighSecurity
35UnboundMapLowSecurity
36UnprotectedCallHighSecurity
37UnusedExpressionResultMediumSecurity
38UnusedMethodArgumentLowOptimization
39UnusedOptionalLowOptimization
40ZeroAddressLowSecurity

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