slither icon indicating copy to clipboard operation
slither copied to clipboard

Static Analyzer for Solidity and Vyper

Results 308 slither issues
Sort by recently updated
recently updated
newest added

Issue https://github.com/crytic/slither/issues/529 (and its associated PRs) made me realize that we could now remove `TupleVariable` and the `Unpack` operation, and only use structures. We should investigate if that is possible.

enhancement
ir

### Describe the issue: ``` slither.exceptions.SlitherException: Function not found on IR: TMP_2759(None) = HIGH_LEVEL_CALL, dest:location_(StackTop), function:set, arguments:['orderHash_', 'REF_739'] . Node: EXPRESSION location_.set(clearedOrder[OrderHash.wrap(orderHash_)]) (contracts/orderbook/OrderBook.sol#292) Function: opOrderFundsCleared Please try compiling with a...

bug

### Describe the desired feature The new `is_dynamic()` property for types is a great idea. However, only basing this property off of type information leads to incorrect conclusions if you...

enhancement

… DOMAIN_SEPARATOR - Also implements solidity sig and return type for public/external state variables Heuristic: warn if external or public function/ state variable name collides with hash of "DOMAIN_SEPARATOR()" or...

### Describe the issue: [OpenZeppelin recently added support for `_disableInitializers` which helps with disabling implementation initialization when used in the constructor of a contract](https://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable#initializing_the_implementation_contract). Slither should be able to pick...

enhancement
good first issue

### Describe the desired feature The description on https://pypi.org/project/slither-analyzer/ is not being rendered as markdown. Add the line `long_description_content_type="text/markdown",` to the `setup.py` for it to render correctly in future releases.

enhancement
good first issue

### Describe the issue: Error when using with foundry / forge ### Code example to reproduce the issue: The code isn't public but its a pretty minimal repo: ![image](https://user-images.githubusercontent.com/32403632/181659339-6dcea9d8-a115-4b01-b711-916bcf96399c.png) ###...

Need more info

### Describe the issue: When trying to run `Slither` it fails without any concrete information but with the trace stack that I couldn't demystify. Contracts compilation is successful as well...

Need more info

### Describe the issue: Trying to get function relations on the contract of the [Fallback ethernaut challenge](https://ethernaut.openzeppelin.com/level/0x9CB391dbcD447E645D6Cb55dE6ca23164130D008) returns a result that contains an invalid function signature: `()` ```` { "constructor()":...

bug

TBD: we might want the CONTINUE node to point to the increment EXPRESSION and not STARTLOOP. See visualization [here](https://dreampuf.github.io/GraphvizOnline/#digraph%7B%0A0%5Blabel%3D%22Node%20Type%3A%20ENTRY_POINT%200%0A%22%5D%3B%0A0-%3E3%3B%0A1%5Blabel%3D%22Node%20Type%3A%20BEGIN_LOOP%201%0A%22%5D%3B%0A1-%3E4%3B%0A2%5Blabel%3D%22Node%20Type%3A%20END_LOOP%202%0A%22%5D%3B%0A3%5Blabel%3D%22Node%20Type%3A%20NEW%20VARIABLE%203%0A%0AEXPRESSION%3A%0Ai%20%3D%200%0A%0AIRs%3A%0Ai(uint256)%20%3A%3D%200(uint256)%22%5D%3B%0A3-%3E1%3B%0A4%5Blabel%3D%22Node%20Type%3A%20IF_LOOP%204%0A%0AEXPRESSION%3A%0Ai%20%3C%2010%0A%0AIRs%3A%0ATMP_0(bool)%20%3D%20i%20%3C%2010%0ACONDITION%20TMP_0%22%5D%3B%0A4-%3E5%5Blabel%3D%22True%22%5D%3B%0A4-%3E2%5Blabel%3D%22False%22%5D%3B%0A5%5Blabel%3D%22Node%20Type%3A%20IF%205%0A%0AEXPRESSION%3A%0Ai%20%3E%20100%0A%0AIRs%3A%0ATMP_1(bool)%20%3D%20i%20%3E%20100%0ACONDITION%20TMP_1%22%5D%3B%0A5-%3E6%5Blabel%3D%22True%22%5D%3B%0A5-%3E7%5Blabel%3D%22False%22%5D%3B%0A6%5Blabel%3D%22Node%20Type%3A%20BREAK%206%0A%22%5D%3B%0A6-%3E2%3B%0A7%5Blabel%3D%22Node%20Type%3A%20END_IF%207%0A%22%5D%3B%0A7-%3E8%3B%0A8%5Blabel%3D%22Node%20Type%3A%20IF%208%0A%0AEXPRESSION%3A%0Ai%20%3C%203%0A%0AIRs%3A%0ATMP_2(bool)%20%3D%20i%20%3C%203%0ACONDITION%20TMP_2%22%5D%3B%0A8-%3E9%5Blabel%3D%22True%22%5D%3B%0A8-%3E10%5Blabel%3D%22False%22%5D%3B%0A9%5Blabel%3D%22Node%20Type%3A%20CONTINUE%209%0A%22%5D%3B%0A9-%3E1%3B%0A10%5Blabel%3D%22Node%20Type%3A%20END_IF%2010%0A%22%5D%3B%0A10-%3E13%3B%0A11%5Blabel%3D%22Node%20Type%3A%20BEGIN_LOOP%2011%0A%22%5D%3B%0A11-%3E14%3B%0A12%5Blabel%3D%22Node%20Type%3A%20END_LOOP%2012%0A%22%5D%3B%0A12-%3E23%3B%0A13%5Blabel%3D%22Node%20Type%3A%20NEW%20VARIABLE%2013%0A%0AEXPRESSION%3A%0Aj%20%3D%200%0A%0AIRs%3A%0Aj(uint256)%20%3A%3D%200(uint256)%22%5D%3B%0A13-%3E11%3B%0A14%5Blabel%3D%22Node%20Type%3A%20IF_LOOP%2014%0A%0AEXPRESSION%3A%0Aj%20%3C%2010%0A%0AIRs%3A%0ATMP_3(bool)%20%3D%20j%20%3C%2010%0ACONDITION%20TMP_3%22%5D%3B%0A14-%3E15%5Blabel%3D%22True%22%5D%3B%0A14-%3E12%5Blabel%3D%22False%22%5D%3B%0A15%5Blabel%3D%22Node%20Type%3A%20IF%2015%0A%0AEXPRESSION%3A%0Aj%20%3E%2010%0A%0AIRs%3A%0ATMP_4(bool)%20%3D%20j%20%3E%2010%0ACONDITION%20TMP_4%22%5D%3B%0A15-%3E16%5Blabel%3D%22True%22%5D%3B%0A15-%3E17%5Blabel%3D%22False%22%5D%3B%0A16%5Blabel%3D%22Node%20Type%3A%20CONTINUE%2016%0A%22%5D%3B%0A16-%3E11%3B%0A17%5Blabel%3D%22Node%20Type%3A%20END_IF%2017%0A%22%5D%3B%0A17-%3E18%3B%0A18%5Blabel%3D%22Node%20Type%3A%20IF%2018%0A%0AEXPRESSION%3A%0Aj%20%3C%203%0A%0AIRs%3A%0ATMP_5(bool)%20%3D%20j%20%3C%203%0ACONDITION%20TMP_5%22%5D%3B%0A18-%3E19%5Blabel%3D%22True%22%5D%3B%0A18-%3E20%5Blabel%3D%22False%22%5D%3B%0A19%5Blabel%3D%22Node%20Type%3A%20BREAK%2019%0A%22%5D%3B%0A19-%3E12%3B%0A20%5Blabel%3D%22Node%20Type%3A%20END_IF%2020%0A%22%5D%3B%0A20-%3E21%3B%0A21%5Blabel%3D%22Node%20Type%3A%20EXPRESSION%2021%0A%0AEXPRESSION%3A%0Aj%20-%3D%201%0A%0AIRs%3A%0Aj(uint256)%20%3D%20j%20(c)-%201%22%5D%3B%0A21-%3E22%3B%0A22%5Blabel%3D%22Node%20Type%3A%20EXPRESSION%2022%0A%0AEXPRESSION%3A%0Aj%20%2B%2B%0A%0AIRs%3A%0ATMP_6(uint256)%20%3A%3D%20j(uint256)%0Aj(uint256)%20%3D%20j%20(c)%2B%201%22%5D%3B%0A22-%3E14%3B%0A23%5Blabel%3D%22Node%20Type%3A%20EXPRESSION%2023%0A%0AEXPRESSION%3A%0Ai%20%2B%2B%0A%0AIRs%3A%0ATMP_7(uint256)%20%3A%3D%20i(uint256)%0Ai(uint256)%20%3D%20i%20(c)%2B%201%22%5D%3B%0A23-%3E4%3B%0A%7D%0A). Will open an issue and fix in a follow-on PR _Originally...