Comments (1)
This is somewhat related to a previous question #2364 for background. Some detectors explore the control flow graph to gather information and visit all of their successors e.g.:
slither/slither/detectors/statements/calls_in_loop.py
Lines 28 to 55 in fdf54f6
It really depends on what you're trying to accomplish. Slither doesn't have a graph of data dependencies but you could think of each operation's result as creating an edge i.e. result = expression
creates an edge (result, operation) and the taint analysis is asking "is their a path in the graph from the source to the variable in question" (a reachability query). That is, a variable's dependencies are the transitive closure of its parents.
This recording explains some of how to write an analysis/detector
https://www.youtube.com/watch?v=sC7CHMSP3Dg&t=526s
from slither.
Related Issues (20)
- Failed to generate IR for L2UsdcBridge.onlyEOA. HOT 3
- [Bug-Candidate]: Vyper unpacking call's returned values crash Slither
- [False-Positive]: Vyper constant-states
- Record name location for declarations HOT 2
- filter `name-reused` to only run on Truffle projects
- [Bug-Candidate]: pip install fails when run against fresh install due to hexbytes version mismatch HOT 2
- API change: rename sons/father to next/predecessor in nodes
- [Bug]: MetaMorpho HOT 1
- [Bug]: detectors `unused-import`, `solc-version` and `pragma` ignore `filter_paths` config HOT 2
- Filter paths before parsing and lowering AST when possible HOT 2
- [Bug-Candidate]: Slither calls solc with non-existant option "--evm-version" HOT 2
- [Bug]: slither.core.expressions.new_contract.NewContract object's contract_name field is not str HOT 3
- [False-Positive]: `Block timestamp` and `Dangerous strict equalities` HOT 2
- add `detectors_to_include` which overrides `exclude_*`
- [Bug]: EVM printer fails for Abstract Contracts
- Monthly issue metrics report
- [Bug- Candidate]: Failed to generate IR HOT 1
- [Bug]: ERROR:root:Top level EventDefinition not supported HOT 5
- [Bug-Candidate]: Fail to scan in a project that supports both Hardhat and Foundry, keeps deleting the `build-info` folder when `slither .` is used HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slither.