-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
Jotting down a list of changes that could improve future versions of Slither and its framework
- Get rid of
HighLevelCall<-> state variable/function footgun (missing instance check forFunctionand accessingir.functioncausingAttributeError) fix(cache-array-length): handle whenHighLevelCallis aStateVariable#2019 - Get rid of
InternalCall<->SolidityCallsharingslither/slither/core/cfg/node.py
Line 899 in 2c792b2
# TODO: consider removing dependancy of solidity_call to internal_call - Get rid of late lookup for SolidityImportPlaceholder
- Get rid of late custom error signature lookup
- Get rid of ternary conversion or rework it altogether
- Rework file/detector filtering from scratch (Filter paths before parsing and lowering AST when possible #2421, Filtering #2428)
- Rename SlitherCompilationUnitSolc to SolidityCompilationUnit
- Investigate using iterator/generator over for loop or other API's for detectors like refactor
AbstractDetectorto use the visitor pattern #1751 - Need to have a way for detector to show call path e.g. call in loop detector ([Bug]:
calls-loopdoes not report the context of the loop #1468) - Need to show origin of taint and flow ([False-Positive]:
Block timestampandDangerous strict equalities#2425 (comment)) - Retain data flow as an actual graph e.g. we don't have a straightforward way to get the operations that created a variable like but maybe we can come up with an intuitive way to get this info and add it to the public API.